b a x b a y 0 0 0 0 0 1 0 1 0 0 1 1 0 1 2 0 1 0 0 0 1 3 0 1 1 1 0 1 4 1 0 0 0 1 1 5 1 0 1 1 1 1 6 1 1 0 1 0 1 7 1 1 1 1 1 1 b a x b 0 0 0 0 0 1 0 0 1 1 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 b a x a 0 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 0 1 1 0 4 1 0 0 1 5 1 0 1 1 6 1 1 0 0 7 1 1 1 1 b a x y 0 0 0 0 0 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 1 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 b a x b 1 0 0 1 1 3 0 1 1 1 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 b a x a 0 0 0 0 1 4 1 0 0 1 5 1 0 1 1 7 1 1 1 1 b a x y 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 1 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 b a x b Gruppe 1: 1 0 0 1 1 Grupp 2: 3 0 1 1 1 5 1 0 1 1 6 1 1 0 1 Gruppe 3: 7 1 1 1 1 b a x a Gruppe 0: 0 0 0 0 1 Gruppe 1: 4 1 0 0 1 Gruppe 2: 5 1 0 1 1 Gruppe 3: 7 1 1 1 1 b a x y Gruppe 1: 1 0 0 1 1 2 0 1 0 1 4 1 0 0 1 Gruppe 2: 3 0 1 1 1 5 1 0 1 1 6 1 1 0 1 Gruppe 3: 7 1 1 1 1 b a x b Gruppe 1: 1 0 0 1 1 Grupp 2: 3 0 1 1 1 5 1 0 1 1 6 1 1 0 1 Gruppe 3: 7 1 1 1 1 1:3 0 - 1 1:5 - 0 1 3:7 - 1 1 5:7 1 - 1 6:7 1 1 - 6:7 1 1 - 1:3 0 - 1 5:7 1 - 1 1:5 - 0 1 3:7 - 1 1 6:7 1 1 - 1:3:5:7 - - 1 1:5:3:7 - - 1 b <= (b and a) or (x); b <= not ( (not b or not a) and (not x) ); b a x a Gruppe 0: 0 0 0 0 1 Gruppe 1: 4 1 0 0 1 Gruppe 2: 5 1 0 1 1 Gruppe 3: 7 1 1 1 1 0:4 - 0 0 4:5 1 0 - 5:7 1 - 1 0 4 5 7 0:4 * * 4:5 * * 5:7 * * 0 4 5 7 0:4 * * 5:7 * * a <= (not a and not x) or (b and x); a <= not ( (a or x) and (not b or not x) ); b a x y Gruppe 1: 1 0 0 1 1 2 0 1 0 1 4 1 0 0 1 Gruppe 2: 3 0 1 1 1 5 1 0 1 1 6 1 1 0 1 Gruppe 3: 7 1 1 1 1 1:3 0 - 1 1:5 - 0 1 2:3 0 1 - 2:6 - 1 0 4:5 1 0 - 4:6 1 - 0 3:7 - 1 1 5:7 1 - 1 6:7 1 1 - Gruppe 1: 1:3 0 - 1 4:6 1 - 0 Gruppe 2: 5:7 1 - 1 1:3:5:7 - - 1 4:6:5:7 1 - - Gruppe 1: 1:5 - 0 1 2:6 - 1 0 Gruppe 2: 3:7 - 1 1 1:5:3:7 - - 1 2:6:37 - 1 - Gruppe 1: 4:5 1 0 - 2:3 0 1 - Gruppe 2: 6:7 1 1 - 4:5:6:7 1 - - 2:3:6:7 - 1 - 1:3:5:7 - - 1 2:6:3:7 - 1 - 4:5:6:7 1 - - 1 2 3 4 5 6 7 1:3:5:7 * * * * 2:6:3:7 * * * * 4:5:6:7 * * * * y <= (x or a or b); y <= not ( (not x) and (not a) and (not b) ); b <= (b and a) or (x); a <= (not a and not x) or (b and x); y <= (x or a or b);
library ieee; use ieee.std_logic_1164.all; entity meinautomat0054schaltwerk is port ( b, a, x: in std_logic; bout, aout: out std_logic ); end; architecture verhalten of meinautomat0054schaltwerk is begin bout <= (b and a) or (x); aout <= (not a and not x) or (b and x); end; library ieee; use ieee.std_logic_1164.all; entity meinautomat0054schaltnetz is port ( b, a, x: in std_logic; y: out std_logic ); end; architecture verhalten of meinautomat0054schaltnetz is begin y <= (x or a or b); end; library ieee; use ieee.std_logic_1164.all; entity meinautomat0054testbench is port ( bout, aout, y: out std_logic ); end; architecture verhalten of meinautomat0054testbench is component meinautomat0054schaltnetz port ( b, a, x: in std_logic; y: out std_logic ); end component; component meinautomat0054schaltwerk port ( b, a, x: in std_logic; bout, aout: out std_logic ); end component; signal b, a, x: std_logic; begin sn: meinautomat0054schaltnetz PORT MAP (b=>b, a=>a, x=>x, y=>y); sw: meinautomat0054schaltwerk PORT MAP (b=>b, a=>a, x=>x, bout=>bout, aout=>aout); x <= '0' after 0 ns, '1' after 10 ns, '0' after 20 ns, '1' after 30 ns, '0' after 40 ns, '1' after 50 ns, '0' after 60 ns, '1' after 70 ns, '0' after 80 ns; a <= '0' after 0 ns, '0' after 10 ns, '1' after 20 ns, '1' after 30 ns, '0' after 40 ns, '0' after 50 ns, '1' after 60 ns, '1' after 70 ns, '0' after 80 ns; b <= '0' after 0 ns, '0' after 10 ns, '0' after 20 ns, '0' after 30 ns, '1' after 40 ns, '1' after 50 ns, '1' after 60 ns, '1' after 70 ns, '0' after 80 ns; end;