Hardwarepraktikum WS5/6 Sven Eckelmann 2..26 Inhaltsverzeichnis Versuch Komb. NANDNANDRealisierung.......................2 NORNORRealisierung.........................3 Schaltung................................ 2.4 VHDL.................................. 2.5 Binäre Simulation............................ 4.5. Stimulus............................ 4.5.2 Simulation........................... 4.6 Ternäre Simulation........................... 4.6. Stimulus............................ 4.6.2 Simulation........................... 5.7 Verdrahtung............................... 6 2 Versuch Komb2 7 2. 8zuMultiplexerRealisierung.................... 7 2.2 4zuMultiplexerRealisierung.................... 7 2.3 Schaltung................................ 8 2.4 VHDL.................................. 8 2.5 Binäre Simulation............................ 2.5. Stimulus............................ 2.5.2 Simulation........................... 2.6 Ternäre Simulation........................... 2.6. Stimulus............................ 2.6.2 Simulation........................... 2.7 Binärer Stimulus minimaler Länge................... 2.7. Transportbedingungen..................... 2.7.2 Überdeckungstabelle...................... 2 2.7.3 vereinfachte Überdeckungstabelle............... 2 2.7.4 Stimulus............................ 2 2.8 Verdrahtung............................... 3 i
3 Versuch Komb3 5 3. CLARealisierung............................ 5 3.2 Schaltung CLA............................. 6 3.3 VHDL.................................. 6 3.4 Binäre Simulation............................ 8 3.5 Binärer Stimulus minimaler Länge................... 8 3.6 Zeitverhalten.............................. 9 3.7 Verdrahtung............................... 9 3.7. CLA.............................. 9 3.7.2 RippleCarryAdder...................... 2 4 Versuch Sequ 2 4. Untersuchung zweier statischer DFlipflops.............. 2 4.. Simulation ohne Berücksichtigung zeitlichen Verhaltens... 2 4..2 Simulation mit Berücksichtigung zeitlichen Verhaltens.... 2 4.2 FlipflopSubstitution.......................... 2 4.2. Substitution........................... 2 4.2.2 Schaltung............................ 22 4.3 VHDL.................................. 22 4.4 Simulation DFlipflops......................... 24 4.4. Binäre Stimulusfolge...................... 24 4.4.2 Binäre Simulation....................... 24 4.4.3 Ternäre Stimulusfolge..................... 24 4.4.4 Ternäre Simulation....................... 25 4.5 Simulation JKFlipflop......................... 25 4.5. Binäre Stimulusfolge...................... 25 4.5.2 Binäre Simulation....................... 26 4.5.3 Ternäre Stimulusfolge..................... 26 4.5.4 Ternäre Simulation....................... 27 4.6 Simulation JKMSFlipflop....................... 27 4.6. Binäre Stimulusfolge...................... 27 4.6.2 Binäre Simulation....................... 28 4.6.3 Ternäre Stimulusfolge..................... 29 4.6.4 Ternäre Simulation....................... 29 4.7 Verdrahtung............................... 3 4.7. statische DFlipflops...................... 3 4.7.2 FlipflopSubstitution...................... 32 5 Versuch Sequ2 33 5. RSRealisierbare Funktionen...................... 33 5.. Rücksetzen in den Zustand................. 33 5..2 Laden einer 2BitZahl..................... 33 5..3 Superposition.......................... 33 5.2 JKRealisierbare Funktionen...................... 34 5.2. Vorwärtszählen......................... 34 5.2.2 Einerkomplement........................ 34 5.2.3 Superposition.......................... 34 5.2.4 Schaltung............................ 35 5.3 VHDL.................................. 35 5.4 Simulation................................ 37 ii
5.4. Binäre Stimulusfolge...................... 37 5.4.2 Binäre Simulation....................... 38 5.4.3 Ternäre Stimulusfolge..................... 38 5.4.4 Ternäre Simulation....................... 39 5.5 Verdrahtung............................... 4 6 Versuch Sequ3 4 6. SAR................................... 4 6.2 Schaltung................................ 42 6.3 VHDL.................................. 43 6.4 Simulation................................ 44 6.4. Binäre Stimulusfolge...................... 44 6.4.2 Binäre Simulation....................... 44 6.4.3 Ternäre Stimulusfolge..................... 45 6.4.4 Ternäre Simulation....................... 45 6.5 Verdrahtung............................... 46 iii
iv
Versuch Komb a b c d y. NANDNANDRealisierung f(a,b,c,d): d b 5 4 2 3 7 6 c 5 4 a 8 9 3 2 y = abc + bcd + bcd + abc y = abc + bcd + bcd + abc y = (abc) (bcd) (bcd) (abc).2 NORNORRealisierung b f(a,b,c,d): d 5 4 2 3 7 6 c 5 4 a 8 9 3 2 y = (a + b + c) (b + c + d) (b + c + d) (a + b + c) y = (a + b + c) (b + c + d) (b + c + d) (a + b + c) y = (a + b + c) + (b + c + d) + (b + c + d) + (a + b + c)
.3 Schaltung a b c d > > > > > y (Z_ABCDE 2) y (Z_ABCDE 9).4 VHDL library ieee; use ieee.std_logic_64.all; use work.pack_2.all; entity uut is port (x_fghij : in X_vector(2 downto 3); z_abcde : out X_vector(2 downto 3)); end uut; architecture structure of uut is 2
component sn74 2ernand port (x : in X_vector ( to 2); y : out X); end component; component sn7427 is 3ernor port (x : in X_vector ( to 3); y : out X); end component; component sn7426 is 5ernor port (x : in X_vector ( to 5); y : out X); end component; component sn74 3ernand port (x : in X_vector ( to 3); y : out X); end component; component sn742 is 4ernand port (x : in X_vector ( to 4); y : out X); end component; signal na, nb, nc, nd : X; not a, not b, not c, not d signal s2 : x_vector( to 4); nor zwischenergnisse signal s3 : x_vector( to 4); nand zwischenergnisse alias a : x is x_fghij(2); alias b : x is x_fghij(9); alias c : x is x_fghij(8); alias d : x is x_fghij(7); alias y2: x is z_abcde(2); nor ergebnis alias y3: x is z_abcde(9); nand ergebnis begin block: a,b,c,d => not a, not b, not c, not d u: sn74 port map (x()=>a, x(2)=>a, y=>na); u2: sn74 port map (x()=>b, x(2)=>b, y=>nb); u3: sn74 port map (x()=>c, x(2)=>c, y=>nc); u4: sn74 port map (x()=>d, x(2)=>d, y=>nd); block2:. norebene u: sn7427 port map (x()=>a, x(2)=>b, x(3)=>c, y=>s2()); u: sn7427 port map (x()=>nb, x(2)=>c, x(3)=>nd, y=>s2(2)); u2: sn7427 port map (x()=>b, x(2)=>nc, x(3)=>nd, y=>s2(3)); u3: sn7426 port map (x()=>a, x(2)=>nb, x(3)=>nc, x(4)=>nc, x(5)=>nc, y=>s2(4)); block2: 2. norebene u4: sn7426 port map (x()=>s2(), x(2)=>s2(2), x(3)=>s2(3), x(4)=>s2(4), x(5)=>s2(4), y=>y2); block3:. nandebene u5: sn74 port map (x()=>a, x(2)=>b, x(3)=>c, y=>s3()); u6: sn74 port map (x()=>nb, x(2)=>c, x(3)=>nd, y=>s3(2)); u7: sn74 port map (x()=>b, x(2)=>nc, x(3)=>nd, y=>s3(3)); 3
u8: sn742 port map (x()=>a, x(2)=>nb, x(3)=>nc, x(4)=>nc, y=>s3(4)); block3: 2. nandebene u9: sn742 port map (x()=>s3(), x(2)=>s3(2), x(3)=>s3(3), x(4)=>s3(4), y=>y3); end structure;.5 Binäre Simulation.5. Stimulus stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8.5.2 Simulation > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > > > 2 > 3 > 4 > 5 > 6 >.6 Ternäre Simulation.6. Stimulus stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 4
.6.2 Simulation > 2 X > 3 > 4 X > 5 > 6 X > XX 7 > 8 X > XX 9 > X > > 2 X > 3 > 4 X > XX 5 > 6 X > XX 7 > 8 X > XX 9 > 2 X > XX 2 > 22 X > 23 > 24 X > XX 25 > 26 > 27 > 28 X > XX 29 > 3 X > 3 > 5
.7 Verdrahtung Von IC PIN NACH IC PIN Bemerkung X_FGHIJ 2 Eingang na 2 2 2 27. 3erNOR 2 27 2 26. 5erNOR 2 26 3. 3erNAND 3 2. 4erNAND X_FGHIJ 9 4 Eingang nb 4 5 5 2 27 2. 3erNOR 2 27 2 2 27 3. 3erNOR 2 27 3 2. 3erNAND 3 2 3 3. 3erNAND X_FGHIJ 8 3 Eingang nc 3 2 2 2 27 3. 3erNOR 2 27 3 2 27 4 2. 3erNOR 2 27 4 3 3. 3erNAND 3 3 3 4 2. 3erNAND X_FGHIJ 7 Eingang nd 9 6 2 27 3 2. 3erNOR 2 27 3 2 26 2. 5erNOR 2 26 2 3 3 2. 3erNAND 3 3 3 2 2. 4erNAND 2 27 3. 3erNOR 2 27 2 26 3. 5erNOR 2 26 3 2 26 3. 5erNOR 2 26 3 2 26 2. 5erNOR 2 26 2 3 3. 3erNAND 3 3 2 4. 4erNAND 3 2 4 3 2 5. 4erNAND 8 2 27 5 2. 3erNOR 2 27 5 2 27 9 3. 3erNOR 2 27 9 3 5 2. 3erNAND 3 5 3 9 3. 3erNAND 2 27 2 2 26 4 2. 5erNOR 2 27 6 2 26 2. 5erNOR 2 27 8 2 26 2. 5erNOR 2 26 5 2 26 9 2. 5erNOR 2 26 9 2 26 8 2. 5erNOR 3 2 3 2 3 2. 4erNAND 3 6 3 2 2 2. 4erNAND 3 8 3 2 2. 4erNAND 3 2 6 3 2 9 2. 4erNAND 2 26 6 Z_ABCDE 2 ynornor 3 2 8 Z_ABCDE 9 ynandnand 6
2 Versuch Komb2 y = f (a, b, c, d) = bcd + bcd + abc + abc y = abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd + abcd 2. 8zuMultiplexerRealisierung y = abc(d + d ) + abc(d + d ) + abc(d + d ) + abc(d + d )+ abc(d + d ) + abc(d + d ) + abc(d + d ) + abc(d + d ) = abc() + abc(d) + abc(d) + abc()+ abc() + abc(d) + abc(d) + abc() y = s 2 s s () + s 2 s s (d) + s 2 s s (d) + s 2 s s ()+ s 2 s s () + s 2 s s (d) + s 2 s s (d) + s 2 s s () s s s 2 d d d 2 d 3 d 4 d 5 d 6 d 7 c b a d d d d 2.2 4zuMultiplexerRealisierung y = ab(cd + cd + cd + cd ) + ab(cd + cd + cd + cd )+ ab(cd + cd + cd + cd ) + ab(cd + cd + cd + cd ) = ab(c + d) + ab(c + d) + ab(cd) + ab(cd) y = s s (cd) + s s (cd) + s s (c + d) + s s (c + d) s s d d d 2 d 3 b a cd cd c + d c + d 7
2.3 Schaltung a b c d '' c d MUX EN }G 2 7 2 3 4 5 6 7 y (Z_ABCDE 2) MUX EN } G 3 2 3 y2 (Z_ABCDE 9) 2.4 VHDL library ieee; use ieee.std_logic_64.all; use work.pack_2.all; entity uut is port (x_fghij : in X_vector(2 downto 3); z_abcde : out X_vector(2 downto 3)); end uut; architecture structure of uut is 8
component sn74 2ernand port (x : in X_vector ( to 2); y : out X); end component; component sn744 is not port (x : in X; y : out X); end component; component sn745 is 8zuMultiplexer port (e : in X; s : in X_vector (2 downto ); d : in X_vector ( to 7); y,w : out X); end component; component sn7453 is 4zuMultiplexer port (e,e2 : in X; s : in X_vector ( downto ); d,d2 : in X_vector ( to 3); y,y2 : out X); end component; signal nc, nd, zero, one : X; not a, not b, not c, not signal s_nand : X_vector ( to 4); zwischenergebnisse der nands signal s_not : X_vector ( to 2); zwischenergebnisse der not bei nand alias a : x is x_fghij(2); alias b : x is x_fghij(9); alias c : x is x_fghij(8); alias d : x is x_fghij(7); alias y: x is z_abcde(2); 8zumux ergebnis alias y2: x is z_abcde(9); 4zumux ergebnis begin todo blocknot:, c, d =>, not c, not d one <= ; b: sn744 port map (x=>one, y=>zero); b2: sn744 port map (x=>c, y=>nc); b3: sn744 port map (x=>d, y=>nd); b4: sn744 port map (x=>s_nand(), y=>s_not()); b5: sn744 port map (x=>s_nand(2), y=>s_not(2)); blocknand b6: sn74 port map (x()=>c, x(2)=>nd, y=>s_nand()); b7: sn74 port map (x()=>nc, x(2)=>nd, y=>s_nand(2)); b8: sn74 port map (x()=>c, x(2)=>d, y=>s_nand(3)); b9: sn74 port map (x()=>d, x(2)=>nc, y=>s_nand(4)); block 2: 8zuMultiplexer b2: sn745 port map (e=>zero, s(2)=>a, s()=>b, s()=>c, d()=>zero, d()=>nd, d(2)=>nd, d(3)=>zero, d(4)=>one, d(5)=>nd, d(6)=>nd, d(7)=>one, y=>y); 9
block 3: 4zuMultiplexer b3: sn7453 port map (e=>zero, s()=>a, s()=>b, d()=>s_not(), d()=>s_not(2), d(2)=>s_nand(3), d(3)=>s_nand(4), y=>y2, e2=>one, d2=>""); end structure; 2.5 Binäre Simulation 2.5. Stimulus stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 2.5.2 Simulation > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > > > 2 > 3 > 4 > 5 > 6 > 2.6 Ternäre Simulation 2.6. Stimulus stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8
2.6.2 Simulation > 2 X > 3 > 4 X > 5 > 6 X > XX 7 > 8 X > XX 9 > X > > 2 X > 3 > 4 X > XX 5 > 6 X > XX 7 > 8 X > XX 9 > 2 X > XX 2 > 22 X > 23 > 24 X > XX 25 > 26 > 27 > 28 X > XX 29 > 3 X > 3 > 2.7 Binärer Stimulus minimaler Länge 2.7. Transportbedingungen f(a,b,c,d): d b 5 4 a c 2 8 3 9 7 5 3 6 4 2 f a f a = bcd + bcd + bcd + bcd = bc + bc = b c f b f b = a cd + acd + acd + acd = ad + acd = ad + ad = a d f c f c = abd + abd + ab d + abd = ad + ad = a d f d f d = abc + abc + abc + abc = bc + bc = b c
2.7.2 Überdeckungstabelle Fehler 2 3 4 5 6 7 8 9 2 3 4 5 δ(s ) a = a = b = b = c = c = d = d = y = y = 2.7.3 vereinfachte Überdeckungstabelle 3 2 5 δ(s ) Fehler S a = a = b = b = c = c = d = d = y = y = 2.7.4 Stimulus stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 2
2.8 Verdrahtung Nach Von Bemerkung IC PIN IC PIN Funktion Ursprung 4 NOT NULL 3 X 8 NOT 2 E: c 5 X 7 NOT 3 E: d 9 3 NOT 4 NAND 6 NOT 5 NAND 2 4 3 NAND E: c 2 4 6 NOT d 4 4 4 NAND 2 NOT c 5 2 NOT d 9 NAND 3 E: c 4 5 E: d 2 4 NAND 4 not c 3 E: d 5 7 4 2 EN NOT X 8 S E: c X 9 S E: b 9 X 2 S2 E: a 4 5 7 D NOT 3 4 6 D NOT 3 2 5 3 D2 NOT 3 5 4 D3 NOT 5 D4 EINS 4 5 2 D5 NOT 3 3 5 4 D6 NOT 3 2 D7 EINS 53 4 2 EN NOT 4 X 9 S E: b 2 X 2 S E: a 6 4 8 D NOT 4 5 4 D NOT 5 4 8 D2 NAND 3 3 D3 NAND 4 Z 2 5 5 Z 9 53 7 3
4
3 Versuch Komb3 3. CLARealisierung c = g + z c c 2 = g + z c c 2 = g + z (g + z c ) c 3 = g 2 + z 2 c 2 c 3 = g 2 + z 2 (g + z (g + z c )) c 4 = g 3 + z 3 c 3 c 4 = g 3 + z 3 (g 2 + z 2 (g + z (g + z c ))) g = a b g = a b g 2 = a 2 b 2 g 3 = a 3 b 3 z = a + b z = a + b z 2 = a 2 + b 2 z 3 = a 3 + b 3 Es werden bei dieser tiefen Realisierung 8 2erORs und 8 2erANDs benötigt. Dies sind 4 2erORs und 4 2erANDs zuviel. Desweiteren bleiben 4 2erNAND und 6 3er NAND übrig. c 4 = g 3 + z 3 (g 2 + z 2 (g + z (g + z c ))) = g 3 + z 3 g 2 + z 3 z 2 (g + z (g + z c )) = g 3 z 3 g 2 z 3 z 2 (g + z (g + z c )) = g 3 z 3 g 2 z 3 z 2 (g + z g + z z c )) = g 3 z 3 g 2 z 3 z 2 (g z g z z c )) Diese Realisierung lässt sich mit 4 2erORs, 4 2erANDS, 4 2erNANDS (davon 2 als Negator) und 4 3erNANDS realisieren. Durch einsetzen von g, g, g 2, g 3 verschiebt sich die Angabe leicht. c 4 = a 3 b 3 z 3 a 2 b 2 z 3 z 2 (a b z a b z z c )) z = a + b z = a + b z 2 = a 2 + b 2 z 3 = a 3 + b 3 Nun werden 4 2erORs, 2 2erNANDS und 6 3er NANDS benötigt. 5
3.2 Schaltung CLA c a b a b a 2 b 2 a 3 b 3 > > > c 4 > 3.3 VHDL library ieee; use ieee.std_logic_64.all; use work.pack_2.all; entity uut is port (x_fghij : in x_vector(2 downto 5); z_abcde : out x_vector(2 downto 5)); end uut; architecture structure of uut is component sn74 2ernand port (x : in X_vector ( to 2); y : out X); end component; component sn74 is 3ernand port (x : in X_vector ( to 3); y : out X); end component; component sn7432 is 2eror port (x : in X_vector ( to 2); y : out X); end component; component sn7483a is 4bitadder port (c : in x; b,a : in x_vector(3 downto ); c4 : out x; s : out x_vector(3 downto )); end component; Eingänge 6
alias c : x is x_fghij(2); alias b : x_vector(3 downto ) is x_fghij(8 downto 5); alias a : x_vector(3 downto ) is x_fghij(3 downto ); Ausgänge alias c8 : x is z_abcde(2); alias sum2 : x_vector is z_abcde(8 downto 5); alias sum : x_vector is z_abcde(4 downto ); signal c4: X; signal s_level : X_vector ( to 6); zwischenergebnisse. ebene signal s_level2 : X_vector ( to 3); zwischenergebnisse 2. ebene signal s_level3 : X; zwischenergebnisse 3. ebene signal s_level4 : X; zwischenergebnisse 4. ebene begin adder add: sn7483a port map ( c=>c, a=>a, b=>b, s=>sum); adder2 add2: sn7483a port map ( c=>c4, c4=>c8, a=>"", b=>"", s=>sum2); CLA. ebene. nand2 l: sn74 port map ( x()=>a(3), x(2)=>b(3), y=>s_level());. ebene 2. nand2 l2: sn74 port map ( x()=>a(), x(2)=>b(), y=>s_level(2));. ebene. or l3: sn7432 port map ( x()=>a(), x(2)=>b(), y=>s_level(3));. ebene 2. or l4: sn7432 port map ( x()=>a(), x(2)=>b(), y=>s_level(4));. ebene 3. or l5: sn7432 port map ( x()=>a(2), x(2)=>b(2), y=>s_level(5));. ebene 4. or 7
l6: sn7432 port map ( x()=>a(3), x(2)=>b(3), y=>s_level(6)); 2. ebene. nand3 l2: sn74 port map ( x()=>s_level(3), x(2)=>c, x(3)=>s_level(4), y=>s_level2()); 2. ebene 2. nand3 l22: sn74 port map ( x()=>s_level(4), x(2)=>a(), x(3)=>b(), y=>s_level2(2)); 2. ebene 3. nand3 l23: sn74 port map ( x()=>s_level(6), x(2)=>a(2), x(3)=>b(2), y=>s_level2(3)); 3. ebene. nand3 l3: sn74 port map ( x()=>s_level(2), x(2)=>s_level2(), x(3)=>s_level2(2), y=>s_level3); 4. ebene. nand3 l4: sn74 port map ( x()=>s_level3, x(2)=>s_level(5), x(3)=>s_level(6), y=>s_level4); 5. ebene. nand3 l5: sn74 port map ( x()=>s_level(), x(2)=>s_level4, x(3)=>s_level2(3), y=>c4); end structure; 3.4 Binäre Simulation Nicht abgedruckt auf Grund der Größe. 3.5 Binärer Stimulus minimaler Länge stimmap dbb2_6 stimmap dbb2_6 stimmap dbb2_6 stimmap dbb2_6 8
3.6 Zeitverhalten Nach dem Einfügen von after ns nach jeder Anweisung innerhalb von SN74.VHD, SN748.VHD, SN74.VHD, SN7432.VHD und SN7483A.VHD, ergibt sich eine Zeitverzögerung von 4ns zwischen c 4 _r (CarryFlag 4 des RippleCarryAdders) und c 4 (CarryFlag 4 aus CLA) bzw. zwischen c 8 _r und c 8. Als Eingabe wurde für a und für b genommen, damit c 4 _r erst nach dem Berechnen von c, c 2, c 3 im RippleCarryAdder stabil wird. Somit ist der Adder mit dem CLA schon nach 2ns statt 6ns fertig. 3.7 Verdrahtung 3.7. CLA Nach Von Bemerkung IC PIN IC PIN Funktion Ursprung X 3 NAND2 a 3 2 X 8 b 3 4 X NAND2 a 5 X 6 b 32 X OR2 a 2 X 5 b 4 4 OR2 2 a 5 5 b 9 X 2 OR2 3 a 2 X 7 b 2 2 OR2 4 a 3 3 2 b 3 32 3 NAND3 OR2 2 X 2 c 3 32 6 OR2 2 3 3 NAND3 2 OR2 2 4 32 a 5 32 2 b 9 32 NAND3 3 OR2 4 32 9 a 2 32 b 2 2 6 NAND3 4 NAND2 2 2 2 NAND3 3 6 NAND3 2 3 2 2 NAND3 5 NAND3 4 4 32 8 OR2 3 5 9 OR2 4 9 3 NAND3 6/C4 NAND2 2 6 NAND3 5 8 NAND3 3 9
3.7.2 RippleCarryAdder Nach Von Bemerkung IC PIN IC PIN Funktion Ursprung 83A 3 X 2 Adder c X a X 5 b 8 X a 7 X 6 b 3 X 2 a 2 4 X 7 b 2 X 3 a 3 6 X 8 b 3 83A2 3 2 8 Adder2 c 4 8 7 3 4 6 Z 83A 9 s 2 83A 6 s 3 83A 2 s 2 4 83A 5 s 3 5 83A2 9 s 4 6 83A2 6 s 5 7 83A2 2 s 6 8 83A2 5 s 7 2 83A2 4 c 8 2
4 Versuch Sequ 4. Untersuchung zweier statischer DFlipflops 4.. Simulation ohne Berücksichtigung zeitlichen Verhaltens 4..2 Simulation mit Berücksichtigung zeitlichen Verhaltens An Position 8ns erkennt man recht gut das Problem. Hier kommt es durch die unterschiedliche Anzahl der vorgeschaltenen Gatter zu einer zeitlichen Differenz zwischen dem Signal C und C. Im ersten Flipflop liegt nun bei C und C eine an, weshalb Q seinen aktuellen Zustand verliert und auf wechselt. Beim 2. Flipflop hingegen liegt bei C und C eine an. Ähnlich sieht es bei us am 2. Flipflop aus. Beim Wechsel von C von auf wechselt zuerst C von auf, setzt damit Q 2 auf, bevor C auf wechselt und somit den Dateneingang übernimmt und Q 2 wieder auf springt. 4.2 FlipflopSubstitution 4.2. Substitution J K Q Q D K D: J 5 4 Q 2 3 7 6 D = KQ + JQ = KQ JQ 2
4.2.2 Schaltung Q Q J K D 4.3 VHDL library ieee; use ieee.std_logic_64.all; use work.pack_2.all; entity uut is port (x_fghij : in X_vector(2 downto 3); z_abcde : out X_vector(2 downto 3)); end uut; architecture structure of uut is component sn744 is NOR port (x : in X; y : out X); end component; component sn745 is ANDORInverter port (x,x2,x2,x22 : in X; y : out X); end component; component sn74 is /4 2erNAND port (x : in X_vector ( to 2); y : out X); end component; component sn7472 is JKMSFlipflop port (s_b,r_b,c : in X; j,k : in X_vector( to 3); q,q_b : out X); end component; component sn7474 is DFlipflop port (s_b,r_b,c,d : in X; q,q_b : out X); end component; DFlipflops alias c : X is x_fghij(2); alias d : X is x_fghij(9); alias q : X is z_abcde(2); alias q2 : X is z_abcde(9); signal s,s2,s3,s2,s22,s23,s24 : x; 22
signal n,n2 : x; signal h,h2 : x; Hilfsausgänge der DFlipflops JK*Flipflops alias j : X is x_fghij(6); alias k : X is x_fghij(5); alias c2 : X is x_fghij(4); alias r : X is x_fghij(3); alias q2 : X is z_abcde(6); alias q22 : X is z_abcde(5); signal nc2 : X; not c2 signal nk : X; not k signal q2_h, nq2_h : X; Hilfsausgänge 74 signal d : x; Berechneter DEingang 74 signal s3, s32 : X; begin DFlipflop d: sn744 port map (x=>c, y=>s); d2: sn744 port map (x=>s, y=>s2); d3: sn744 port map (x=>s2, y=>s3); d4: sn745 port map (x=>h, x2=>s3, x2=>c, x22=>d, y=>n); d5: sn744 port map (x=>n, y=>h); q <= h; DFlipflop2 d2: sn744 port map (x=>c, y=>s2); d22: sn744 port map (x=>s2, y=>s22); d23: sn744 port map (x=>s22, y=>s23); d24: sn744 port map (x=>s23, y=>s24); d25: sn745 port map (x=>h2, x2=>s2, x2=>s24, x22=>d, y=>n2); d26: sn744 port map (x=>n2, y=>h2); q2 <= h2; JKFlipflop j: sn74 port map (x()=>k, x(2)=>k, y=>nk); j2: sn74 port map (x()=>j, x(2)=>nq2_h, y=>s3); j3: sn74 port map (x()=>nk, x(2)=>q2_h, y=>s32); j4: sn74 port map (x()=>s3, x(2)=>s32, y=>d); j5: sn7474 port map (s_b=>, r_b=>r, c=>c2, d=>d, q=>q2_h, q_b=>nq2_h); q2 <= q2_h; JKFlipflop2 j2: sn74 port map (x()=>c2, x(2)=>c2, y=>nc2); 23
j22: sn7472 port map (s_b=>, r_b=>r, c=>nc2, j()=>j, j(2)=>, j(3)=>, k()=>k, k(2)=>, k(3)=>, q=>q22); end structure; 4.4 Simulation DFlipflops 4.4. Binäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 4.4.2 Binäre Simulation > XXXX 2 > XX 3 > XX 4 > XX 5 > XX 6 > XX 7 > XX 9 > XX > XX > XX 2 > XX 3 > XX 4 > XX 5 > XX 8 > XX 4.4.3 Ternäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 24
4.4.4 Ternäre Simulation > XXXX 2 > XX 3 > XX 4 > XX 5 > XX 6 > XX 7 X > XX 8 > XX > XX > XX 2 > XX 3 > XX 4 X > XX 5 > XX 6 > XX 7 > XX 9 > XX 4.5 Simulation JKFlipflop 4.5. Binäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 25
4.5.2 Binäre Simulation > XXXX 2 > XX 3 > XX 4 > XX 5 > XX 6 > XX 7 > XX 8 > XX 9 > XX > XX > XX 2 > XX 3 > XX 4 > XX 5 > XX 6 > XX 7 > XX 8 > XX 9 > XX 2 > XX 2 > XX 22 > XX 23 > XX 24 > XX 25 > XX 26 > XX 27 > XX 4.5.3 Ternäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 XX stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 XX stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 26
4.5.4 Ternäre Simulation > XXXX 2 X > XXXX 3 > XX 4 X > XX 5 > XX 6 > XX 7 > XX 8 > XX 9 X > XX > XX > XX 2 > XX 3 XX > XX 4 > XX 5 > XX 6 > XX 7 X > XX 8 > XX 9 > XX 2 > XX 2 X > XX 22 > XX 23 > XX 24 > XX 25 XX > XX 26 > XX 27 > XX 28 > XX 29 X > XX 3 > XX 3 > XX 32 > XX 33 > XX 34 > XX 35 > XX 4.6 Simulation JKMSFlipflop 4.6. Binäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 27
4.6.2 Binäre Simulation > XXXX 2 > XX 3 > XX 4 > XX 5 > XX 6 > XX 7 > XX 8 > XX 9 > XX > XX > XX 2 > XX 3 > XX 4 > XX 5 > XX 6 > XX 7 > XX 8 > XX 9 > XX 2 > XX 2 > XX 22 > XX 23 > XX 24 > XX 25 > XX 26 > XX 27 > XX 28 > XX 29 > XX 3 > XX 3 > XX 32 > XX 33 > XX 34 > XX 35 > XX 36 > XX 37 > XX 38 > XX 39 > XX 4 > XX 4 > XX 42 > XX 43 > XX 44 > XX 45 > XX 46 > XX 28
4.6.3 Ternäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 4.6.4 Ternäre Simulation > XXXX 2 X > XXXX 3 > XX 4 X > XX 5 > XX 6 X > XX 7 > XX 8 > XX 9 X > XX > XX X > XX 2 > XX 3 X > XX 4 > XX 5 X > XX 6 > XX 7 > XX 8 X > XX 9 > XX 2 X > XX 29
2 > XX 22 X > XX 23 > XX 24 X > XX 25 > XX 26 > XX 27 X > XX 28 > XX 29 X > XX 3 > XX 3 X > XX 32 > XX 33 X > XX 34 > XX 35 > XX 36 X > XX 37 > XX 38 X > XX 39 > XX 4 X > XX 4 > XX 42 > XX 43 > XX 44 > XX 45 > XX 46 X > XX 47 > XX 48 > XX 49 > XX 5 > XX 5 X > XX 52 > XX 53 > XX 54 X > XX 55 > XX 56 > XX 57 X > XX 58 > XX 59 X > XX 6 > XX 6 > XX 62 X > XX 63 > XX 64 > XX 65 X > XX 66 > XX 67 > XX 68 X > XX 69 > XX 7 X > XX 3
7 > XX 72 X > XX 73 > XX 74 > XX 4.7 Verdrahtung 4.7. statische DFlipflops Nach Von Bemerkung IC PIN IC PIN Funktion Ursprung 4 X 2 NOT C 3 4 2 NOT 2 NOT 5 4 4 NOT 3 NOT 2 9 5 8 NOT 4 ANDORINVERTER 42 X 2 NOT 5 C 3 42 2 NOT 6 NOT 5 5 42 4 NOT 7 NOT 6 9 42 6 NOT 8 NOT 7 5 6 NOT 9 ANDORINVERTER 2 5 4 8 ANDORINVERTER NOT 4 3 4 6 NOT 3 9 4 C X 9 D 2 42 ANDORINVERTER 2 NOT 9 3 42 2 NOT 5 4 42 8 NOT 8 5 5 D Z 2 4 8 Q NOT 4 Z 9 42 Q2 NOT 9 3
4.7.2 FlipflopSubstitution Nach Von Bemerkung IC PIN IC PIN Funktion Ursprung X 5 NAND K 2 K 4 74 5 NAND 2 Q 5 3 NAND 9 X 6 NAND 3 J 74 6 Q 2 6 D/NAND 4 NAND 2 3 8 NAND 3 74 2 DFF D/NAND 4 3 X 4 DFF C X 3 DFF R 2 X 4 NAND 5 C 2 2 C 72 3 X 6 DFF J 2 2 3 NAND 5 9 X 5 K 2 X 3 R Z 6 74 5 Q Z 5 72 8 Q2 32
5 Versuch Sequ2 5. RSRealisierbare Funktionen 5.. Rücksetzen in den Zustand Re Q Q S R S: Q S = 2 3 Re R: Q 2 R = Re Re 3 5..2 Laden einer 2BitZahl LO D Q Q S R S: Q 2 S = D LO 3 LO 5 D 4 7 6 R: Q R LO 2 3 7 6 = D LO = D LO + } {{ } LO LO = (D + LO) LO = D LO LO = S LO 5 D 4 5..3 Superposition S i = D i LO + = D i LO S i = D i LO R i = S i LO + Re R i = S i LO Re 33
5.2 JKRealisierbare Funktionen 5.2. Vorwärtszählen J = K = J = Q K = Q 5.2.2 Einerkomplement Q Q Q Q J K J K J : K : J : K : Q J = K = Q Q Q 2 3 2 3 Q J = K = Q Q 2 3 2 3 Q 5.2.3 Superposition Funktion cnt compl J K J K keine zählen Q Q Komplement J = K : Q 2 cnt 3 5 7 compl 4 6 J = K = compl + Q cnt = compl Q cnt J = K : compl cnt 2 3 J = K = compl + cnt = compl cnt 34
5.2.4 Schaltung Load Reset D D C Compl Count S J C K R Q S J C K R Q 5.3 VHDL library ieee; use ieee.std_logic_64.all; use work.pack_2.all; entity uut is port (x_fghij : in X_vector(2 downto 3); z_abcde : out X_vector(2 downto 3)); end uut; 35
architecture structure of uut is component sn74 2ernand port (x : in X_vector ( to 2); y : out X); end component; component sn744 is not port (x : in X; y : out X); end component; component sn7472 is JKMSFlipflop port (s_b,r_b,c : in X; j,k : in X_vector( to 3); q,q_b : out X); end component; alias c : x is x_fghij(5); alias reset : x is x_fghij(2); alias load : x is x_fghij(9); alias d : x is x_fghij(8); alias d : x is x_fghij(7); alias count : x is x_fghij(4); alias compl : x is x_fghij(3); alias q: x is z_abcde(2); ff ergebnis alias q: x is z_abcde(9); ff ergebnis signal nreset, ncompl, ncount: X; not reset, not compl, not count signal ns, ns : X; ergebnis für stat. s eingänge signal nr, nr : X; ergebnis für stat. r eingänge signal r, r : X; zwischenergebis für stat. r eingänge signal jk, jk : X; zwischenergebnis für dyn. jkeingänge signal sig, sig2 : X; zwischenerg. für. ff (Q) signal sig, sig2 : X; zwischenerg. für 2. ff (Q) signal z_q : X; ergebnis 2. ff (Q) begin not: reset, compl => nreset, ncompl b: sn744 port map (x=>reset, y=>nreset); b2: sn744 port map (x=>compl, y=>ncompl); not s <= load nand d b3: sn74 port map (x()=>load, x(2)=>d, y=>ns); not r <= not ((ns nand load) nand nreset) b4: sn74 port map (x()=>ns, x(2)=>load, y=>sig); b5: sn74 port map (x()=>sig, x(2)=>nreset, y=>r); b6: sn744 port map (x=>r, y=>nr); j=k <= (count nand q) nand ncompl b7: sn74 port map (x()=>count, x(2)=>z_q, y=>sig2); b8: sn74 port map (x()=>sig2, x(2)=>ncompl, y=>jk); not s <= load nand d 36
b2: sn74 port map (x()=>load, x(2)=>d, y=>ns); not r <= not ((ns nand load) nand nreset) b22: sn74 port map (x()=>ns, x(2)=>load, y=>sig); b23: sn74 port map (x()=>sig, x(2)=>nreset, y=>r); b24: sn744 port map (x=>r, y=>nr); j=k <= (not count nand ncompl) b25: sn744 port map (x=>count, y=>ncount); b26: sn74 port map (x()=>ncount, x(2)=>ncompl, y=>jk);. ff (q) ff: sn7472 port map (s_b=>ns, r_b=>nr, c=>c, j()=>jk, j(2)=>, j(3)=>, k()=>jk, k(2)=>, k(3)=>, q=>q); 2. ff (q) ff2: sn7472 port map (s_b=>ns, r_b=>nr, c=>c, j()=>jk, j(2)=>, j(3)=>, k()=>jk, k(2)=>, k(3)=>, q=>z_q); q <= z_q; end structure; 5.4 Simulation 5.4. Binäre Stimulusfolge stimmap dbb2_8 XX stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 37
5.4.2 Binäre Simulation > XX XX 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > > > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > 2 > 2 > 22 > 23 > 24 > 25 > 26 > 27 > 28 > 29 > 3 > 3 > 32 > 33 > 34 > 35 > 36 > 37 > 38 > 5.4.3 Ternäre Stimulusfolge stimmap dbb2_8 XX stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 38
5.4.4 Ternäre Simulation > XX XX 2 > 3 X > 4 > 5 X > 6 > 7 > 8 > 9 > > > 2 > 3 > 4 > 5 X > 6 > 7 X > 8 > 9 > 2 > 2 > 22 > 23 X > 24 > 25 X > 26 > 27 > 28 > 29 X > 3 > 3 X > 32 > 33 > 34 > 35 > 36 > 37 X > 38 > 39 X > 4 > 4 > 42 > 43 X > 44 > 45 > 46 > 47 X > 48 > 49 X > 5 > 5 > 39
5.5 Verdrahtung Nach Von Bemerkung IC PIN IC PIN Funktion Ursprung 4 X 2 NOT Reset 3 X 3 NOT 2 Compl 5 8 NOT 3 NAND 3 9 2 NOT 4 NAND 8 X 4 NOT 5 Count X 9 NAND Load 2 X 8 D 4 3 NAND 2 NAND 5 Load 9 6 NAND 3 NAND 2 4 2 NOT 2 4 4 NAND 4 NOT 2 3 2 3 NAND 5 2 4 NAND 5 Count 2 722 8 Q 4 5 NAND 6 Load 5 X 7 D 9 2 6 NAND 7 NAND 6 2 4 Load 2 2 8 NAND 8 NAND 7 3 NOT 3 2 NAND 9 NOT 2 2 4 NOT 5 72 3 3 /S NAND 3 J NAND 4 2 X 5 C C 9 72 3 K NAND 4 2 4 6 /R NOT 3 722 3 2 6 /S NAND 6 3 3 3 J NAND 9 2 72 2 C C 9 722 3 K NAND 9 2 4 8 /R NOT 4 Z 2 72 8 Q FF 9 722 8 Q FF 4
6 Versuch Sequ3 6. SAR D Q 2 Q Q Q 2 Q Q J 2 K 2 J K J K J 2 : D J 2 = Q 2 8 3 Q 5 7 5 9 3 Q 2 4 6 4 2 D K 2 : 2 Q K 2 = D Q Q Q 2 Q 5 4 3 7 6 5 4 8 9 3 2 D J : Q 2 8 3 Q 2 Q 5 4 7 6 5 4 9 3 2 D K : Q 2 8 5 4 3 7 Q 2 Q 5 4 9 3 2 6 J = Q K = D Q 4
J : Q D J = Q 2 3 7 Q 8 9 3 5 5 Q 2 4 6 4 2 D K : K = D Q 5 4 2 3 Q 2 Q 7 6 5 4 8 9 3 2 6.2 Schaltung R C D D Z Z Z '' S J z 2 J 2 J 3 C K K 2 K 3 R z 2 S J z J2 J 3 C K K 2 K 3 R z S J z J2 J 3 C K K 2 K 3 R z 42
6.3 VHDL library ieee; use ieee.std_logic_64.all; use work.pack_2.all; entity uut is port (x_fghij : in X_vector(2 downto 3); z_abcde : out X_vector(2 downto 3)); end uut; architecture structure of uut is component sn74 is /4 SN74 port (x : in X_vector ( to 2); y : out X); end component; component sn7472 is SN7472 port (s_b,r_b,c : in X; j,k : in X_vector( to 3); q,q_b : out X); end component; alias r : X is x_fghij(2); alias c : X is x_fghij(9); alias d : X is x_fghij(8); alias z2 : X is z_abcde(2); alias z : X is z_abcde(9); alias z : X is z_abcde(8); signal nd : X; nicht d signal q2, q, q, nq2, nq, nq : X; begin not: sn74 port map(x()=>d, x(2)=>d, y=>nd); jk2: jk: jk: sn7472 port map(s_b=>r, r_b=>, c=>c, j()=>, j(2)=>, j(3)=>, k()=>nd, k(2)=>nq, k(3)=>nq, q=>z2, q_b=>nq2); sn7472 port map(s_b=>, r_b=>r, c=>c, j()=>nq, j(2)=>, j(3)=>, k()=>nd, k(2)=>nq, k(3)=>, q=>z, q_b=>nq); sn7472 port map(s_b=>, r_b=>r, c=>c, j()=>q, j(2)=>, j(3)=>, k()=>nd, k(2)=>, k(3)=>, q=>z, q_b=>nq); not2: sn74 port map(x()=>nq2, x(2)=>nq2, y=>q2); not3: sn74 port map(x()=>nq, x(2)=>nq, y=>q); not4: sn74 port map(x()=>nq, x(2)=>nq, y=>q); end structure; 43
6.4 Simulation 6.4. Binäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 6.4.2 Binäre Simulation > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > > > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > 2 > 2 > 22 > 23 > 24 > 25 > 26 > 27 > 28 > 29 > 3 > 3 > 32 > 33 > 34 > 35 > 36 > 37 > 38 > 44
6.4.3 Ternäre Stimulusfolge stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 X stimmap dbb2_8 stimmap dbb2_8 stimmap dbb2_8 6.4.4 Ternäre Simulation > 2 X > 3 > 4 X > 5 > 6 > 7 > 8 > 9 > > > 2 X > 3 > 4 > 5 > 6 > 7 > 8 X > 9 > 2 > 2 > 22 X > 23 > 24 > 25 > 26 > 27 > 28 X > 29 > 3 > 3 > 32 > 33 > 34 X > 35 > 36 > 37 > 38 > 39 > 4 X > 4 > 42 > 43 > 44 X > 45
45 > 46 > 47 > 6.5 Verdrahtung Nach Von Bemerkung IC PIN IC PIN Funktion Ursprung X 8 NOT D 2 D 4 72 6 NOT 2 Q 2 5 4 Q 2 9 722 6 NOT 3 Q 9 Q 2 723 6 NOT 4 Q 3 2 Q 72 3 X 2 /S R 3 J 2 X 9 C C 9 3 K D 722 6 K2 Z 722 3 K3 Z 722 3 723 6 J Z 2 72 2 C C 9 72 9 K D 722 3 K2 Z 2 72 3 /R R 723 3 8 J Z 2 722 2 C C 9 722 9 K D 2 722 2 /R R Z 2 6 NOT 2 9 8 NOT 3 8 NOT 4 DAC Z 2 72 8 Q 2 Z 722 8 Q Z 723 8 Q 46