vanr.prof.dr.lejla banjanović- mehmedović · akose izlazzadnjeg flip-flop-a vraća naserijskiulaz...
TRANSCRIPT
Sekvencijalna kolaSekvencijalna kola
Registri. Brojači.
Vanr.prof.dr.Lejla Banjanović-Mehmedović
Registri� Flip-flopovi pamte malu količinu podataka, 1 bit. Kada
se koristi n flip-flopova za sortiranje n-bita, koriste se registri.
� Globalno, registri su sekvencijalne mreže koje služe � Globalno, registri su sekvencijalne mreže koje služe za privremeno pamćenje male količine podataka.
� Upis i čitanje podataka se vrši serijski (bit po bit) iliparalelno (svaki bit istovremeno).
� Postoje stacionarni i shift registri. Pored pamćenja, shift registri su u stanju i da pomjeraju podatke bit pobit.
PLS_10 Sekvencijalna kola
Obični (stacionarni)registri
PLS_10 Sekvencijalna kola
Logička šema stacionarnog registra kapaciteta n bita
Obični (stacionarni)registri
� Za pamćenje se koriste D flip-flop-ovi kojima se upravljazajedničkim takt (CLK) signalom.
� Upis se vrši paralelno pri silaznoj ivici takt signala.
� Sadržaj flip-flop-ova se može anulirati pomoću asinhronih� Sadržaj flip-flop-ova se može anulirati pomoću asinhronihreset ulaza koji su povezani na CLR signal.
� Čitanje podataka sa izlaza je uvjek moguće, osim jednogkratkog vremenskog intervala poslije upisa, dok izlazi flip-flop-ova ne stignu u novo stabilno stanje.
PLS_10 Sekvencijalna kola
Verilog kod n-bitnog registra
PLS_10 Sekvencijalna kola
Pomjerački (shift) registri� Kod shift registara moguće je prenijeti sadržaj elementarnih
memorija u susjednu memorijsku lokaciju pri aktivnoj ivicitakt signala.
� Pomjeranje se može vršiti ili u lijevom ili u desnom smjerudok kod univerzalnih pomjeračkih registara smjerdok kod univerzalnih pomjeračkih registara smjerpomjeranja se može zadati odgovarajućim upravljačkimsignalom.
� Pri pomjeranju sadržaj prethodnog memorijskog elementase upisuje u naredni, dok sadržaj zadnjeg memorijskogelementa se gubi. Kod složenih pomjeračkih registara, pored serijskog, postoji i mogućnost paralelnog upisa ičitanja.
PLS_10 Sekvencijalna kola
Jednostavni šift registar
� Šiftanje udesno sadržaja, korištenjem
In ulaza.
� Za implementaciju shift
PLS_10 Sekvencijalna kola
� Za implementaciju shift registara, neophodno je korištenje ili trigerovanja na ivicu (edge-triggered) ili master-slave flip-flop-ova.
Dvosmjerni pomjerački (shift) registri
PLS_10 Sekvencijalna kola
Logička šema dvosmjernog pomjeračkog registra
Dvosmjerni pomjerački (shift) registri
� Smjer pomjeranja se bira pomoću signala.
� RIN predstavlja serijski ulaz pri pomjeranju udesno, dok pripomjeranju ulijevo funkciju serijskog ulaza obavlja signal LIN.
/L R
LIN.
� Serijski izlaz je QA ili QD u zavisnosti od smjera pomjeranja.
� Takt (CLK) signal, čija je funkcija sinhronizacija pomjeranjapodataka, je zajednički za sve flip-flop-ove.
PLS_10 Sekvencijalna kola
Šift registri sa paralelnim ulazima� Često neophodan paralelni
transfer podataka u računarima...
� Upravljački signal se koristi da selektuje mod operacija.
PLS_10 Sekvencijalna kola
� Shift/Load = 0, kolo radi kao
šift registar
� Shift/Load = 1, paralelni
ulazni podaci napunjeni u
registar .
� U oba slučaja, akcije se
dešavaju na pozitivnu ivicu
kloka.
Verilog kod šift registara sa paralelnim ulazom
PLS_10 Sekvencijalna kola
Brojači � Primjena:
� Za brojanje i djeljenje broja impulsa
� Za formiranje upravljačkih signala
� Za generisanje referentnog napona kod A/D konverzije� Za generisanje referentnog napona kod A/D konverzije
PLS_10 Sekvencijalna kola
Brojači
� Registri koji pod uticajem upravljačkih impulsaprolaze kroz unaprijed određena stanja se nazivajubrojačima.
� Upravljački signali mogu da potiću iz izvora takt signala iliiz bilo kog drugog kola koje je u stanju da generiše digitalneiz bilo kog drugog kola koje je u stanju da generiše digitalnesignale.
� Impulsi su obično periodični, ali brojači mogu da rade ipod uticajem impulsa koji se pojavljuju u slučajnimvremenskim trenucima.
PLS_10 Sekvencijalna kola
Brojači� Pored memorijskih elemenata brojači obično sadrže i
ulaznu kombinacionu mrežu koja obezbjeđujeodgovarajuće promjene stanja u registru koji je centralnidio brojača (određuje način brojanja). dio brojača (određuje način brojanja).
� Redoslijed stanja brojača može da bude jednak redoslijedubinarnih brojeva (binarni brojač), ali po potrebi je moguće formirati i proizvoljan redoslijed.
� Broj različitih stanja kod brojača se naziva moduobrojača. U opštem slučaju, pomoću n memorijskihelemenata moguće je realizovati brojač modula 2n
PLS_10 Sekvencijalna kola
Brojači� Izlazna kombinaciona mreža koja je svojstvena
sekvencijalnim mrežama ne postoji kod brojača. Izlazimemorijskih elemenata su ujedno i izlazi brojača.
� Brojače je moguće svrstati u dvije kategorije: � Brojače je moguće svrstati u dvije kategorije:
� asinhroni (serijski) i
� sinhroni (paralelni) brojači.
PLS_10 Sekvencijalna kola
Asinhroni (serijski) brojači� Pri realizaciji asinhronih brojača , flip-flop-ovi nemaju zajednički
upravljački signal, nego se izlaz prethodnog flip-flop-a veže na takt ulaz narednog flip-flop-a. Na ovaj način se kompleksnostulazne kombinacione mreže značajno smanjuje ili čak postaje suvišan.
� Najjednostavnija struktura asinhronog brojača se dobija kaskadnom � Najjednostavnija struktura asinhronog brojača se dobija kaskadnom vezom flip-flop-ova. Upravljački signal se dovodi na takt ulaz prvog memorijskog elementa, a izlazi pojedinih flip-flop-ova se povezuju na takt ulaze narednih flip-flop-ova.
� Ako je potrebno, početno stanje brojača je moguće podesiti reset (CLR) signalom koji se istovremeno dovodi na asihnrone reset ulaze svih flip-flop-ova.
PLS_10 Sekvencijalna kola
Asinhroni (serijski) brojači� Na vremenskim dijagramima su zanemarena kašnjenja flip flop-ova.
Zbog kaskadne veze, pojedina stanja se pojavljuju sa određenim vremenom kašnjenja u odnosu na upravljački signal. Ako se snimaju stanja pojedinih flip-flop-ova za vrijeme prelaznog procesa, dobijeni rezultat će najverovatnije biti pogrešan.rezultat će najverovatnije biti pogrešan.
� Sa jedne strane, rješenje ovog problema se sastoji u ograničavanju frekvencije takt signala (to obezbjeđuje dovoljno vremena za izčezavanje hazardnih pojava), dok sa druge strane, izčitavanjevrijednosti je potrebno vršiti neposredno prije pojave narednog upravljačkog signala. Kada se asinhroni brojač koristi kao djelitelj frekvencije (npr. samo izlaz Q2 se vodi dalje), frekvencija takt signala je ograničena samo sa vremenom kašnjenja prvog flip-flop-a.
PLS_10 Sekvencijalna kola
3-bitni brojač unaprijed� T ulaz svakog flip-flopa je
povezan na konstantu 1 –stanje svakog flip-flopa se aktivira na pozitivnu ivicu svakog kloka.
PLS_10 Sekvencijalna kola
svakog kloka.
� Cilj ovog kola – brojanje impulsa na primarnom ulazu Clock.
� Moduo brojanja je 8 zaslučaj tri memorijskaelementa; sekvenca Q2Q1Q0
� Asinhrona priroda (kašnjenje)
3-bitni brojač unazad
� Brojači koji brojeunazad imaju početnostanje koje odgovaranajvećoj brojnojvrednosti odnosno kada
PLS_10 Sekvencijalna kola
vrednosti odnosno kadasu svi flip-flopovisetovani.
Asinhorni vs. Sinhroni brojači� Asinhroni brojači - dosta spori za veći broj bita; veća
kašnjenja.
� Preporuka: sinhroni brojač sa T flip-flopom
PLS_10 Sekvencijalna kola
4-bitni sinhroni brojač unaprijed
� Moduo-16 brojačunaprijed
� Dodata AND kola ucilju istog kašnjenja
PLS_10 Sekvencijalna kola
cilju istog kašnjenjaza svaki flip-flopnakon aktivne iviceClock signala.
� Sinhrona varijanta
4-bitni sinhroni brojač unaprijed sa Enable i Clear signalom
� Brojač počinje sa 0 (Clear signal)
� Brojanje kada je Enable =1
PLS_10 Sekvencijalna kola
Dodatak Enable and Clear capability
4-bitni brojač sa D flip-flopovima
PLS_10 Sekvencijalna kola
� D-flip-flop i XOR gajtovi formiraju funkcionalnost T-flip-flopa.
� Istovjetne sheme.
4-bitni brojač sa paralelnim ulazom
� 2-ulazni multiplexer jeinsertovan prije svakog D ulaza.
� Jedan ulaz – normalno brojanje; drugi – podatak
PLS_10 Sekvencijalna kola
brojanje; drugi – podatak direktno punjiv u flip-flop.
� Load = 0 brojanje
� Load = 1 nova inicijalna vrijednost D3D2D1D0 se puni u brojač
CPLD implementacija
PLS_10 Sekvencijalna kola
Verilog kod 4-bitnog brojača unaprijed
PLS_10 Sekvencijalna kola
Verilog kod brojača unaprijed sa paralelnim ulazom
PLS_10 Sekvencijalna kola
Verilog kod brojača unazad sa paralelnim ulazom
PLS_10 Sekvencijalna kola
Obostrani brojači mogu brojati i unaprijed i unazad (počemu su i dobili naziv).
Dvosmjerni brojači
PLS_10 Sekvencijalna kola
� Kada brojač broji unaprijed, kontrolni priključak K sepostavlja na visok nivo, tj. K = 1, i preko gornjih logičkihkola obezbjeđuje se potrebna veza za brojanje unaprijed.
� U tom slučaju je izlaz invertora =1, što blokira sva kolaK
Dvosmjerni brojači
� U tom slučaju je izlaz invertora =1, što blokira sva kolavezana za komplementarne izlaze flip-flopova,čime se eliminiše mogućnost brojanja unazad.
� Kada želimo da brojimo unazad, kontrolni priključak sepostavlja na nizak nivo odnosno K = 0, =1 a prekodonjih logičkih kola se obezbjeđuje potrebna veza zabrojanje unazad.
K
PLS_10 Sekvencijalna kola
K
Verilog kod UP/down brojača
PLS_10 Sekvencijalna kola
Kružni registri (kružni brojači)
PLS_10 Sekvencijalna kola
Logička šema n-bitnog kružnog registra (brojača)
4-bitni kružni brojač
Kružni registri (kružni brojači)� Spajanjem izlaza pomjeračkog registra na sopstveni
serijski ulaz se dobija kružni registar.
� Podatak koji je jednom upisan u registar će kružiti sve dok je takt signal prisutan na njegovom upravljačkom ulazu. je takt signal prisutan na njegovom upravljačkom ulazu.
� Kako ovaj registar u normalnom režimu rada ne posjeduje ulaz za podatke i po svojoj prirodi generiše ponavljajuće sekvence, ovo kolo se još naziva i kružni brojač.
PLS_10 Sekvencijalna kola
Kružni registri (kružni brojači)
� U praktičnim primjenama za kružni tok podataka potrebno je izvršiti upis odgovarajućeg sadržaja u brojač. Ovo se obično vrši paralelno. Najčešće se samo jedan flip-flop setuje i u ostale se upisuje logička nula ili obrnuto. setuje i u ostale se upisuje logička nula ili obrnuto.
� Postoje i takva rješenja kod kojih su stanja flip-flop-ova nakon uključenja proizvoljna, ali poslije nekoliko periodatakt signala samo jedan flip-flop ostaje u setovanom stanju dok su svi ostali resetovani. Nakon prelaznog režima rad takvog kružnog brojača je pravilan.
PLS_10 Sekvencijalna kola
Džonsonov kružni registar (brojač)
PLS_10 Sekvencijalna kola
a). Logička šema Džonsonovog kružnog registra (brojača) i b).odgovarajuća tabela stanja.
Džonsonov kružni registar (brojač)
� Ako se izlaz zadnjeg flip-flop-a vraća na serijski ulazkružnog brojača u invertovanom obliku dobija se Džonsonov kružni registar (brojač). Nule i jedinice u normalnom režimu rada kruže prema redoslijedu (dat u tabeli).tabeli).
� U slučaju n flip-flop-ova, sekvenca istih brojeva se ponavljaposlije 2n perioda takt signala. Brojač će ući u pravilanrežim rada i ako se svi flip-flop-ovi resetuju u trenutkuuključenja.
� Ako se to propusti, moguće je da kolo na izlazu generiše pogrešne vrijednosti. Raznim povratnim spregama je moguće obezbjediti pravilno funkcionisanje kola.
PLS_10 Sekvencijalna kola