Hovedpunkter Kapittel 5 Tilstandsmaskin Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D flip-flop basert smaskin Reduksjon av antall er Tilordning av skoder Designprosedyre for smaskin basert på D flipflops 2 Tilstandsmaskin n smaskin er et sekvensielt system som gjennomløper et sett med er styrt av verdiene på inngangssignalene Tilstanden systemet befinner seg i, pluss evt. inngangsverdier bestemmer utgangsverdiene Tilstandsmaskins-konseptet gir en enkel og oversiktlig måte å designe avanserte system på Generell smaskin basert på D flip-flops N-stk flip-flops gir 2 N forskjellige er Utgangssignalene er en funksjon av nåværende pluss evt. inngangsverdier Tilstandsmaskin 3 4
5 ksempel nr. Tilstandsmaskin der utgang y er en funksjon av en gitt av verdiene til og, samt inngangen x x D A D B y 6 Tilstandstabell Tilstandstabell = sannhetstabell for smaskin ksempel nr.: n inngang, en utgang og 2 stk. D flipflops Utgang for nåværende Inngang x y 7 ksempel nr.: Tilstandsdiagram Tilstandsdiagram = grafisk illustrasjon av egenskapene til en smaskin Inngangsverdi x som medfører ny, samt utgangsverdi y for opprinnelig med inngangsverdi x x / y Tilstand / / / / / / / / 8 ksempel nr.2 To innganger x og y, en utgang som bare er gitt av en x y Innganger x y D A Utgang for nåværende
ksempel nr.2 ksempel nr.3 design av sekvensdetektor Tilstandsdiagram, /, /, / Ønsker å lage en krets som finner ut om det har forekommet tre eller flere ere etter hverandre i en klokket bit-sekvens x Liste av inngangskombinasjoner som gir ny / utgangsverdi for nåværende *, / Klokket bit-sekvens: Binært signal som kun kan skifte verdi synkront med et klokkesignal *Merk at i dette tilfelle er utgangsverdien kun avhengig av en (uavhengig av inngangsverdiene) Klokkesignal Utgang x 9 ksempel nr.3 design av sekvensdetektor Tilstandsdiagram Velger å ha 4 er. Lar hver symbolisere antall ere som ligger etter hverandre i bit-sekvensen. Inngang: bit-sekvens x Utgang: gitt av en, for -2, for 3 / / / / / / / / Bruker D flip-flops D A og D B settes til de verdiene man ønsker at og skal ha i neste D A = x + x + x D B = x + x + x y = ksempel nr.3 Utgang for nåværende Inngang x y 2
ksempel nr.3 Reduksjon av er orenkler uttrykkene med Karnaugh-diagram D A = x + x D B = x + x y = x D A D B n smaskin gir oss en eller flere utgangssignal som funksjon av en eller flere inngangssignal Hvordan dette implementeres internt i maskinen er uinteressant sett utenifra I noen tilfeller kan man fjerne er (forenkle designet) uten å påvirke inngangs/utgangs-funksjonene y 3 4 Reduksjon av er Reduksjon av er Inngang Utgang 5 Hvis to er har samme utgangssignal, samt leder til de samme nye ene gitt like inngangsverdier, er de to opprinnelige ene like. n som er lik en annen kan fjernes. 6 ksempel: Tilstand G er lik A B A B B C B D C A C D D D A G G G A
Reduksjon av er Reduksjon av er ksempel: jerner G. rstatter hopp til G med hopp til Inngang Utgang A B A B B C B D C A C D D D A Inngang Utgang A B ksempel: A B B C B D C A Nå er C D lik D D D A jerner 7 8 Reduksjon av er Tilordning av skoder ksempel: Har fjernet Inngang Utgang A B A B B C B D C A C D D D D A D I en smaskin med M er må hver tilordnes en kode basert på minimum N bit der 2 N M Kompleksiteten til den kombinatoriske delen avhenger av valg av skode Anbefalt strategi for valg av kode: prøv-og-feil i sdiagrammet Tilstand nr. Kode: / / / Tilstand nr.2 Kode: 9 2
Ubrukte er I en smaskin med N flip-flopper vil det alltid finnes 2 N er. Designer man for M er der M 2 N vil det finnes ubrukte er. Problem: Under oppstart (power up) har man ikke full kontroll på hvilken man havner i først. Havner man i en ubrukt som ikke leder videre til de ønskede ene vil systemet bli låst. Løsning: Design systemet slik at alle ubrukte er leder videre til en ønsket. / /,/ / / / / / Generell designprosedyre basert på D flip-flops ) Definer ene, inngangene og utgangene 2) Velg skoder, og tegn sdiagram 3) Tegn stabell 4) Reduser antall er hvis nødvendig 5) Bytt skoder hvis nødvendig for å forenkle 6) inn de kombinatoriske funksjonene 7) Skjekk at ubrukte er leder til ønskede er 8) Tegn opp kretsen 2 22 Design eksempel nr.4 ksempel nr.4 Designer en teller som teller sekvensen 5,4,3,2,,. tter skal telleren gjenta sekvensen (telle rundt). Telleren skal kunne resettes til 5 med ett reset signal. ) Velger en for hvert tall ut. Systemet har reset inngang, og trenger 3 utganger for å representere tallene 5 til. 2) Velger skoder som direkte representerer tallene ut. Tallene ut blir gitt av ene 2) Tegner sdiagram / / / / / / / / / /,/ Registrerer at vi har to ubrukte er 23 24
25 ksempel nr.4 3) Tegner stabell 4) Ingen reduksjonsmulighet 5) Velger å ikke bytte skoder da utgangene i såfall må omformes Ubrukte er / utgang Inngang R Q C X X X X X X X X Q C X X X X 26 ksempel nr.4 6) Setter inn i karnaughdiagram og finner forenklede funksjoner D A Q C R Q B x x x x D B Q C R Q B x x x x D A = R + Q C + Q C D B = Q C R + Q C R D C = Q C + R D C Q C R Q B x x x x ksempel nr.4 6) Sjekker at ubrukte er leder til ønskede er ok / utgang Inngang Q C R Q C ksempel nr.4 6) Alle ubrukte er leder til ønskede er, viser med diagram / / / /,/ / / / / / / D A = R + Q C + Q C D B = Q C R + Q C R D C = Q C + R / / / / 27 28
29 ksempel nr.4 7) Tegner opp krets, og Q C blir tellerens utganger Telleren resettes ved å sette R= Q C Q C R Q C R R Q C R D A D B D C Q C Q C 3 ksempel nr.5 - trafikklys Ønsker å bruker smaskin for å styre trafikklys Krysset har to vanlige trafikklys A og B. Disse styres med de binære signalene R A, G A, Gr A samt R B, G B, Gr B. Setter man G A til lyser det grønt i lys A osv. or å generere lyssekvensene bruker vi en repeterende bit-sekvens s som vist under. Avstanden mellom er pulsene gir intervallene mellom skifte fra grønt i lys A til grønt i lys B og motsatt. Klokkesignal Bit-sekvens s periode ksempel nr.5 - trafikklys Systemet har en induktiv sensor i bakken som registrerer biler den ene veien. Bil over sensoren gir I= ellers har vi I= Vi ønsker at bil registrert av sensoren skal gi grønt lys i A så fort som mulig R A / G A / Gr A R B / G B / Gr B R B / G B / Gr B R A / G A / Gr A Induktiv sløyfe I ksempel nr.5,2) Velger følgende forenklede er: - Grønt lys i A, rødt lys i B - Gult lys i A og B. Skifter mot grønt lys i B. - Rødt lys A, grønt lys i B - Gult lys i A og B. Skifter mot grønt lys i A. Innganger: s, I Utganger: R A, G A, Gr A,R B, G B, Gr B Lar utgangene kun være en funksjon av en 3 32
ksempel nr.5 ksempel nr.5 / 2) Tilstandsdiagram,, / XX / X don t care XX / x = si / R A G A Gr A R B G B Gr B / X / 33 34 35 6) inner kombinatoriske funksjoner D A = D B = I + si R A = G A = Gr A = R B = Gr A G B = G A Gr B = R A Innganger s I R A G A Gr A Utganger R B G B Gr B 7) Tegner opp krets 36 ksempel nr.5 D A = D B = I + si R A = G A = Gr A = R B = Gr A G B = G A Gr B = R A I s I QB R A Gr B Gr A R B G A G B D A D B
Tilstandsmaskin Tilstandstabell Tilstandsdiagram Oppsummering Analyse av D flip-flop basert smaskin Reduksjon av antall er Tilordning av skoder Designprosedyre for smaskin basert på D flipflops 37