Oversigt Indhold mm.5: Latch es og flip-flops Analyse af synkrone sekventielle kredsløb Syntese Boolsk algebra, byggeblokke, talsystemer Kombinatoriske kredsløb, minimering Sekventielle kredsløb, analyse Synkrone sekventielle kredsløb, design In Kombinatorisk kredsløb Out In Clk Hukommelse Kombinatorisk kredsløb Out Out = funktion(in) til samme tid Tilstand Out = funktion(aktueltilstand, In) NæsteTilstand = funktion(aktueltilstand, In)
Synkrone sekvensmaskiner analyse vs. syntese Beskrivelse: Maskinen skal indlæse én bit for hver Clk-puls og for hver ottende puls, skal de sidste 8 indlæste bits sættes ud på 8 parallelle udgange. Syntese Analyse Fokus her Og her In Clk Hukommelse Kombinatorisk kredsløb Out Tilstand Out = funktion(tilstand, In) NyTilstand = funktion(gammeltilstand, In) 2
Hukommelseselementer Hukommelseselementer: Grundpillen i sekventielle kredsløb er hukommelseselementet. Gennem tiden er en lang række af sådanne dukket op.. alle med mere eller mindre heldige og uheldige egenskaber.. og mere eller mindre forskellige egenskaber. Eksempler på disse er fx: S-R Latch D Latch J-K Latch T Latch Dem kigger vi lidt nærmere på før vi skal se lidt nærmere på hvorledes sekventielle kredsløb analyseres. Tilsidst kommer et syntese eksempel. 3
Hukommelseselementer Karakteristiske ligninger Karakteristiske ligninger angiver Næste tilstand ud fra Aktuel tilstand og Inputs Q* symbol for næste tilstand JK-flip-flop: Q* = J Q + K Q T-flip-flop uden enable: Q* = Q T-flip-flop med enable: Q* = EN Q + EN Q 4
Synkrone sekvensmaskiner - typer Mealy kredsløb med outputsynkronisering: Fordel: Alle udgange skifter samtidigt Ulempe: Forsinkelse ( Clk-periode) Mealy vs Moore: Dette er egentlig ikke så afgørende om det er den ene eller den anden type.. blot skal der være styr på outputstrukturen og hvorledes denne skal implementeres for at imødekomme designkrav. 5
Synkrone sekvensmaskiner karakteristiske ligninger De karakteristiske ligninger: Typen af hukommelseselement er helt og aldeles afgørende for en state maskines funktion, så for at kunne analysere denne er det vigtigt at kende de karakteristiske ligninger for de forskellige typer af hukommelseselementer. Hukommelseselement S-R Latch D Latch Edge-triggered D-FF D-FF med enable Master/Slave S-R FF Master/Slave J-K FF Edge-triggered J-K FF Karakteristisk ligning Q* = S + R Q Q* = D Q* = D Q* = EN D + EN Q Q* = S + R Q Q* = J Q + K Q Q* = J Q + K Q T-FF Q* = Q T-FF med enable Husk at indikerer en AND operation. Q* = EN Q + EN Q 6
Procedure for analyse med JK-flip-flops. Find exitations funktioner ud fra kredsløbsdiagrammet: Ji(I, I2,...Im, Q, Q2,...Qn,, +) Ki(I, I2,...Im, Q, Q2,...Qn,, +) 2. Karakteristisk ligning for JK-flip-flop: Qi* = Ji Qi + Ki Qi 3. Find next-state funktioner (transitions-ligninger): Qi* = Ji(I,..Im, Q,...Qn,, +) Qi + [Ki(I,...Im, Q,...Qn,, +)] Qi 4. Find output funktioner ud fra kredsløbsdiagrammet: Oi(I, I2,...Im, Q, Q2,...Qn,, +) 5. Lav en transition/output-tabel. Denne tabel giver en fuldstændig specifikation for næste tilstand og output for enhver mulig kombination af aktuel tilstand og input. 6. (Option:) Tegn et tilstandsdiagram 7
Eksempel med JK-flip-flops. Find exitations funktionerne ud fra kredsløbsdiagrammet: J0 = K0 = E J = K = E Q0 2. Karakteristisk ligning for JK-flip-flop: Qi* = Ji Qi + Ki Qi 3. Find next-state funktioner (transitionsligninger): Q0* = E Q0 + E Q0 Q* = E Q0 Q + [E Q0 ] Q 4. Find output funktionen ud fra kredsløbsdiagrammet: Out0 = Q0 Out = Q 5. Lav en transition/output-tabel. E S Q Q0 0 Out Out0 A 00 A = 00 D = B 0 B = 0 A = 00 0 C 0 C = 0 B = 0 0 D D = C = 0 00 S* = Q* Q0* 8
Eksempel med JK-flip-flops 6. Tegn et tilstandsdiagram (Moore) E = 0 A/ E = B/0 E = 0 E = E = E = 0 D/00 E = C/0 E = 0 Funktion: 2-bit binær op-tæller med enable. E S Q Q0 0 Out Out0 A 00 A = 00 D = B 0 B = 0 A = 00 0 C 0 C = 0 B = 0 0 D D = C = 0 00 S* = Q* Q0* 9
Eksempel: flere inputs Wakerly tabel 7-5: Flere input-variable giver flere søjler (Mealy): Z= XQQ0+YQ Q0 Wakerly tabel 7-4: Moore: Z= Q2+Q +Q0 Z2= Q2Q+Q2Q0 0
Eksempel 2 med JK-flip-flops. Find exitations funktionerne ud fra kredsløbsdiagrammet: J0 = Q K0 = X J = Q0 K = Y 2. Karakteristisk ligning for JK-flip-flop: Qi* = Ji Qi + Ki Qi 3. Find next-state funktioner (transitionsligninger): Q0* = Q Q0 + X Q0 Q* = Q0 Q + Y Q næste tilstand, output, aktuel tilstand og input. 4. Find output funktionen ud fra kredsløbsdiagrammet: Out = Q0 Q 5. Lav en transition/output-tabel YX S Q Q0 00 0 0 Out A 00 A = 00 A = 00 A = 00 A = 00 0 B 0 D = C = 0 D = C = 0 C 0 D = D = B = 0 B = 0 D D = C = 0 B = 0 A = 00 0 S* = Q* Q0*
Eksempel 2 med JK-flip-flops 6. Tegn et tilstandsdiagram (Moore) næste tilstand, output, aktuel tilstand og input. A/0 B/ X=0 X= YX S Q Q0 00 0 0 Out A 00 A = 00 A = 00 A = 00 A = 00 0 B 0 D = C = 0 D = C = 0 C 0 D = D = B = 0 B = 0 D D = C = 0 B = 0 A = 00 0 S* = Q* Q0* YX= D/0 YX=0 Y=0 C/ Y= YX=00 YX=0 2
Syntese eksempel: 2-bit op/ned tæller States: En 2-bit tæller kræver 4 states {S0 = 00, S = 0, S2 = 0, S3 = } Definition: X = -> tæl op X = 0 -> tæl ned State diagram: X = 0 X = X = 0 X = 0 X = X = 0 X = 00 0 X = 0 3
Syntese eksempel: 2-bit op/ned tæller State og tilstandstabel: States Input X = 0 X = (Si) (Si*) (Si*) S0 S3 S S S0 S2 S2 S S3 S3 S2 S0 States Input Q Q0 X = 0 X = (Si) (Si*) (Si*) 00 0 0 00 0 0 0 0 00 Karakteristiske ligninger: Hvis vi baserer designet på D-FF s får vi Q* = D som vores karakteristiske ligning. Exitations ligninger: QQ0 QQ0 D0 D X 00 0 0 X 00 0 0 0 0 2 6 4 0 0 2 6 4 0 0 3 7 5 3 7 5 0 0 4
Syntese eksempel: 2-bit op/ned tæller Exitations ligninger: D0 QQ0 QQ0 D X 00 0 0 X 00 0 0 0 0 2 6 4 0 0 2 6 4 3 7 5 3 7 5 D0 = Q0 D = Q Q0 X+ Q Q0 X + Q Q0 X + Q CQ X X Q X Q0 D Q0 Q D0 5
Syntese eksempel: 2-bit op/ned tæller Endeligt diagram for 2-bit tæller: X X Q D D Q Z CLK Q Q0 Q Q0 D0 D Q Z0 CLK CLK Q 6
Bemærkninger til opgaveregning... Opgave : Skulle være lige til at gå til.. Opgave 2: Her be r jeg om en minimum cost løsning hvilket vil sige, at I skal bruge så få gates som muligt. Her skal I huske på situationen med don t cares fra vor karnaugh udfyldning. Ved at inkluderer disse don t cares ifbm. Karnaugh-kort reduktion finder I en minimum cost løsning. Hvis dette ikke gøres ender I op med en minimum risk løsning istedet. Ved en minimum cost løsning er det vigtigt at sikre sig, at det sekventielle kredsløb ikke låser når det møder en af disse don t cares.. så det skal naturligvis kontrolleres. God fornøjelse :-) 7