Repetition och sammanfattning av syntes och analys av sekvensnät

Repetition och sammanfattning av syntes
och analys av sekvensnät
Sekvensnät = ihopkoppling av sekvenskretsar
Består i praktiken av
- minnesdel (sekvenskretsar)
- kombinatorisk del.
Sekvenskretsar = kretsar som kan ge olika utgångsvärden fastän inggsvärdena är lika.
Utgångsvärdet beror av en sekvens av tidigare tillstånd [och ev. ingångsvärden] namnet sekvenskrets.
En modell för sekvensnät är tillståndsmaskiner, som växlar mellan olika tillstånd i kontrollerade sekvenser.
Sekvensnät måste kunna "minnas" det som skett tidigare.
"Det som skett tidigare" representeras av tillstånd (eng. states). [Minnet är ändligt begränsat antal tillstånd.
Sekvensnät kallas ibland [Finite] State Machines (FSM).]
Tiden är viktig i sekvensnät. Systemet måste "få veta" att det har blivit ett nytt tillstånd. Ett [vanligt] sätt att
åstadkomma det är med en klockpuls till vipporna. (Synkrona sekvensnät.)
Syntes = att konstruera ett sekvensnät.
Hur ska man tänka? - Vi har alltid nuvarande tillstånd. Vi vill komma till nästa tillstånd. För att göra det
måste vi lägga bestämda signaler på vippornas ingångar. Var får vi dem ifrån? Tillgängliga signaler är
nuvarande tillstånd och ev. insignaler. Dessa är också de signaler som måste kopplas in, eftersom de påverkar
tillståndsbytena. Ev. kopplas de in via ett mer eller mindre komplicerat kombinatoriskt nät, för att ge de rätta
tillståndsbytena.
Exempelproblem
Konstruera en automat som uppfyller följande specifikation:
Automaten ska styras av insignalerna STANNA, CIRKULERA och BYTA, visa utsignalerna RÖD, GRÖN och
GUL, och kunna inta 3 tillstånd HÄR, DÄR och BORTA.
På insignal
ska automaten
och ge utsignal
STANNA
stå kvar i samma tillstånd RÖD
CIRKULERA
ändra tillstånd:
HÄR ### DÄR
DÄR ### BORTA
BORTA ### HÄR
GRÖN
BYTA
ändra tillstånd:
HÄR ### BORTA
DÄR ### HÄR
BORTA ### HÄR
GUL
Vad är stegen?
1. Tillståndsdiagram
(Att åstadkomma ett sekvensnät börjar med det svåraste momentet:
att formellt beskriva nätets beteende med tillstånd.
Finns olika metoder för det (och "dialekter" av metoder):
grafiskt
med tabell
i textform (tex m.h.a. [programmeringsspråket?] VHDL.)
Skapa tillståndsdiagram. Identifiera tillstånd utifrån specifikationen.
(Ibland hamnar man direkt i punkt 2. Men ibland kan det vara vettigt att först sätta verbala namn på
tillstånden.)
cirklar pilar
-
tillstånd
tillståndsövergångar
Skriv namn på tillstånd. [& ingångar och utgångar].
2. Koda
(Ibland hamnar man direkt här eller går direkt hit. Dvs 1. och 2. bakas ihop.
Ibland är kodningen given.)
Låt alla namn i tillståndsdiagrammet representaras av binära koder. Det finns inte alldeles entydiga lösningar,
men man kan följa vissa regler och få mindre komplexa nät. (Se separat papper.)
Ibland vet man inte i förväg hur många tillstånd “som behövs“.
Tillstånd [& ingångar och utgångar] måste kodas binärt för att kunna minnas digitalt (lagras i
tillståndsregister)
1 tillståndssiffra kan koda 21 = 2 tillstånd (en variabel med 1 siffra kan ha 2 värden)
3 tillståndssiffror kan koda 23 = 8 tillstånd (en variabel med 3 siffror kan ha 8 värden)
n tillståndssiffror kan koda 2n tillstånd
Hur många siffrors bredd behövs för 3 tillstånd?
3. Vipp-typ & sanningstabell
Bestäm typ av vippa. Givet, eller efter eget gottfinnande.
Identifiera användbar sanningstabell el. motsv.
4. Tillståndstabell
Poängen: Vilken signal på vippingång för att få nästa tillstånd? Utnyttja nuvarande tillstånd och ev. insignaler.
Dvs ta med (ta hänsyn till) alla signaler som påverkar nästa tillstånd.
Upprätta tillståndstabell. Plocka in info från tillståndsdiagrammet. Kombinera med info från sanningstabellen.
Tillståndstabellen kan ha olika utseende. Ett vettigt mönster (Gå in för det!):
Nuvarande
tillstånd
Nästa tillstånd
1 vippa/tillståndssiffra.
5. Minimera
Gör 1 Karnaugh-diagram för varje vipp-ingång [& varje utgång i sekvensnätet].
Eller använd någon annan minimeringsmetod.
6. Logiska uttryck
Upprätta [minimerade] logiska uttryck för alla vipp-ingångar [och utgångar i sekv.nätet] utifrån Karnaughdiagrammen.
Detta ger nödvändiga kombinatoriska grindnät.
7. Rita schema
Rita kretsschema\kopplingsschema. Använd mönstret gindmatrisnät.
(Fullständigt kopplingsschema ska innehålla:
• Kretsbeteckningar
• Bennummer (IC-kretsar)
• Uppgifter om matningsspänning[ar] och jord
• Komponentvärden (resistorer, kondensatorer) )
___________________
Försök nu lösa syntesuppgiften själv innan du läser lösningsförslaget.
Sammanfattning av arbets-stegen finns i slutet av detta häfte.
Analys
= Gå från färdig koppling till teoretisk modell.
I princip är det samma steg som syntes, fast omvänd ordning.
Exempelproblem
Hur fungerar kretsen? Redovisa funktionen med ett tillståndsdiagram. Visa hur du kom fram till resultatet.
Vad är stegen?
1. Upprätta funktionsuttryck för vippingångar
& ev utgångar
ev vid alla tänkbara ingångskombinationer.
2. Bestäm vipp-typ. Identifiera användbar sanningstabell el. motsv.
3. Upprätta [tillstånds]tabell m.h.a. sanningstabell\excitationstabell. Sök nästa tillstånd.
a) Nuvarande tillstånd => vippingångar => nästa tillstånd
b)
"
"
=> utgångar
4. Rita tillståndsdiagram eller tidsdiagram eller annat för att redovisa funktionen.
Sammanfattning av stegen
Syntes
1. Skapa tillståndsdiagram. (Ibland ges det i uppgiften.)
2. Koda tillstånd och ev insignaler och ev utsignaler.
3. Ta ställning till vippor - typ och antal.
Identifiera användbar sanningstabell/excitationstabell el. motsv.
4. Upprätta tillståndstabell.
5. Minimera kombinatoriska nät till
ingångar till vippor
ev utgångar
6. Ställ upp logiska funktionsuttryck för dessa signaler.
7. Rita kopplingsschema/kretsschema.
Analys
1. Upprätta funktionsuttryck för vippingångar
& ev utgångar
ev vid alla tänkbara ingångskombinationer.
2. Bestäm vipp-typ. Identifiera användbar sanningstabell el. motsv.
3. Upprätta [tillstånds]tabell m.h.a. sanningstabell\excitationstabell. Sök nästa tillstånd.
a) Nuvarande tillstånd => vippingångar => nästa tillstånd
b)
"
"
=> utgångar
4. Rita tillståndsdiagram eller tidsdiagram eller annat för att redovisa funktionen.