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

Slides:



Advertisements
Lignende præsentationer
HUNDE SPEED km h 34,4 HUNDE SPEED km h 34,1 HUNDE SPEED km h 32,8 HUNDE SPEED km h 31,9 HUNDE SPEED km h 31,8 HUNDE SPEED km h 30,9.
Advertisements

Den danske befolknings syn på handicappedes rettigheder
Atomer Et programmeret forløb. En måde at lære på.
At Dividere.
NemID og Fællesskema 2014 v/Signe Hansen Blegmand
Funktioner Grundbegreber.
Forsiden 1.Denne knap bruges når du vil taste dagens resultater ind. 2.Denne knap skal kun bruges hvis du allerede har gemt data og du finder ud af at.
Torbenfeldvej Vallensbæk strand Tlf.: – – dagligt brug af vores hjemmeside •AGEN LYS har en stor og omfattende.
Grundlæggende IT Lektion 4 Sådan virker pc’en
Oplæg til BRK: Udligningsreform og overvejelser vedr. anvendelser af CRT’s data og modeller Bjarne Madsen.
1 Alder år 55 % år 24 % år 17 % Hvor længe på VUC? 1 år 93%
Logaritmefunktioner (skal bruges til at løse ligninger)
Formularer (Access, del 3)
Trivselsundersøgelse og ledelsesevaluering
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS 15] Gerth Stølting Brodal.
SMUT PAKKE 4 VIDEN OM MOTION.
Koordinatsystemet Y-aksen 2. aksen X-aksen 1. aksen.
SEO PÅ AU.
1 Effektiv forrentning Kjeld Tyllesen PEØ, CBS Erhvervsøkonomi / Managerial Economics Kjeld Tyllesen, PEØ, CBS.
Statistik.
Oversigt Indhold mm.5: Latch’es og flip-flops
ER-diagrammer (databaser, del 4)
Syntese af kombinatoriske kredsløb
Motorer og turbiner Lektion 5 Motorer.

Design af brugerflader8.1 Kursusgang 8 Oversigt: Sidste kursusgang Design ­ Design og beskrivelse ­ En simpel notation Eksempel på design af dialogen ­
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 4. november 2005.
Representations for Path Finding in Planar Environments.
Signalbehandling og matematik (Tidsdiskrete signaler og systemer)
Kursus om borger.dk og brugen af digital signatur
Introduktion til Access (Access, del 1)
Opslagsfelter (Access, del 6). RHS – Informationsteknologi 2 Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser vores.
Oprettelse af tabeller (Access, del 2)
Rapporter (Access, del 5)
Reduktion AM 2009.
Sådan vedligeholdes grundkortets 4 faner Vil du ændre de kort, der vises via Skoleporten > Om skolen > Grundplaner, skal du blot ændre i disse filer: Grundplan_Oversigt.gif.
Økonometri 1: Dummy variable
Signifikanstest ved (en eller) to stikprøver
Trivselsundersøgelse og ledelsesevaluering Anæstesiologisk Afdeling Flere ledere
MATLAB Programmering Anders P. Ravn Institut for Datalogi Aalborg Universitet Forår 2005 d = size(s); for k = 1:d(1), for n = 1:d(2), if (s(k,n) < 0) r(k,n)
1 Algoritme til at løse knude P-center problemet Algoritmen brugte set covering problemet Virker derfor kun til knude problemer Vi vil alligevel bruge.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 7. april 2003.
1 Borgerpanelet i Silkeborg Kommune.
Logiske styringer.
Globaliseringsredegørelsen 24.mar. 14 Figurer fra Danmark tiltrækker for få udenlandske investeringer i Sådan ligger landet
1 Sortering I elementære metoder. 2 Plan Terminologi Elementære metoder til sortering -sortering ved udvælgelse -sortering ved indsættelse -Shellsort.
Claus Brabrand, ITU, Denmark Mar 10, 2009EFFECTIVE JAVA Effective Java Presentation Workshop Claus Brabrand [ ] ( “FÅP”: First-year Project.
LDK D3 kursusplan LDK 1 Introduktion, talsystemer, boolsk algebra, DeMorgan, sandhedstabeller, LDK 2 Logiske byggeblokke, grafisk minimering, Kaunaugh,
MSBuild & Team Build i C#/C++ solutions VSTS ERFA d. 25 November.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
1 USB Gennemgang af installering af USB driver til ICT. Er fortaget på Windows XP.
Grunde til at jeg elsker dig
GP 11, 14/ Grundlæggende programmering Efterår 2001 Forelæsning 11 onsdag 14/ kl. 9:15 – 12:00.
Fundamentale datastrukturer
Opslagsfelter (Access, del 6). RHS – Informationsteknologi – Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
10.mar. 15 Udvikling i løn, priser og konkurrenceevne Dansk Industri.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
DIEB4.1 Kursusgang 4 Oversigt: Sidste kursusgang Opgaver Aktivitet 2: Generer design (fortsat) Design af interaktionselementer.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation, og dataproblemer 9. november 2004.
Økonometri 1: Specifikation og dataproblemer1 Økonometri 1 Specifikation og dataproblemer 2. november 2004.
Oprettelse af tabeller (Access, del 2)
1 Læringsstil, samt Projektplanlægning og projektstyring Mål: At i får kendskab til jeres egen læringsstil. At I får et grundlæggende kendskab til projektplanlægning.
Boolsk algebra Slides mm 3:.
Grundlæggende programmering Forår 2002
Basics: Binære variable, logiske operationer
Øvelse 7.1 De 4 flip-flop typer S-R: Set-Reset D: Delay T: Toggle
Præsentationens transcript:

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)

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)

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.

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.

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.

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

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

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.

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

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.

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

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

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

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

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 !!!

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.

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.

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

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 

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

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

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.

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

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

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*

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.

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

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*

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

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

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

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

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

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 ;)