b a x b a y0 y1 y2 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 2 0 1 0 0 1 0 0 0 3 0 1 1 0 0 1 0 0 4 1 0 0 1 1 0 1 0 5 1 0 1 1 0 0 0 0 6 1 1 0 0 0 1 0 0 7 1 1 1 1 1 1 0 1 b a x b 0 0 0 0 0 1 0 0 1 1 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 a 0 0 0 0 1 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 1 5 1 0 1 0 6 1 1 0 0 7 1 1 1 1 b a x y0 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 0 6 1 1 0 1 7 1 1 1 1 b a x y1 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 0 4 1 0 0 1 5 1 0 1 0 6 1 1 0 0 7 1 1 1 0 b a x y2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 0 4 1 0 0 0 5 1 0 1 0 6 1 1 0 0 7 1 1 1 1 b a x b 1 0 0 1 1 4 1 0 0 1 5 1 0 1 1 7 1 1 1 1 b a x a 0 0 0 0 1 2 0 1 0 1 4 1 0 0 1 7 1 1 1 1 b a x y0 1 0 0 1 1 3 0 1 1 1 6 1 1 0 1 7 1 1 1 1 b a x y1 4 1 0 0 1 b a x y2 7 1 1 1 1 b a x b 1 0 0 1 1 4 1 0 0 1 5 1 0 1 1 7 1 1 1 1 b a x a 0 0 0 0 1 2 0 1 0 1 4 1 0 0 1 7 1 1 1 1 b a x y0 1 0 0 1 1 3 0 1 1 1 6 1 1 0 1 7 1 1 1 1 b a x y1 4 1 0 0 1 b a x y2 7 1 1 1 1 b a x b Gruppe 1: 1 0 0 1 1 4 1 0 0 1 Gruppe 2: 5 1 0 1 1 Gruppe 3: 7 1 1 1 1 1:5 - 0 1 1:4 1 0 - 5:7 1 - 1 1 4 5 7 1:5 * * 1:4 * * 5:7 * * 1 4 5 7 1:4 * * 5:7 * * DNF: b <= (b and not a) or (b and x); KNF: b <= not ((not b or a) and (not b or not x)) b a x a Gruppe 0: 0 0 0 0 1 Gruppe 1: 2 0 1 0 1 4 1 0 0 1 Gruppe 3: 7 1 1 1 1 0:2 0 - 1 0:4 - 0 0 7 1 1 1 0 2 4 7 0:2 * * 0:4 * * 7 * DNF: a <= (not b and x) or (not a and not x) or (b and a and x); KNF: a <= not((b or not x) and (a or x) and (not b or not a or not x)); b a x y0 Gruppe 1: 1 0 0 1 1 Gruppe 2: 3 0 1 1 1 6 1 1 0 1 Gruppe 3: 7 1 1 1 1 1:3 0 - 1 3:7 - 1 1 6:7 1 1 - 1 3 6 7 1:3 * * 3:7 * * 6:7 * * 1 3 6 7 1:3 * * 6:7 * * DNF: y0 <= (not b and x) or (b and a) KNF: y0 <= not ((b or not x) and (not b or not a)) b a x y1 4 1 0 0 1 DNF: y1 <= (b and not a and not x) KNF: y2 <= (not (not b or a or x)) b a x y2 7 1 1 1 1 DNF: y2 <= (b and a or x) KNF: y2 <= not(not b or not a or not x) DNF: b <= (b and not a) or (b and x); KNF: b <= not ((not b or a) and (not b or not x)) DNF: a <= (not b and x) or (not a and not x) or (b and a and x); KNF: a <= not((b or not x) and (a or x) and (not b or not a or not x)); DNF: y0 <= (not b and x) or (b and a) KNF: y0 <= not ((b or not x) and (not b or not a)) DNF: y1 <= (b and not a and not x) KNF: y2 <= (not (not b \section{ Re: Aufgaben und "Ubungen, Jetzt machen wir das in VHDL - das heisst, erst das "Ubergangsschaltnetz und das Ausgangsschaltnetz und wenn das da ist - dann kommt - das RS-Latch, das taktgesteuerte RS-Latch, das D-Latch, das D-Master-Slave-Slave-FF, das Register, dann sind wir fast so weit\\ Die Testbench hat keine echten werte - es hat nur ein CLK und ein x noch als Eingabe und mit dem CLK muss das Schaltwerk die Ausgabe machen. \section{ Re: Aufgaben und "Ubungen, } \begin{verbatim} b a x b a y0 y1 y2 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 0 2 0 1 0 0 1 0 0 0 3 0 1 1 0 0 1 0 0 4 1 0 0 1 1 0 1 0 5 1 0 1 1 0 0 0 0 6 1 1 0 0 0 1 0 0 7 1 1 1 1 1 1 0 1 b a x b 0 0 0 0 0 1 0 0 1 1 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 a 0 0 0 0 1 1 0 0 1 0 2 0 1 0 1 3 0 1 1 0 4 1 0 0 1 5 1 0 1 0 6 1 1 0 0 7 1 1 1 1 b a x y0 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 0 6 1 1 0 1 7 1 1 1 1 b a x y1 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 0 4 1 0 0 1 5 1 0 1 0 6 1 1 0 0 7 1 1 1 0 b a x y2 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 0 4 1 0 0 0 5 1 0 1 0 6 1 1 0 0 7 1 1 1 1 b a x b 1 0 0 1 1 4 1 0 0 1 5 1 0 1 1 7 1 1 1 1 b a x a 0 0 0 0 1 2 0 1 0 1 4 1 0 0 1 7 1 1 1 1 b a x y0 1 0 0 1 1 3 0 1 1 1 6 1 1 0 1 7 1 1 1 1 b a x y1 4 1 0 0 1 b a x y2 7 1 1 1 1 b a x b 1 0 0 1 1 4 1 0 0 1 5 1 0 1 1 7 1 1 1 1 b a x a 0 0 0 0 1 2 0 1 0 1 4 1 0 0 1 7 1 1 1 1 b a x y0 1 0 0 1 1 3 0 1 1 1 6 1 1 0 1 7 1 1 1 1 b a x y1 4 1 0 0 1 b a x y2 7 1 1 1 1 b a x b Gruppe 1: 1 0 0 1 1 4 1 0 0 1 Gruppe 2: 5 1 0 1 1 Gruppe 3: 7 1 1 1 1 1:5 - 0 1 1:4 1 0 - 5:7 1 - 1 1 4 5 7 1:5 * * 1:4 * * 5:7 * * 1 4 5 7 1:4 * * 5:7 * * DNF: b <= (b and not a) or (b and x); KNF: b <= not ((not b or a) and (not b or not x)) b a x a Gruppe 0: 0 0 0 0 1 Gruppe 1: 2 0 1 0 1 4 1 0 0 1 Gruppe 3: 7 1 1 1 1 0:2 0 - 1 0:4 - 0 0 7 1 1 1 0 2 4 7 0:2 * * 0:4 * * 7 * DNF: a <= (not b and x) or (not a and not x) or (b and a and x); KNF: a <= not((b or not x) and (a or x) and (not b or not a or not x)); b a x y0 Gruppe 1: 1 0 0 1 1 Gruppe 2: 3 0 1 1 1 6 1 1 0 1 Gruppe 3: 7 1 1 1 1 1:3 0 - 1 3:7 - 1 1 6:7 1 1 - 1 3 6 7 1:3 * * 3:7 * * 6:7 * * 1 3 6 7 1:3 * * 6:7 * * DNF: b <= (b and not a) or (b and x); KNF: b <= not ((not b or a) and (not b or not x)); DNF: a <= (not b and x) or (not a and not x) or (b and a and x); KNF: a <= not((b or not x) and (a or x) and (not b or not a or not x)); DNF: y0 <= (not b and x) or (b and a); KNF: y0 <= not ((b or not x) and (not b or not a)); b a x y1 4 1 0 0 1 DNF: y1 <= (b and not a and not x); KNF: y2 <= (not (not b or a or x)); b a x y2 7 1 1 1 1 DNF: y2 <= (b and a or x); KNF: y2 <= not(not b or not a or not x); DNF: b <= (b and not a) or (b and x); KNF: b <= not ((not b or a) and (not b or not x)); DNF: a <= (not b and x) or (not a and not x) or (b and a and x); KNF: a <= not((b or not x) and (a or x) and (not b or not a or not x)); DNF: y0 <= (not b and x) or (b and a); KNF: y0 <= not ((b or not x) and (not b or not a)); DNF: y1 <= (b and not a and not x); KNF: y2 <= (not (not b or a or x)); -- den VHDL Code nur mit DNF entity meinautomat0028ausgangschaltnetz is port ( a, b, x: in bit; y0, y1, y2: out bit ); end; entity meinautomat0028uebergangsschaltnetz is port ( a, b: inout bit; x: in bit ); end;