View
139
Download
10
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
VT Novi SadElektronika 2 - Digitalna elektronika IMPLEMENTACIJA SEKVENCIJALNE LOGIKE
dr Zoran Mitrovi
Implementacija sekvencijalne logikeSekvencijalna kolaOsnovni sekvencijalni elementiKombinaciona logikaModeli za predstavljanje sekvencijalnih kolaMetoda konanih stanja (Finite-state machines)Predstavljanje memorije (stanja)Promene stanja (tranzicije)Osnovna sekvencijalna kolaPomeraki registriBrojaiProcedura projektovanjaDijagrami stanjaTabela tranzicijaFunkcije sledeeg stanja
Elementi stanjaPodeliti kolo na kombinacionu logiku i stanjeLokalizovati petlje povratne sprege i obezbediti da je olakano da se raskinuImplementacija elemenata memorije vodi do razliitih formi sekvencijalne logike
Forme sekvencijalne logikeAsinhrona sekvencijalna logika promene stanja se deavaju kad se menjaju stanja ulaza (elementi mogu da budu obine ice ili elementi kanjenja)Sinhrona sekvencijalna logika promene stanja se deavaju u definisanim koracima kroz memorijske elemente (koristei periodini talasni oblik - takt)
Prikaz maine konanih stanjaStanja: definisana moguim vrednostima u sekvencijalnim memorijskim elementimaTranzicija: promena stanjaTakt: dozvoljava kad stanje moe da se promeni kontrolom memorijskih elemenata Sekvencijalna logikaSekvencijalni prolazak kroz niz stanjaBazirana na sekvenci vrednosti ulaznih signalaPeriodi takta definiu elemente sekvence
Primer dijagrama maine konanih stanjaKombinaciona brava sa poetka kursa
Moe li bilo koji sekvencijalni sistem da se predstavi dijagramom stanja?Pomeraki registarUlazna vrednost predstavljena na tranzicionim lukovimaIzlazna vrednost prikazana unutar vora stanja
Brojai su proste maine konanih stanjaBrojaiProlaze kroz dobro definisanu sekvencu stanja kao odgovor na enableMnogo tipova brojaa: binarni, BCD, sa grejovim kodom3-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, ...
Kako pretvaramo dijagram stanja u logiku?BrojaTri flip-flopa pamte stanjeLogika za izraunavanje sledeeg stanjaTakt kontrolie kad moe da se promeni stanje flip-flop-aSaekati dovoljno dugo da kombinaciona logika izrauna novu vrednostNe sme se ekati predugo niske performanse
Procedura projektovanja maine konanih stanjaPoinje se od brojaaProsto, jer je izlaz samo stanjeProsto, jer izbor sledeeg stanja ne zavisi od ulazaDijagram stanja -> tabela prelaza iz stanja u stanjeTabularna forma dijagrama stanjaNalik na kombinacionu tabeluKodiranje stanjaOdluka o prikazu stanjaZa brojae je to prosto: samo njegova vrednostImplementacijaFlip-flop za svaki bit stanjaKombinaciona logika bazirana na kodiranju
Procedura projektovanja maine konanih stanja: dijagram stanja -> tabela prelaza iz stanja u stanjeTabularna forma dijagrama stanjaNalik na kombinacionu tabelu (specifirati izlaze za sve ulazne kombinacije)Kodiranje stanja: prosto za brojae samo se koristi vrednost
ImplementacijaD flip-flop za svaki bit stanjaKombinaciona logika bazirana na kodiranjuN1:= C1'N2:= C1C2' + C1'C2:= C1 xor C2N3:= C1C2C3' + C1'C3 + C2'C3:= C1C2C3' + (C1' + C2')C3:= (C1C2) xor C3notacija koja pokazuje koja funkcija predstavlja ulaz u D-FF
Implementacija (nastavak)Programabilni blok za graenje sekvencijalne logikeMakro-elija: FF + logikaD-FFSposobnost logike u dva nivoa, nalik na PAL (npr., 8 proizvodnih izraza)
Jo jedan primerPomeraki registarUlaz odreuje sledee stanjeN1:= InN2:= C1N3:= C2
Primer kompleksnijeg brojaaKompleksni brojaPonavlja pet stanja u sekvenciNije prikaz binarnih brojevaKorak 1: Nacrtati dijagram tranzicije stanjaBrojaka sekvenca: 000, 010, 011, 101, 110Korak 2: Nacrtati tabelu tranzicije stanja iz dijagrama tranzicije stanjaprimetiti stanja nije-vano koja su ustvari nekorieni kodovi stanja
Primer kompleksnijeg brojaa (nastavak)Korak 3: K-mape za funkciju sledeeg stanjaC+ := AB+ := B' + A'C'A+ := BC'
Primer kompleksnijeg brojaa (nastavak)Ukljuiti i stanja nije-vano u tabelu tranzicija, da se definie nain kako se broja vraa u projektovani sled
Samo-startujui brojaiPoetna stanjaPrilikom ukljuenja broja moe da bude i u nekorienom ili u ne-validnom stanjuProjektant mora da obezbedi da broja radi i kad ue u ne-validno stanjeReenje sa samo-startovanjemProjektovati broja tako da ne-validna stanja prelaze u validnaMoe da se ogranii rad sa stanjima nije-vano
Model stanja (State Machine)Vrednosti koje se uvaju u registrima predstavljaju stanje kolaKombinaciona logika rauna:Sledee stanjeFunkcija sadanjeg stanja i ulazaIzlazeFunkcija sadanjeg stanja i ulaza (Mealy-jeva maina)Funkcija samo sadanjeg stanja (Moore-ova maina)
Model stanja (nastavak)Stanja: S1, S2, ..., SkUlazi: I1, I2, ..., ImIzlazi: O1, O2, ..., OnFunkcija tranzicije: Fs(Si, Ij)Izlazna funkcija: Fo(Si) or Fo(Si, Ij)
Primer: Automat za prodajuIzbaciti proizvod nakon to je ubaeno 15 dinaraJedan prorez za ubacivanje novca, samo metalni 5 i 10 dinaraNema vraanja novcaVending Machine FSMNDResetTaktOtvaranjeSenzor noviamehanizam za izbacivanje proizvoda
Primer: Automat za prodaju (nastavak)Pogodan prikazProuiti tipine ulazne sekvence:3 novia od 5 din5 din, zatim 10 din10 din, zatim 5 din2 novia od 10 dinNacrtati dijagram stanja:Ulazi: N (5 din), D (10 din), resetIzlaz: otvaranje vratanaca Pretpostavke:Pretpostavimo da su u jednom ciklusu prihvaeni N i DSvako stanje ima petlju za N = D = 0 (nema novia)
Primer: Automat za prodaju (nastavak)Minimizirati broj stanja koristiti definisano stanje kad god je mogue
Primer: Automat za prodaju (nastavak)Jedinstveno kodiranje stanja sadanje ulazisledee izlaz stanje stanje Q1Q0DND1D0 otvaranje 0000 000 01010 10100 11 0100 010 01100 10110 11 1000 100 01110 10110 11 11 111
Primer: Automat za prodaju (nastavak)Mapiranje u logikuD1 = Q1 + D + Q0 ND0 = Q0 N + Q0 N + Q1 N + Q1 DOPEN = Q1 Q0
Primer: Automat za prodaju (nastavak)Kodiranje za sluaj da je samo jedan ulaz aktivan sadanje ulazi sledee izlaz stanje stanje Q3Q2Q1Q0DND3D2D1D0otvaranje 00010000010 0100100 1001000 11----- 00100000100 0101000 1010000 11----- 01000001000 0110000 1010000 11----- 1000--10001D0 = Q0 D ND1 = Q0 N + Q1 D ND2 = Q0 D + Q1 N + Q2 D ND3 = Q1 D + Q2 D + Q2 N + Q3OPEN = Q3
Jedna implementacija detektora ivice"Ad hoc" reenje - nije minimalno, ali je jeftino i brzo