270 likes | 589 Views
VTŠ Novi Sad Elektronika 2 - Digitalna elektronika. IMPLEMENTACIJA SEKVENCIJALN E LOGIKE. dr Zoran Mitrović. Implementacija sekvencijalne logike. Se kv en cijalna kola Osnovni sekvencijalni elementi Kombinaciona logika Model i za predstavljanje sekvencijalnih kola
E N D
VTŠ Novi SadElektronika 2 - Digitalna elektronika IMPLEMENTACIJA SEKVENCIJALNE LOGIKE dr Zoran Mitrović
Implementacija sekvencijalne logike • Sekvencijalnakola • Osnovni sekvencijalni elementi • Kombinaciona logika • Modelizapredstavljanje sekvencijalnih kola • Metoda konačnih stanja (Finite-state machines) • Predstavljanje memorije (stanja) • Promene stanja (tranzicije) • Osnovna sekvencijalna kola • Pomerački registri • Brojači • Procedura projektovanja • Dijagrami stanja • Tabela tranzicija • Funkcije sledećeg stanja VTŠ Novi Sad Elektronika 2 - Digitalna elektronika2
CombinationalLogic Ulazi Izlazi Ulazi stanja Izlazi stanja Elementi memorije Elementi stanja • Podeliti kolo na kombinacionu logiku i stanje • Lokalizovatipetlje povratne sprege iobezbediti da je olakšano da se raskinu • Implementacija elemenata memorije vodi do različitih formi sekvencijalne logike VTŠ Novi Sad Elektronika 2 - Digitalna elektronika3
Takt Forme sekvencijalne logike • Asinhrona sekvencijalna logika – promene stanja se dešavaju kad se menjaju stanja ulaza (elementi mogu da budu obične šice ili elementi kašnjenja) • Sinhrona sekvencijalna logika – promene stanja se dešavaju u definisanim koracima kroz memorijske elemente (koristeći periodični talasni oblik - takt) VTŠ Novi Sad Elektronika 2 - Digitalna elektronika4
010 111 001 In = 1 In = 0 In = 0 100 110 In = 1 Prikaz “mašine” konačnih stanja • Stanja: definisana mogućim vrednostima u sekvencijalnim memorijskim elementima • Tranzicija: promena stanja • Takt: dozvoljavakad stanje može da se promeni kontrolom memorijskih elemenata • Sekvencijalnalogika • Sekvencijalni prolazak kroz niz stanja • Bazirana na sekvenci vrednosti ulaznih signala • Periodi takta definišu elemente sekvence VTŠ Novi Sad Elektronika 2 - Digitalna elektronika5
GREŠKA zatvoreno nije jednako& novi nije jednako & novi nije jednako & novi S3 S1 S2 OTVORENO zatvoreno mux=C1 zatvoreno mux=C2 zatvoreno mux=C3 reset otvoreno jednako& novi jednako& novi jednako& novi nije novi nije novi nije novi Primer dijagrama “mašine” konačnih stanja • Kombinaciona brava sa početka kursa VTŠ Novi Sad Elektronika 2 - Digitalna elektronika6
OUT1 OUT2 OUT3 D Q D Q D Q IN CLK 110 100 1 0 1 1 1 010 101 111 000 1 1 0 1 0 0 001 011 1 0 0 0 0 Može li bilo koji sekvencijalni sistem da se predstavi dijagramom stanja? • Pomerački registar • Ulazna vrednost predstavljenana tranzicionim lukovima • Izlazna vrednost prikazanaunutar čvora stanja VTŠ Novi Sad Elektronika 2 - Digitalna elektronika7
010 011 001 000 100 3-bitni brojač na gore 110 101 111 Brojači su proste “mašine” konačnih stanja • Brojači • Prolaze kroz dobro definisanu sekvencu stanja kao odgovor na enable • Mnogo tipova brojača: binarni, BCD, sa grejovim kodom • 3-bitni brojač na gore: 000, 001, 010, 011, 100, 101, 110, 111, 000, ... • 3-bitni brojač na dole: 111, 110, 101, 100, 011, 010, 001, 000, 111, ... VTŠ Novi Sad Elektronika 2 - Digitalna elektronika8
OUT1 OUT2 OUT3 D Q D Q D Q CLK "1" Kako pretvaramo dijagram stanja u logiku? • Brojač • Tri flip-flopapamte stanje • Logika za izračunavanjesledećeg stanja • Takt kontroliše kad može da se promeni stanje flip-flop-a • Sačekati dovoljno dugo da kombinaciona logika izračuna novu vrednost • Ne sme se čekati predugo – niske performanse VTŠ Novi Sad Elektronika 2 - Digitalna elektronika9
Procedura projektovanja “mašine” konačnih stanja • Počinje se od brojača • Prosto, jer je izlaz samo stanje • Prosto, jer izbor sledećeg stanja ne zavisi od ulaza • Dijagram stanja -> tabela prelaza iz stanja u stanje • Tabularna forma dijagrama stanja • Nalik na kombinacionu tabelu • Kodiranje stanja • Odluka o prikazu stanja • Za brojače je to prosto: samo njegova vrednost • Implementacija • Flip-flop za svaki bit stanja • Kombinaciona logika bazirana na kodiranju VTŠ Novi Sad Elektronika 2 - Digitalna elektronika10
tekuće stanjesledeće state0 000 001 11 001 010 22 010 011 33 011 100 44 100 101 55 101 110 66 110 111 77 111 000 0 010 011 001 000 100 3-bitni brojač na gore 110 101 111 Procedura projektovanja “mašine” konačnih stanja: dijagram stanja -> tabela prelaza iz stanja u stanje • Tabularna formadijagrama stanja • Nalik na kombinacionu tabelu (specifirati izlaze za sve ulazne kombinacije) • Kodiranje stanja: prosto za brojače – samo se koristi vrednost VTŠ Novi Sad Elektronika 2 - Digitalna elektronika11
C3 C3 C3 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 1 C1 C1 C1 C2 C2 C2 C3 C2 C1 N3 N2 N10 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 1 0 01 0 0 1 0 11 0 1 1 1 01 1 0 1 1 11 1 1 0 0 0 N3 N1 N2 Implementacija • D flip-flop za svaki bit stanja • Kombinaciona logikabazirana na kodiranju notacija koja pokazuje koja funkcija predstavlja ulaz u D-FF N1 := C1' N2 := C1C2' + C1'C2 := C1 xor C2 N3 := C1C2C3' + C1'C3 + C2'C3 := C1C2C3' + (C1' + C2')C3 := (C1C2) xor C3 VTŠ Novi Sad Elektronika 2 - Digitalna elektronika12
D Q Q Implementacija (nastavak) • Programabilniblok za građenje sekvencijalne logike • Makro-ćelija: FF + logika • D-FF • Sposobnost logike u dva nivoa, nalik na PAL (npr., 8 proizvodnih izraza) VTŠ Novi Sad Elektronika 2 - Digitalna elektronika13
In C1 C2 C3 N1 N2 N30 0 0 0 0 0 00 0 0 1 0 0 00 0 1 0 0 0 10 0 1 1 0 0 10 1 0 0 0 1 00 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 0 1 11 0 0 0 1 0 01 0 0 1 1 0 01 0 1 0 1 0 11 0 1 1 1 0 11 1 0 0 1 1 01 1 0 1 1 1 01 1 1 0 1 1 11 1 1 1 1 1 1In C1 C2 C3 N1 N2 N30 0 0 0 0 0 00 0 0 1 0 0 00 0 1 0 0 0 10 0 1 1 0 0 10 1 0 0 0 1 00 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 0 1 11 0 0 0 1 0 01 0 0 1 1 0 01 0 1 0 1 0 11 0 1 1 1 0 11 1 0 0 1 1 01 1 0 1 1 1 01 1 1 0 1 1 11 1 1 1 1 1 1 OUT1 OUT2 OUT3 D Q D Q D Q IN CLK 110 100 1 0 1 1 1 010 101 111 1 000 1 0 1 0 0 001 011 1 0 0 0 0 Još jedan primer • Pomerački registar • Ulaz određuje sledeće stanje N1 := In N2 := C1 N3 := C2 VTŠ Novi Sad Elektronika 2 - Digitalna elektronika14
000 110 010 101 Trenutno stanjeSledeće stanje C B A C+ B+ A+ 0 00 0 1 0 0 0 1 – – – 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 – – – 1 0 11 1 0 1 1 0 0 0 0 1 1 1 – – – 011 Primer kompleksnijeg brojača • Kompleksni brojač • Ponavlja pet stanja u sekvenci • Nije prikaz binarnih brojeva • Korak 1: Nacrtati dijagram tranzicije stanja • Brojačka sekvenca: 000, 010, 011, 101, 110 • Korak 2: Nacrtati tabelu tranzicije stanja iz dijagrama tranzicije stanja primetiti stanja nije-važno koja su ustvari nekorišćeni kodovi stanja VTŠ Novi Sad Elektronika 2 - Digitalna elektronika15
C C C 1 1 X 0 0 0 X 1 0 1 X 1 0 X X 0 0 X X 1 0 X X 1 A A A B B B A+ C+ B+ Primer kompleksnijeg brojača (nastavak) • Korak 3: K-mapezafunkciju sledećeg stanja C+ := A B+ := B' + A'C' A+ := BC' VTŠ Novi Sad Elektronika 2 - Digitalna elektronika16
C C C 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 A A A B B B 111 001 000 110 100 010 101 011 Sadašnje Sledeće C B A C+ B+ A+ 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 B+ C+ A+ Primer kompleksnijeg brojača (nastavak) • Uključiti i stanja nije-važno u tabelu tranzicija, da se definiše način kako se brojač vraća u projektovani sled VTŠ Novi Sad Elektronika 2 - Digitalna elektronika17
111 001 000 110 100 010 101 implementacija na prethodnom slajdu 011 111 001 000 110 100 010 101 011 Samo-startujući brojači • Početna stanja • Prilikom uključenja brojač može da bude i u nekorišćenom ili u ne-validnom stanju • Projektant mora da obezbedi da brojač radi i kad uđe u ne-validno stanje • Rešenje sa samo-startovanjem • Projektovati brojač tako da ne-validna stanja prelaze u validna • Može da se ograniči rad sa stanjima nije-važno VTŠ Novi Sad Elektronika 2 - Digitalna elektronika18
izlaznalogika Izlazi Ulazi sledeće stanjelogika Sledeće stanje Sadašnje stanje Model stanja (State Machine) • Vrednosti koje se čuvaju u registrima predstavljaju stanje kola • Kombinaciona logika računa: • Sledeće stanje • Funkcija sadašnjeg stanja i ulaza • Izlaze • Funkcija sadašnjeg stanja i ulaza (Mealy-jeva“mašina”) • Funkcija samo sadašnjeg stanja (Moore-ova “mašina”) VTŠ Novi Sad Elektronika 2 - Digitalna elektronika19
izlazna logika Izlazi Ulazi logika sledećeg stanja Sledeće stanje Sledeće stanje Stanje Sadašnje stanje 0 1 2 3 4 5 Takt Model stanja (nastavak) • Stanja: S1, S2, ..., Sk • Ulazi: I1, I2, ..., Im • Izlazi: O1, O2, ..., On • Funkcija tranzicije: Fs(Si, Ij) • Izlazna funkcija: Fo(Si) or Fo(Si, Ij) VTŠ Novi Sad Elektronika 2 - Digitalna elektronika20
Primer: Automat za prodaju • Izbaciti proizvod nakon što je ubačeno 15 dinara • Jedan prorez za ubacivanje novca, samo metalni 5 i 10 dinara • Nema vraćanja novca Reset N mehanizam za izbacivanjeproizvoda VendingMachineFSM Otvaranje Senzornovčića D Takt VTŠ Novi Sad Elektronika 2 - Digitalna elektronika21
Reset S0 N D S1 S2 N D N D S3 S4 [otvoreno] S5 [otvoreno] S6 [otvoreno] N S7 [otvoreno] Primer: Automat za prodaju (nastavak) • Pogodan prikaz • Proučiti tipične ulazne sekvence: • 3 novčića od 5 din • 5 din, zatim 10 din • 10 din, zatim 5 din • 2 novčića od 10 din • Nacrtati dijagram stanja: • Ulazi: N (5 din), D (10 din), reset • Izlaz: otvaranje vratanaca • Pretpostavke: • Pretpostavimo da su u jednom ciklusu prihvaćeni N i D • Svako stanje ima petlju za N = D = 0 (nema novčića) VTŠ Novi Sad Elektronika 2 - Digitalna elektronika22
sadašnjeulazi sledećiizlazstanje D N otvaranje 0 din 0 0 0 din 0 0 1 5 din 0 1 0 10 din 0 1 1 – – 5 din 0 0 5 din 0 0 1 10 din 0 1 0 15 din 0 1 1 – –10 din 0 0 10 din 0 0 1 15 din 0 1 0 15 din 0 1 1 – –15 din – – 15 din 1 Reset 0 din N 5 din D N 10 din D N + D 15din [otvaranje] tabela simboličkih stanja Primer: Automat za prodaju (nastavak) • Minimizirati broj stanja – koristiti definisano stanje kad god je moguće VTŠ Novi Sad Elektronika 2 - Digitalna elektronika23
Primer: Automat za prodaju (nastavak) • Jedinstveno kodiranje stanja sadašnje ulazi sledeće izlaz stanje stanje Q1 Q0 D N D1 D0 otvaranje 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 – – – 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 – – – 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 – – – 1 1 – – 1 1 1 VTŠ Novi Sad Elektronika 2 - Digitalna elektronika24
Q1 Q1 Q1 Open D1 D0 0 1 1 0 1 0 1 1 X X X X 0 1 1 1 0 0 1 0 0 0 1 0 X X X X 0 0 1 0 0 0 1 1 0 1 1 1 X X X X 1 1 1 1 N N N D D D Q0 Q0 Q0 Primer: Automat za prodaju (nastavak) • Mapiranje u logiku D1 = Q1 + D + Q0 N D0 = Q0’ N + Q0 N’ + Q1 N + Q1 D OPEN = Q1 Q0 VTŠ Novi Sad Elektronika 2 - Digitalna elektronika25
Primer: Automat za prodaju (nastavak) • Kodiranje za slučaj da je samo jedan ulaz aktivan sadašnje ulazi sledeće izlaz stanje stanjeQ3 Q2 Q1 Q0 D N D3 D2 D1 D0 otvaranje 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 - - - - - 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 1 - - - - - 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 - - - - - 1 0 0 0 - - 1 0 0 0 1 D0 = Q0 D’ N’ D1 = Q0 N + Q1 D’ N’ D2 = Q0 D + Q1 N + Q2 D’ N’ D3 = Q1 D + Q2 D + Q2 N + Q3 OPEN = Q3 VTŠ Novi Sad Elektronika 2 - Digitalna elektronika26
X’ 00[0] X’ X X 10 [0] 01[1] X’ X’ 11[0] X X Jedna implementacija detektora ivice • "Ad hoc" rešenje - nije minimalno, ali je jeftino i brzo VTŠ Novi Sad Elektronika 2 - Digitalna elektronika27