IE1205 Digital Design: F13: Asynkrona Sekvensnät (Del 2)

Relevanta dokument
Repetition delay-element

Digital Design IE1204

Digital Design IE1204

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Asynkrona sekvensmaskiner

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

IE1204 Digital Design

Digital Design IE1204

Sekvensnät Som Du kommer ihåg

Digital Design IE1204

Digital Design IE1204

Sekvensnät. William Sandqvist

Digital Design IE1204

Digital- och datorteknik

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Digitalteknik F9. Automater Minneselement. Digitalteknik F9 bild 1

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tentamen IE Digital Design Måndag 23/

Tentamen med lösningar IE Digital Design Måndag 23/

Tentamen i IE1204/5 Digital Design måndagen den 15/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Omtentamen IE Digital Design Måndag 14/

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tenta i Digitalteknik

TSEA22 Digitalteknik 2019!

IE1204/IE1205 Digital Design

Tenta i Digitalteknik

IE1204/5 Digital Design typtenta

Tentamen IE1204 Digital Design Måndag 15/

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

Tenta i Digitalteknik

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

TSEA22 Digitalteknik 2019!

Digital Design IE1204

Tentamen i IE1204/5 Digital Design Torsdag 29/

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik Mattias Krysander Institutionen för systemteknik

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

IE1204/5 Digital Design typtenta

Omtentamen med lösningar IE Digital Design Måndag 14/

Programmerbar logik och VHDL. Föreläsning 4

Sekvensnät vippor, register och bussar

Tentamen med lösningar i IE Digital Design Fredag 21/

Tentamen i Digitalteknik, EITF65

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

D0013E Introduktion till Digitalteknik

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

Tentamen i IE Digital Design Fredag 21/

Quine McCluskys algoritm

Tenta i Digitalteknik

Flaskautomaten Ett design-exempel av Ingo Sander

Tentamen IE Digital Design Fredag 15/

Tentamen IE Digital Design Fredag 13/

Sekvensnät i VHDL del 2

Tentamen med lösningar i IE Digital Design Fredag 15/

Tenta i Digitalteknik

Tenta i Digitalteknik

SEKVENSKRETSAR. Innehåll

Digital elektronik CL0090

Tentamen i Digitalteknik, EIT020

Låskretsar och Vippor

F5 Introduktion till digitalteknik

Tentamen med lösningar IE Digital Design Fredag 13/

Digital Design IE1204

Tentamen i Digital Design

Digital Design IE1204

Tenta i Digitalteknik

Laboration i digitalteknik Introduktion till digitalteknik

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

Digital Design IE1204

Digital- och datorteknik

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Konstruktionsmetodik för sekvenskretsar

Grundläggande Datorteknik Digital- och datorteknik

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Digital Design IE1204

Digitala system EDI610 Elektro- och informationsteknik

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

Tentamen i Digitalteknik TSEA22

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

Tentamensskrivning 11 januari 2016

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

Mintermer. SP-form med tre mintermer. William Sandqvist

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Försättsblad till skriftlig tentamen vid Linköpings Universitet

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Försättsblad till skriftlig tentamen vid Linköpings universitet

Översikt, kursinnehåll

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Läsminne Read Only Memory ROM

Digital Design IE1204

DESIGN AV SEKVENTIELL LOGIK

IE1204 Digital Design

Transkript:

IE25 Digital Design: F3: Asynkrona Sekvensnät (Del 2)

Rep. Tillståndsmaskiner LT_I_EURO (a) (b) (c) COIN_PRESENT COIN_PRESENT COIN_PRESENT COIN_PRESENT Tillståndsmaskiner styr sekvenser av händelser. Övergångar mellan tillstånd styrs av instignaler och nuvarande tillstånd Motsvarar program implementerat i digital hårdvara Exempel tillståndsmaskin Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DECODER) Tillståndsregister (STATE REGISTER) Utgångsavkodare (OUTPUT DECODER) Utgångssignaler Clk Synkront sekvensnät (Moore automat)

Rep. Asynkrona Sekvensnät Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DECODER) Tillståndsregister (STATE REGISTER) Utgångsavkodare (OUTPUT DECODER) Utgångssignaler Clk Synkront sekvensnät. Tillståndet låses i ett klockat tillståndsregister. Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DECODER) Utgångsavkodare (OUTPUT DECODER) Utgångssignaler Asynkront sekvensnät. Tillståndet återkopplas direkt.

Rep. Asynkrona Sekvensnät R Q S Q Exempel: SR vippa kan analyseras som ett asynkront sekvensnät Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DECODER) Utgångsavkodare (OUTPUT DECODER) Utgångssignaler Asynkront sekvensnät. Tillståndet återkopplas direkt.

Gyllene regeln Endast EN signal åt gången ändras

Rep. Asynkrona Sekvensnät Pga osäkerhet i fördröjningar antar vi att endast en insignal och tillståndsvariabel ändras i taget. (Hamming distance = ) A B C D Om flera tillstånd ändrades samtidigt skulle vi kunna få osäkra tillstånds övergångar (Race condition, Hazard) E F Exempel: Försöker vi gå från tillstånd A till tillstånd D (insignal ändras från ->) och signalerna inter är EXAKT synkroniserade blir insignalen (->->) eller (->->) hamnar vi antingnen i tillstånd E eller F. I en verklig implementering är inga signaler exakt synkroniserade, vi kan alltså inte garantera att vi kommer till tillsånd D.

Rep. Asynkrona Sekvensnät Samma sak på tabellform: Pres state Next State X= A A B C - B x B - E C x - C F Stabila tillstånd Vi kan inte garantera att vi kan komma till detta tillstånd x ej definierade av tillståndsgrafen (don t care) B E A C F Exempel: Försöker vi gå från tillstånd A till tillstånd D (insignal ändras från ->) och signalerna inter är EXAKT synkroniserade blir insignalen (->->) eller (->->) hamnar vi antingnen i tillstånd E eller F. I en verklig implementering är inga signaler exakt synkroniserade, vi kan alltså inte garantera att vi kommer till tillsånd D. D

Rep. Tillståndsminimering ND= N A/ D Två tillstånd kan vara ekvivalenta och minimeras. N B/ ND= D C/ Minimera för att förenkla tillståndsmaskinen ND= N N E/ D/ D D F/ Ex: Tillstånd C och F kan minimeras, eftersom godis skall matas ut om en dime matas in i automaten oberoende av tidigare tillstånd ND= ND= ND=

Hasard: Spikar på signalvärden När man konstruerar asynkrona kretsar så kan det händer att man få spikar (glitches) på signalvärden Detta beror på att olika signalvägar har olika fördröjningstider Fenomenet kallas för hasard (hazard) och kan elimineras med noggrann konstruktion 9

Snabbfråga Vilket tidsdigaram motsvarar bäst den signal som genereras av följande grindnät vid stigande flank? in Q in in in Q Q Q Alt: A Alt: B Alt: C

Snabbfråga Vilket tidsdigaram motsvarar bäst den signal som genereras av följande grindnät vid stigande flank? in x Q in in in Q Q Q x Alt: A PGA fördröjning i inverterare blir båda ingångarna till AND grinden ett kort tag Alt: B Alt: C Alt C tar ej hänsyn till fördröjning i AND grind

Olika typer av Hasard Statisk Statisk Dynamisk Dynamisk 2

Signal från detektor Exempel på möjliga problem Grindnät med hazard Räknare Problem: Om grindnätet genererar spikar kommer räknaren visa felaktigt antal detekterade partiklar ATLAS particle detector I askynkrona sekvensnät måste vi undvika hazard

Statisk Hasard Statisk Statisk knappar q Exempel: Trycker vi ned båda knapparna genereras alltid en kort puls på ugången eftersom vi inte kan trycka ned knapparna EXAKT samtidigt 4

Exempel Statisk Hasard Hasard kan uppträda vid nedanstående krest om vid övergången av x 3 x 2 x från => x 2 x p f x 3 q f x x2 xx 3 5

Tidsdiagram x 2 x p f f x x2 xx 3 x 3 q x p x x 2 x 3 q f Hasard t 6

Hur undviker man statisk Hasard? Möjligheten för statisk hasard finns om två intillliggande :or inte är täckta med en egen produkter i Sum of Products Därmed kan man ta bort risken för statisk hazard genom att lägga till en inringningar så att alla intillliggande :or är täckta med en egen inringning 7

Hasardfri krets (SOP) x 2 x p x p x 3 q f q Hasard-Cover x x 2 x 3 r r f t f x x2 xx 3 x2x3 8

Statisk Hasard i en POS-circuit Har man en Product of Sums (POS)-implementering så måste man se till att man alla bredvidliggande :or är täckta av en egen produktterm 9

Dynamisk Hasard En dynamisk hasard orsaker flera spikar på utgången En dynamisk hasard orsakas av kretsens struktur Dynamisk Dynamisk 2

Exempel: Dynamisk Hasard Följande ekvation osaker ingen hasard om man implementera det som AND-ORstruktur f x x2 x3x4 xx 4 2

Exempel: Dynamisk Hasard Men implementerar man ekvationen med följande flernivåslogik, så uppträder dynamsik hasard x x 2, x 3, x 4 One gate delay a b b c x x 2 x 3 a c d f d f x 4 22

Hur kan man undvika Dynamisk Hasard? Dynamisk hasard kan undvikas med två-nivåslogik Man måste vid minimering se till att kretsen är fri från statisk hasard, då finns det inte heller en dynamisk hasard! 23

Snabbfråga Vilket/vilka av följande grindnät kan ge upphov till hazard då x ändras? x x Alt: B x Alt: A Alt: C

Snabbfråga Vilket/vilka av följande grindnät kan ge upphov till hazard då x ändras? x x Alt: B a x b Alt: A Alt: C Risk för hazard då a= och b= Den extra grinden täcker inte detta fall (utan a= och b=)

När ska man tänker på hasard? I ett asynkront sekvensnät måste avkodaren för nästa-tillstånd vara hasardfri! Annars kan man hamnar i ett inkorrekt tillstånd För kombinatoriska kretsar är hasard inte viktigt eftersom utgången kommer efter ett kort tag stabiliserar sig I ett synkront sekvensnät är hasard inget problem, så länge man respekterar setup- och hold-tider (under dessa tider får hasard inte uppträda!) 26

Undvik Hasard! Statisk Statisk Dynamisk Dynamisk Statisk hasard orsakas av utelämnade primimplikanter Dynamisk hasard kan uppstå när man implementera kretsar med flernivåslogik. Två- nivåslogikkretsar som är fria från statisk hasard är också fria från dynamisk hasard. 27

Exempel på önskvärd hazard Clock in Data UWB On-Chip Antenna Pulse generators Exempel: Kommunikation med Pulsad Ultra Wideband Chipfoto

Spikar på utgången i ett asynkront sekvensnät Pres state Next State X= Q y 2 y Y 2 Y Man kan få utgångsspikar I ett asynkront sekvensnät när man byter från ett stabilt tillstånd till ett annat genom att passerar flera instabila tillstånd (Fenomenet är ingen hasard!).

Metastabilitet? Om Clk och D slår om samtidigt, vilket värde får då Q?

Metastabilitet (forts.) Denna instabilitet varar tills transistorerna i återkopplingen behagar gå åt ena eller andra hållet men det kan ta tid, och tiden beror bla på hur nära V DD /2 som låsningen skedde. Man kan likna situationen vid en boll som ligger på toppen en kulle eller en penna som balanserar på sin spets. Minsta störning kommer att få bollen eller pennan att falla åt ena eller andra hållet.? Om Clk och D switchar samtidigt, vilket värde får då Q? På vilken sida kommer bollen att trilla ner? 3

Inverterarens överföringsfunktion V out V DD 45 graders lutning Vin VDD T Vout T 2 V DD /2 Inom detta område är förstärkningen visserligen hög, men den är också ganska linjär. VSS V in V DD V T V IL V IH V DD -V T För att förstå metastabilitet krävs att grindar analyseras som analoga byggblock 32

Om metastabilitet... Q D C För att förstå vad metastabilitet innebär så kan vi tänka oss att insignalen D till latchen är väldigt belastad och därmed slår om mycket långsamt i förhållande till klockan. Antag vidare att klock-signalen C slår om precis när D är vid V DD /2. Då låser sig latchen vid det spänningsvärde som råkar finnas på D. Efter en tid slår latchen om till antingen eller. 33

Exempel Setup and Hold time Utgången stabiliseras alltid till ett logiskt värde, men det tar längre tid om setup och hold time är litet. På grund av process variationer är det också osäkert exakt vid vilken tidpunkt övergången mellan setup och hold sker. Q utgången får D ingångens värde Q utgången behåller sitt värde

Exempel: Time to Digital converter Används för att detektera tidsskillnad mellan två signaler, tex vid frekvenslåsning och i avståndsmätning Exempel vågform

Setup and Hold time (= metastabilitets-skydd) För att undvika samtidigt omslag/switchning, så måste setup and hold times garanteras: D Clk Setup time är den tid D måste vara stabil innan Clk ändrar värde Hold time är den tid D måste vara stabil efter Clk har ändrat värde Setup Hold time Om Setup and Hold times är uppfyllda, så kommer vippan (Flip-flop) att garanterat bete sig snällt/deterministiskt! 36

Asynkrona ingångar Dessvärre kan vi inte alltid garantera att en ingång är stabil under hela setup- och holdtiden Antag att du kopplar in en tryckknapp på D- ingången av en vippa Användaren kan trycker knappen när som helst, även under setup- och hold-tiden! Risken är att vippan hamnar i ett metastabilt tillstånd! 37

Synkronisering av asynkrona utgångar För att synkronisera asynkrona ingångar användar man en extra vippa på ingången Den första vippans utgång (A) kan hamnar i ett metastabilt läge Men om klockperioden är tillräckligt lång, så kommer den att stabiliseras innan nästa klockflank, så att B inte hamnar I ett metastabilt läge! Data (asynchronous) D Q A D Q B Data (synchronous) Clock Q Q 38

Exempel förbättrad SR-latch Konstruktion av set-dominant SR-latch Specifikation Konstruktionen är en speciell typ av SR-latch (det finns inte ett förbjudet läge ) Om S och R är så går latchen i SET-läge (Q = ) Latchen kan först gå till RESET-läge om. både S och R först sätts till S= och R= (Q = ) 2. R aktiveras (S =, R = ) Q =! Källa: Fletcher: Engineering Approach to Digital Design, Prentice-Hall, 98. Exempel.5 (pp 67).

Repris: SR-latch R S (a) Circuit Så länge man undviker insignalen S = R = ( = förbjudet tillstånd ) kommer utgångarna Q a och Q b att vara varandras inverser. Man kan då använda symbolen till höger. Q a Q b S R Q a / / (b) Truth table S R Q b SR-Latch S R (no change) Tar man signaler från låskretsar finns det således alltid inverser att tillgå! Förbjuden insignal S=R= Q Q a Q b? Q Q

Mer problem med SR-latchen R Q a S R Q a Q b / / (no change) S Q b (a) Circuit (b) Truth table Om man går från SR = till SR = är det en dubbeländring som krävs av insignalerna. Därför hamnar vi antingen i Q = eller i Q = ingen kan veta! Detta är ytterligare ett skäl till att förbjuda SR =.

SET-dominant SR-latch () () () () f SR( QQ) () () () Q= e () b () a () () c () () () () d () () Q= SR

Önskat beteende SR= Set-dominant SR-latch Vanlig SR-latch

SET-dominant SR-latch () e () () () () () () f b c () SR( QQ) () () () () () a d () () () a b c d e f a a c c a d d d f f SR( QQ) e e e e b b b b Q Q () SR Tillståndet e tar hand om fallet SR =

Kompatibilitet a () b () c () d () e () f () Det finns inga ekvivalenta tillstånd, finns det några Moorekompatibla tillstånd?

Kompatibilitet a () b () c () d () e () f () Många valmöjligheter a(): ad-b b(): a-eb b(): a-eb f(): afe- c(): cd-b d(): cde- b(): a-eb e(): -feb e(): -feb f(): afe-

Kompatibilitetsgraf Många valmöjligheter a () e () c () b () f () d () Nya beteckningar a (ab), e (ef), c (cd) Tre tillstånd kräver två tillståndsvariabler Y 2 och Y a c e a c a c c e SR( QQ) e e e a a a Q Q Reducerad flödestabell

Tillståndskodning Vald tillståndskod (Gray) a c y 2 y e a, e Q c Q Q Övergångs-tillstånd Utgångsavkodning y 2? Från c till e krävs det en dubbeländring av Y 2 Y detta ändras med hjälp av övergångstillståndet till två enkeländringar

Karnaughdiagram Y 2 Sy2 SRy Ry2 y Y Ry SR Hasardfria nät direkt!

Krets-schema y Y Y 2 Sy2 SRy Ry2 y Ry SR y y 2 2 Q Q Här har vi vår idiotsäkra SR-låskrets!

Otur!

En annan lösning? Förutom att lösa problemet med dubbeländringen, som vi redan löst, vill vi få så enkla nät som möjligt! Vad händer om vi skriver som instabilt tillstånd i ruta 3 (på ren spekulation att detta kommer att ge oss ett enklare nät)? Från i ruta 2 till i ruta 3 är en ofarlig dubbeländring. Blir det hamnar man stabilt i, blir det går man till och till sist stabilt till.

Nya Karnaughdiagram Från till är en ofarlig dubbeländring som till sist alltid leder till Y 2 Sy2 Ry Y Ry SR Enklare nät! Vi introducerade en ickekritisk Hasard och det gav oss större hoptagningar och ett enklare nät!

Idiotsäker och kompakt Y Y 2 Sy2 Ry Ry SR y y 2 y y 2 2 Q Q

Sammanfattning Asynkrona tillståndsmaskiner Bygger på analys av återkopplade kombinatoriska nät Alla vippor och latchar är asynkrona tillståndsmaskiner En liknande teori som för synkrona tillståndsmaskiner kan appliceras Bara en ingång eller tillståndsvariabel kan ändras åt gången! Man får även ta hänsyn till kapplöpningsproblem 55

Sammanfattning Race conditions and Hazards Static and dynamic hazards Metastability