mirror of
https://github.com/Ikatono/vhdlFizzBuzz.git
synced 2025-10-29 04:56:12 -05:00
48 lines
1.7 KiB
VHDL
48 lines
1.7 KiB
VHDL
library ieee;
|
|
use ieee.std_logic_1164.all;
|
|
|
|
entity buzzer is
|
|
port( i: in std_logic_vector(7 downto 0);
|
|
o: out std_logic
|
|
);
|
|
end buzzer;
|
|
|
|
--reduced with Quine-McCluskey
|
|
--inputs outside 1-100 are don't-cares
|
|
architecture behav of buzzer is
|
|
signal A, B, C, D, E, F, G: std_logic;
|
|
signal T: std_logic_vector(19 downto 0);
|
|
begin
|
|
A <= i(0);
|
|
B <= i(1);
|
|
C <= i(2);
|
|
D <= i(3);
|
|
E <= i(4);
|
|
F <= i(5);
|
|
G <= i(6);
|
|
|
|
o <= T(0) or T(1) or T(2) or T(3) or T(4) or T(5) or T(6) or T(7) or T(8) or T(9) or T(10) or T(11) or T(12) or T(13) or T(14) or T(15) or T(16) or T(17) or T(18) or T(19);
|
|
|
|
T(0) <= A and not B and C and not D and not E and not F and not G;
|
|
T(1) <= not A and B and not C and D and not E and not F and not G;
|
|
T(2) <= A and B and C and D and not E and not F and not G;
|
|
T(3) <= not A and not B and C and not D and E and not F and not G;
|
|
T(4) <= A and not B and not C and D and E and not F and not G;
|
|
T(5) <= not A and B and C and D and E and not F and not G;
|
|
T(6) <= A and B and not C and not D and not E and F and not G;
|
|
T(7) <= not A and not B and not C and D and not E and F;
|
|
T(8) <= A and not B and C and D and not E and F;
|
|
T(9) <= not A and B and not C and not D and E and F;
|
|
T(10) <= A and B and C and not D and E and F;
|
|
T(11) <= not A and not B and C and D and E and F;
|
|
T(12) <= A and not B and not C and not D and not E and not F and G;
|
|
T(13) <= not A and B and C and not D and not E and G;
|
|
T(14) <= A and B and not C and D and not E and G;
|
|
T(15) <= not A and not B and not C and not D and E and G;
|
|
T(16) <= A and not B and C and not D and E and G;
|
|
T(17) <= not A and B and not C and D and E and G;
|
|
T(18) <= A and B and C and D and E and G;
|
|
T(19) <= C and F and G;
|
|
|
|
end behav;
|