Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Oversigt Indhold mm.5: Latch’es og flip-flops

Lignende præsentationer


Præsentationer af emnet: "Oversigt Indhold mm.5: Latch’es og flip-flops"— Præsentationens transcript:

1 Oversigt Indhold mm.5: Latch’es og flip-flops
Analyse af synkrone sekventielle kredsløb Boolsk algebra, bygge-blokke, talsystemer Sekventielle kredsløb, analyse Kombinatoriske kredsløb, minimering Synkrone sekventielle kredsløb, design Kombina- torisk kredsløb In Out In Kombina- torisk kredsløb Out Hukom- melse Clk Out = funktion(In) til ”samme” tid Tilstand Out = funktion(AktuelTilstand, In) NæsteTilstand = funktion(AktuelTilstand, In)

2 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 In Kombina- torisk kredsløb Out Hukom- melse Clk Tilstand Out = funktion(Tilstand, In) NyTilstand = funktion(GammelTilstand, In)

3 Synkrone sekvensmaskiner
Hukommelses element Hukommelses element Hukommelses element Hukommelses element Fælles clock-signal Synkrone vs. asynkrone sekventielle kredsløb: Kendetegnet for et synkront kredsløb er, at skift af tilstand sker samtidigt i alle hukommelseselementer.

4 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.

5 Hukommelseselementer – bi-stabile elementer
Meta-stabilitet Inverter baseret bi-stabilt element Stabile ”arbejdsområder” Principielt set har vi 3 stabile områder for det bi-stabile element. I praksis vil elementet dog ikke befinde sig i meta-stabilitet ret længe .. fx. vil kredsløbsstøj ødelægge ligevægtsbetingelserne på et eller andet tidspunkt, hvorefter elementet vil indtage en af de to stabile områder .. hvilken er helt tilfældig.

6 Hukommelseselementer – bi-stabile elementer (S-R Latch)
Det inverter baseret bi-stabilt element tjener måske et formål som tilfældighedsgenerator, men udover det har vi ikke mulighed for at kontrollerer/styre elementets state. Ved at benytte NOR-gates er det muligt at styre staten. S R Q Q’ Last Q Last Q’ 1

7 Hukommelseselementer – S-R-latch
C = clock høj: Ændringer på indgangene S = set, R = reset giver ændringer på udgangene. C lav: Ændringer på indgangene har ingen virkning. Udgangssignaler forbliver uændrede. S’R’-latch

8 Hukommelseselementer – D-latch
En D-latch er blot en SR-latch med S og R forbundet via en inverter. C = clock høj: Ændringer på indgangen D = data føres igennem til udgangene. C lav: Ændringer på indgangen har ingen virkning. Udgangssignaler forbliver uændrede. Værdien af C gemmes/latches når clock går høj.

9 Hukommelseselementer – D-Flip-Flop
Positiv kanttrigget D-flip-flop: Kombinerer 2 D-latches Når Clk skifter fra lav til høj føres signalet på D-indgangen til udgangene og huskes til næste opadgående flanke på Clk. D-indgangens værdi “på andre tidspunkter” er ligegyldig. Kant trigget

10 Hukommelseselementer – JK-Flip-Flop
Positiv kanttrigget JK-flip-flop: Når Clk skifter fra lav til høj skiftes signalet på udgangene afhængigt af J- og K-indgangenes værdier og huskes til næste opadgående flanke på Clk. J- og K- indgangenes værdier “på andre tidspunkter” er ligegyldige. Karakteristisk ligning: Q’ = J*Q’ + K’*Q (mere om det senere …) PS: Der findes en anden udgave: Master-slave JK-flip-flop.

11 Hukommelseselementer - T-flip-flop
Positiv kanttrigget T-flip-flop: Skifter tilstand hver gang Clk skifter fra lav til høj. Toggle operationen kan fx. implementeres med en D-FF (a) eller en JK-FF (B). Resten af dette minimodul: Alle flip-flop’s antages at være (positiv) kanttriggede

12 Hukommelseselementer – Karakteristiske ligninger
Nu hvor vi har kredsløbselementer hvor output til et givet øjeblik afhænger af både det øjeblikkelige input OG det aktuelle output .. ja så kræves en lidt nøjere beskrivelse af elementerne. Til det kar vi den karakteristiske ligning. En karakteristisk ligning angiver Næste tilstand ud fra Aktuel tilstand og Inputs En naturlig måde hvorpå dette kan håndteres er at lade Qn+1 angive symbolværdi for næste tilstand mens Qn angiver den øjeblikkelige tilstand. For at følge Wakerly benyttes imidlertid Q* som indikator for næste tilstand. Tidligere er * brugt som symbol for AND operationen så for at undgå forvekslinger vil ‘C‘ symbolet herefter blive brugt som AND-operator. D-flip-flop: Q* = D

13 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* = JCQ’ + K’CQ T-flip-flop uden enable: Q* = Q’ T-flip-flop med enable: Q* = ENCQ’ + EN’ CQ

14 Synkrone sekvensmaskiner – state maskiner
Hukommelseselementet: Med alle disse hukommelseselementer har vi altså en række byggeblokke der hver især kan være i en eller flere states .. fx. kan Q = 1 eller Q = 0. Kredsløb med hukommelseselementer: Kombineres disse forskellige hukommelseselementer får vi altså et kredsløb der ligeledes kan være i en af flere states .. hvilken state og antallet af disse afhænger af den aktuelle implementation. Synkrone state maskiner: Kredsløb der består af hukommelseselementer hvor disse alle benytter et fælles clock signal. State maskine hukommelse: Hvis et kredsløb består af n hukommelseselementer vil dette kunne beskrive 2n forskellige states. Typer af state maskiner: Afhængingt af hvorledes outputtet fra en state maskine afhænger af nuværende state og/eller inputs opdeles i to typer af maskiner .. Mealy Moore

15 Synkrone sekvensmaskiner - typer
Mealy sekvensmaskine : Q* = Fkt(Q, Inputs) Outputs = G(Q, Inputs) Moore sekvensmaskine: Q* = Fkt(Q, Inputs) Outputs = G(Q) Moore maskinen har altså IKKE dette link !!!

16 Synkrone sekvensmaskiner - typer
Mealy kredsløb med outputsynkronisering: Fordel: Alle udgange skifter samtidigt Ulempe: Forsinkelse (1 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å output-strukturen og hvorledes denne skal implementeres for at imødekomme designkrav.

17 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 Karakteristisk ligning S-R Latch Q* = S + R’ CQ D Latch Q* = D Edge-triggered D-FF D-FF med enable Q* = ENCD + EN’ CQ Master/Slave S-R FF Master/Slave J-K FF Q* = JCQ’ + K’ CQ Edge-triggered J-K FF T-FF Q* = Q’ T-FF med enable Q* = ENCQ’ + EN’ CQ Husk at ’C’ indikerer en AND operation.

18 Procedure for analyse med D-flip-flops
Find exitations funktionen, F ud fra kredsløbsdiagrammet: Di(I1, I2, ...Im, Q1, Q2, ...Qn, C, +) Karakteristisk ligning for D-flip-flop: Qi* = Di Find next-state funktioner (transitions- ligninger): Qi* = Find output funktionen, G ud fra kredsløbsdiagrammet: Oi(I1, I2, ...Im, Q1, Q2, ...Qn, C, +) 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. (Option:) Tegn et tilstandsdiagram D0 D1 D2 . Q0 Q1 Q2 I1 I2 I3 O1 O2 O3

19 Eksempel: D-FF Mealy Find exitations funktionen, F ud fra kredsløbsdiagrammet: Di(I1, I2, ...Im, Q1, Q2, ...Qn, C, +) Karakteristisk ligning for D-flip-flop (Qi* = Di) Find next-state funktioner (transitions-ligninger): Qi* = Di(I1, I2, ...Im, Q1, Q2, ...Qn, C, +) Find output funktionen, G PS: Dette er en Mealy-maskine, da output er direkte afhængigt af input. D0 = Q0CE’ + Q0’CE D1 = Q1CE’ + (Q0xQ1)CE Qi* = Di Q0* = Q0CE’ + Q0’CE Q1* = Q1CE’ + (Q0xQ1)CE Out0 = Q0CE Out1 = Q1CE XOR 

20 Eksempel: D-FF Mealy 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. Q0* = Q0CE’ + Q0’CE Q1* = Q1CE’ + (Q0xQ1)CE Out0 = Q0CE Out1 = Q1CE E Q1 Q0 1 00 00/00 01/00 01 10/01 10 10/00 11/10 11 11/00 00/11 Q1* Q0* / Out1 Out0 NB: Out er angivet for aktuel tilstand

21 Eksempel: D-FF Mealy 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. Transition/output State State/output E Q1 Q0 1 00 00/00 01/00 01 10/01 10 10/00 11/10 11 11/00 00/11 Q1* Q0* / Out1 Out0 E S 1 A B C D S* E S 1 A A/00 B/00 B C/01 C C/00 D/10 D D/00 A/11 S* / Out1 Out0 Symbolske navne for tilstande A = {Q1 Q0} = {00} B = {Q1 Q0} = {01} .

22 Eksempel: D-FF Mealy (Option:) Tegn et tilstandsdiagram (Mealy) A B C
Out=00 Out=01 Out=10 Out=11 E = 0 State/output E S 1 A A/00 B/00 B C/01 C C/00 D/10 D D/00 A/11 S* / Out1 Out0 Funktion: 2-bit binær op-tæller med enable .. Med E = 1 vil kredsløbet gennemløbe følgende tællesekvens {0, 1, 2, 3, 0, 1, 2, 3, } med skifte ved hver clk.

23 Eksempel: D-FF Moore (Option:) Tegn et tilstandsdiagram (Moore)
Output angives i tilstandsringene E S 1 Out A B C D S* E = 0 E = 0 E = 1 A/0 B/0 E = 1 E = 1 E = 1 D/1 C/0 E = 0 E = 0

24 Procedure for analyse med JK-flip-flops
Find exitations funktioner ud fra kredsløbsdiagrammet: Ji(I1, I2, ...Im, Q1, Q2, ...Qn, C, +) Ki(I1, I2, ...Im, Q1, Q2, ...Qn, C, +) Karakteristisk ligning for JK-flip-flop: Qi* = JiCQi’ + Ki’CQi Find next-state funktioner (transitions-ligninger): Qi* = Ji(I1,..Im, Q1,...Qn, C, +) CQi’ + [Ki(I1,...Im, Q1,...Qn, C, +)]’CQi Find output funktioner ud fra kredsløbsdiagrammet: Oi(I1, I2, ...Im, Q1, Q2, ...Qn, C, +) 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. (Option:) Tegn et tilstandsdiagram

25 Eksempel med JK-flip-flops
Find exitations funktionerne ud fra kredsløbs- diagrammet: J0 = K0 = E J1 = K1 = ECQ0’ Karakteristisk ligning for JK-flip-flop: Qi* = JiCQi’ + Ki’CQi Find next-state funktioner (transitions- ligninger): Q0* = ECQ0’ + E’CQ0 Q1* = ECQ0’CQ1’ + [ECQ0’]’CQ1 Find output funktionen ud fra kredsløbsdiagrammet: Out0 = Q0’ Out1 = Q1’ Lav en transition/output-tabel. E S Q1 Q0 1 Out1 Out0 A 00 A = 00 D = 11 11 B 01 B = 01 10 C C = 10 D S* = Q1* Q0*

26 Eksempel med JK-flip-flops
Tegn et tilstandsdiagram (Moore) E = 0 E = 1 A/11 B/10 E = 0 E = 1 E = 1 E S Q1 Q0 1 Out1 Out0 A 00 A = 00 D = 11 11 B 01 B = 01 10 C C = 10 D S* = Q1* Q0* E = 0 E = 1 D/00 C/01 E = 0 Funktion: 2-bit binær op-tæller med enable.

27 Eksempel: flere inputs
Wakerly tabel 7-5: Flere input-vari- able giver flere søjler (Mealy): Wakerly tabel 7-4: Moore:

28 Eksempel 2 med JK-flip-flops
Find exitations funktionerne ud fra kredsløbs- diagrammet: J0 = Q1 K0 = X J1 = Q0 K1 = Y Karakteristisk ligning for JK-flip-flop: Qi* = JiCQi’ + Ki’CQi Find next-state funktioner (transitions- ligninger): Q0* = Q1 CQ0’ + X’CQ0 Q1* = Q0 CQ1’ + Y’CQ1 Find output funktionen ud fra kredsløbsdiagrammet: Out = Q0xQ1 Lav en transition/output-tabel næste tilstand, output, aktuel tilstand og input. YX S Q1 Q0 00 01 10 11 Out A A = 00 B D = 11 C = 10 1 C B = 01 D S* = Q1* Q0*

29 Eksempel 2 med JK-flip-flops
Tegn et tilstandsdiagram (Moore) næste tilstand, output, aktuel tilstand og input. YX S Q1 Q0 00 01 10 11 Out A A = 00 B D = 11 C = 10 1 C B = 01 D S* = Q1* Q0* 1 A/0 B/1 X=1 X=0 YX=10 YX=11 Y=1 Y=0 D/0 C/1 YX=01 YX=00

30 Syntese eksempel: 2-bit op/ned tæller
States: En 2-bit tæller kræver 4 states {S0 = 00, S1 = 01, S2 = 10, S3 = 11} Definition: X = 1 -> tæl op X = 0 -> tæl ned State diagram: 11 X = 1 X = 0 10 01 00

31 Syntese eksempel: 2-bit op/ned tæller
State og tilstandstabel: States Input X = 0 X = 1 (Si) (Si*) S0 S3 S1 S2 States Input Q1 Q0 X = 0 X = 1 (Si) (Si*) 00 11 01 10 Karakteristiske ligninger: Hvis vi baserer designet på D-FF’s får vi Q* = D som vores karakteristiske ligning. Exitations ligninger: Q1Q0 X Q1Q0 X D0 D1 00 01 11 10 00 01 11 10 1 2 6 4 3 7 5 1 2 6 4 3 7 5 1 1

32 Syntese eksempel: 2-bit op/ned tæller
Exitations ligninger: D0 Q1Q0 X Q1Q0 X D1 00 01 11 10 00 01 11 10 1 2 6 4 3 7 5 1 2 6 4 3 7 5 1 1 D0 = Q1’CQ0’ + Q1CQ0CX’ + Q1CQ0’CX D1 = Q1CQ0’ + Q1’CQ0’CX’ + Q1’CQ0CX

33 Syntese eksempel: 2-bit op/ned tæller
Endeligt diagram for 2-bit tæller:

34 Bemærkninger til opgaveregning ...
Skulle være lige til at gå til .. Opgave 5: 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 sidste gang. 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 ;)


Download ppt "Oversigt Indhold mm.5: Latch’es og flip-flops"

Lignende præsentationer


Annoncer fra Google