Sekvencijski moduli PDF
Document Details

Uploaded by DependableHyperbolic8495
Tehničko veleučilište u Zagrebu
Tags
Summary
This document provides a presentation on sequential modules, covering topics like registers, counters, and sequence generators in digital systems. The content explains the concepts and applications of sequential modules.
Full Transcript
Sekvencijski moduli Sadržaj predavanja Sekvencijski moduli Registri Brojila Generatori sekvencije 2 Pojam i svrha modula Suvremeni digitalni sustav ima puno nivoa apstrakcije, sastoji se od podsustava. Dekompozicija na podsustave i iskustvo u projektiranju dovode do toga d...
Sekvencijski moduli Sadržaj predavanja Sekvencijski moduli Registri Brojila Generatori sekvencije 2 Pojam i svrha modula Suvremeni digitalni sustav ima puno nivoa apstrakcije, sastoji se od podsustava. Dekompozicija na podsustave i iskustvo u projektiranju dovode do toga da se neki sklopovi često ponavljaju - od njih se rade tzv. moduli - logički podsklopovi. Moduli se mogu koristiti kao gotovi čipovi ili blokovi u projektiranju digitalnih sustava. Svi moduli se uvijek mogu dobiti iz osnovnih logičkih sklopova! 3 Sekvencijski moduli Sklopovi koji sadrže kombinacijski sklop i memoriju (niz/skup bistabila ili registara) Standardni moduli: ◦ n-bitni moduli ◦ n bistabila Osnovna funkcija ◦ pohranjivanje podataka ◦ registri ◦ brojanje ◦ brojila 4 Registri Sklopovi za pamćenje višebitnih podataka ◦ obično jedna riječ/znak (standardna jedinica podataka za digitalni sustav) ◦ mogućnost upisa i ispisa/čitanja: ◦ paralelni registri ◦ paralelni upis i ispis ◦ posmačni registri ◦ serijski upis i ispis ◦ kombinacije upisa/ispisa za druge primjene ◦ Izvedbe pomoću niza bistabila (svi tipovi osim T) i osnovnih logičkih sklopova 5 Registri Pojednostavljeno crtanje registara: ◦ Ucrtan je svaki bistabil ◦ Označene su samo grupe bita u registru 6 Paralelni registri Uređeni skup nepovezanih bistabila ◦ paralelni upis podatka ◦ paralelno čitanje pohranjenog podatka Broj bistabila određuje veličinu registra Način upisa: ◦ Sinkroni ◦ upravljani s CP ◦ uobičajeni, bolji ◦ ‘’asinkroni’’ ◦ registri (upravljanih) osnovnih bistabila ◦ problem transparentnosti 7 Paralelni registri Ulazni bitovi D0 i D1 djeluju na ulaze S bistabila preko I sklopova ◦ Propusni ako je upravljački ulaz L = 1 Komplementi ulaznih varijabli djeluju na ulaze R bistabila Primjer: ◦ Ako je D0 = 1 => R = 0 i nakon CP impulsa B0 = 1 ◦ Ako je D0 = 0, => S = 0, R = 1 i nakon CP impulsa B0 = 0 Ako je L = 0 onemogućen je ulaz u bistabile registra i u njemu je informacija ranije upisana Pod utjecajem CP impulsa informacije se upisuju u registar 8 Paralelni registri Osnovni D bistabil s upravljačkim Sažeta tablica stanja ulazom G D G Qn+1 X 0 Qn 0 1 0 1 1 1 Simbol dvostrukog 4-bitnog asinkronog registra 9 Posmačni registar (engl. shift register) Registar sa serijskim upisom i ispisom/čitanjem ◦ Ima mehanizam pomicanja (bitova) podatka od ulaza prema izlazu Često je moguće paralelno čitanje/pisanje podataka Izlaz prethodnog bistabila spaja se na ulaz slijedećeg po redu Posmačni registar realiziran s 3 D bistabila 10 Posmačni registri Informacija na ulaz dolazi serijski kao niz bita Na početku je registar u stanju 000 ◦ Svi bistabili su u stanju 0, na serijskom ulazu je stanje 1 Nakon dolaska CP impulsa B0 prelazi u 1, a B1 i B2 ostaju 0 Nakon prvog impulsa ulaz ostaje 0 Drugi impuls upisuje to B0, a istovremeno pomiče sadržaj B0 u B1 Na svaki CP impuls ulazna informacija se upisuje u B0, a sadržaj svih bistabila pomiče se za jedno mjesto u desno Na izlazu se pojavljuju redom B2B1B0 11 Posmačni registar Komunikacija preko paralelno/serijske konverzije pomoću posmačnih registara ◦ serijski upisani bitovi ”putuju” kroz posmačni registar ◦ paralelni ispis n-bitnog serijskog podatka → serijsko – paralelna konverzija (pretvorba) Tip pretvorbe (kombinacije) ◦ paralelni ulaz – serijski izlaz → paralelno – serijska ◦ serijski ulaz – paralelni izlaz → serijsko – paralelna Serijski i paralelni ulaz i izlaz ◦ univerzalni posmačni registar 12 Dvosmjerni posmačni registar Posmačni registar s pomakom udesno ◦ uobičajeno ”nadesno” od prvog bistabila u nizu prema posljednjem Posmačni registar s pomakom ulijevo ◦ ”nalijevo” od posljednjeg bistabila u nizu prema prvom 13 Dvosmjerni (engl. bidirectional) posmačni registar Kombinacijski sklop za upravljanje smjerom posmaka posmačnog registra 𝐷𝑖 = 𝑄𝑖−1 ∙ 𝑠𝑚𝑗𝑒𝑟 + 𝑄𝑖+1 ∙ 𝑠𝑚𝑗𝑒𝑟 Primjena: ◦ pri obavljanju aritmetičkih operacija množenja i dijeljenja, ◦ sklop za posmak (engl. shifter) 14 Posmačni registar Primjena: ◦ Memoriranje podataka za serijsko izvršavanje (aritmetičkih) operacija ◦ Pretvorba oblika podataka (serijsko-paralelna, paralelno-serijska) ◦ Ostvarivanje (aritmetičkih) operacija (množenje, dijeljenje) ◦ Sinkronizacija brzina prijenosa ◦ Izvedbe cirkulirajućih memorija ◦ Brojanje ◦ Generiranje "pseudo-slučajnog" slijeda 15 Brojila Sastavljena od niza bistabila povezanih sa eventualnom dodanom logikom Pod utjecajem ulaznih impulsa (obično CP ) prolazi kroz utvrđeni niz stanja i vraća u početno stanje ◦ sklop "broji" ulazne impulse ◦ impulsi ne moraju biti periodički (f nije konstantna) ◦ "autonomni" sekvencijski sklop: ima samo jedan ulaz i to obično za impulse koji se broje ( mogu biti CP) Ciklus brojanja ◦ Niz stanja kroz koja brojilo prolazi Baza brojanja ◦ Baza brojevnog sustava u kojem brojilo broji (broj stanja u ciklusu brojanja) 16 Brojila Brojila u užem smislu (engl. counters) ◦ Važan je redoslijed izmjene stanja u ciklusu i mogućnost ispravnog očitanja (dekodiranja) svakog stanja. Djelitelji frekvencije (engl. scalers) ◦ Važan samo broj stanja, ne i redoslijed njihove izmjene ◦ Nije nužno moći ispravno očitati svako pojedino stanje 17 Brojila Sinkrona brojila ◦ (svi) bistabili mijenjaju stanja sinkrono s nailaskom ulaznih impulsa (takta, tipično impulsi CP) ◦ Složenija, skuplja, brža Asinkrona (engl. ripple) brojila ◦ Promjena stanja prvog bistabila uzrokuje serijsku promjenu stanja slijedećih u nizu ◦ Izlaz prethodnog pobuđuje slijedeći bistabil (engl. ripple: mreškanje, talasanje) ◦ Jednostavnija, jeftinija, sporija 18 Brojila Bistabil u brojilima su konceptualno T, ali izveden može i JK ili RS ◦ T= 1 → promjena stanja ◦ dijeli frekvenciju ulaznih impulsa s 2 Direktna implementacija asinkronih brojila ◦ Niz bistabila od kojih svaki prethodni pobuđuje naredni u nizu Brojanje u binarnom brojevnom sustavu ◦ 2n stanja za n bistabila ◦ binarno brojilo (bistabili ~ 2i : težine potencije od 2) 19 Prstenasto brojilo (engl. ring counter) Ostvarena je povratna veza s izlaza posmačnog registra na njegov ulaz ◦ Posmačni registar spojen je u prsten Povratna veza (D0 = Q n - 1) i početno samo jedna 1 u posmačnom registru Dovedena informacija cirkulira pod utjecajem impulsa koji je doveden paralelno na sve CP ulaze bistabila Tablica brojanja Brojanje impulsa na ‘’ulazu’’ CP posmakom 1 ◦ Brojilo modulo broj bistabila ◦ Brojilo u užem smislu ◦ U posmačnom registru cirkulira samo jedna 1 ◦ Djelitelj frekvencije: ◦ Početno upisati uzorak različit od ‘’sve 0’’ i ‘’sve 1’’ = (2n -1) 20 Prstenasto brojilo (engl. ring counter) Baza (modul) = broj bistabila ◦ Neefikasno, ali brže od binarnog brojila Direktno očitanje stanja ◦ Stanje Bi = 1 ◦ vrlo povoljno → ne treba dekoder Osigurati siguran start ◦ ako se sklop nađe u stanju koje nije unutar ciklusa brojanja, sigurno se vraća u ciklus 21 Johnsonovo brojilo, Brojilo s ukrštenim prstenom (engl. twisted ring counter) Ostvarena je povratna veza s izlaza posmačnog registra na njegov ulaz ◦ 𝐷0 = 𝑄𝑛−1 Povećanje broja stanja za dani broj bistabila: 2n ◦ Izvedba bistabilima SR i JK Tablica brojanja ◦ ukrstiti povratnu vezu ◦ Izvedba bistabilima D ◦ na ulaz dovesti 𝑄𝑛−1 ◦ Broje u kodu s dmin = 1 I dalje brže od binarnog brojila 22 Johnsonovo brojilo Dekodiranje stanja Johnsonovog brojila: ◦ potreban je dekoder, nije tako povoljno kao kod prstenastog brojila ◦ Relativno jednostavno, konjunkcijom dva susjedna izlaza Bi i 𝐵𝑖 23 Binarno sinkrono brojilo Redoslijed stanja brojila jednak Tablica brojanja: redoslijedu u prirodnom binarnom sustavu Sastavljeno od T-bistabila (mijenja stanje kada je na T = 1) Binarno brojilo od n bita ima 2n stanja ◦ može brojati do najvećega binarnog broja čiji je dekadski ekvivalent 2n -1 Izvođenje strukture n-bitnog binarnog sinkronog brojila: Struktura brojila iz rekurzivne definicije mehanizma promjene stanja: ◦ prvi bistabil B0 mijenja stanje uvijek: T0 = 1 ◦ i-ti bistabil Bi mijenja stanje kad su svi prethodni bistabili u 1: Ti = B0⋅B1⋅ … ⋅Bi-1 24 Binarno sinkrono brojilo Struktura n-bitnog binarnog sinkronog brojila slijedi iz ulaznih jednadžbi bistabila Može se realizirati serijski ili paralelno 25 Modulo m sinkrono brojilo S n bistabila može se realizirati brojilo u nekom drugom brojevnom sustavu → modulo m brojilo (m < 2n) ◦ Neka stanja se ne koriste Projektiranje kao proizvoljni sekvencijski sklop ◦ Mogućnost izbora koda: ◦ Jednostavniji dekoder ◦ Ugradnja ‘’ sigurnog starta’’ Sinkrona dekada ◦ Brojilo koje broji u dekadskom sustavu (dekada) ◦ Potrebno je uzeti najmanje 4 bistabila ◦ Od 16 stanja 6 se ne koristiti ◦ Izabrati stanja koja će brojilo imati i njihov redoslijed ◦ Izabrati kod u kojem će dekada raditi 26 Sinkrona dekada BCD dekadsko brojilo Nakon minimizacije (pomoću K-tablice): Tablica uzbude ◦ T0 = 1 ◦ 𝑇1 = 𝐵0 𝐵3 ◦ 𝑇2 = 𝐵0 𝐵1 ◦ 𝑇3 = 𝐵0 𝐵3 + 𝐵0 𝐵1 𝐵2 ◦ 𝑍 = 𝐵0 𝐵3 → auditorne vježbe 27 Sinkrona dekada T0 = 1 Sklop BCD-dekadskog brojila 𝑇1 = 𝐵0 𝐵3 𝑇2 = 𝐵0 𝐵1 𝑇3 = 𝐵0 𝐵3 + 𝐵0 𝐵1 𝐵2 𝑍 = 𝐵0 𝐵3 28 Kaskadiranje brojila Kaskadiranje modula → proširenje broja bitova Spajanje manjih brojila sa prijenosom zadnjeg stanja u ciklusu 29 Asinkrona brojila Bistabili ne mijenjaju stanje u sinkronizmu sa zajedničkom pobudom: Sporiji rad 30 Asinkrona brojila Tipični problem kod očitanja (dekodiranje) stanja ◦ Tranzijentna pogreška dekodiranja→ pojava hazard ◦ Serijsko okidanje bistabila ◦ Moguće rješenje ◦ zakasniti očitanje tako da ne djeluje prijelazna pojava ◦ Praktična implementacija ◦ kombinirati očitanje s ulaznim impulsima ◦ Potpuno dekodiranje ◦ Dekodiranje svih 2n stanja ◦ npr. dekodiranje 𝐷0 = 𝐵2 𝐵1 𝐵0 31 Asinkrona brojila – vremenski odnosi Vrijeme kašnjenja (cijelog) brojila ◦ Najduže vrijeme odziva: ◦ promjena stanja svih n bistabila Vrijeme razlučivanja ( rezolucije) ulaznih impulsa ◦ Svojstvo prvog bistabila Maksimalna frekvencija ◦ Različita za brojila u užem smislu i za djelitelja ◦ Maksimalna frekvencija brojila u užem smislu ◦ Očitanje (dekodiranje) svih stanja ◦ Najlošiji slučaj: B0 ne smije promijeniti stanje sve dok Bn-1 ne dođe u stanje uzrokovano prethodnim impulsom ◦ Maksimalna frekvencija djelitelja ◦ Odabrati ‘’prikladno’’ stanje koje će se očitati ◦ Minimalni broj bistabila mijenja stanje ◦ fmax slijedi iz analize prijelaza u to stanje 32 Binarno asinkrono brojilo Brojilo broji u binarnom Tablica brojanja brojevnom sustavu 2n stanja za n bistabila; npr. n = 3 → m = 2n = 8 stanja 33 Reverzno binarno asinkrono brojilo Asinkrono brojilo koje broji u reverznom smjeru (unatrag) Veza sa sljedećim bistabilom ide iz komplementarnog izlaza s 𝑄 Brojilo odbija impulse 34 Dvosmjerno binarno asinkrono brojilo Brojilo naprijed – natrag ( engl. up-down counter) Pribraja ili odbija dolazne impulse ovisno o upravljačkom ulazu Ako je upravljački ulaz smjer = 1 ◦ Propusan je gornji I-sklop ◦ Brojilo pribraja impulse ◦ Brojanje naprijed Ako je upravljački ulaz smjer = 0 ◦ Zatvara se gornji I-sklop i otvara donji ◦ Brojilo odbija impulse ◦ Brojanje unatrag 35 Modulo m asinkrono brojilo Asinkrono brojilo u nekom drugom sustavu m koji nije binaran ili član niza potencija broja 2 (m ≠ 2n) Treba uzeti n bistabila uz uvjet m < 2n i odabrati kod u kojem će brojilo raditi Prekid ciklusa binarnog brojanja korištenjem asinkronih ulaza bistabila ◦ prekid aktiviran zadnjim stanjem u ciklusu, m – 1 ◦ 𝑆𝑑 prebacuje brojilo u stanje 2n -1 , a slijedeći ga impuls prebacuje u 0 mod 2n ◦ prekid aktiviran prvim stanjem izvan ciklus, m 𝐶𝑑 prebacuje brojilo u stanje 0 36 Asinkrona BCD dekada (asinkrono dekadsko brojilo) Dekada broji binarno do 9. impulsa Stanje se nakon 10. impulsa dekodira pomoću NI sklopa ◦ Stanje (1010) je privremeno (karakteristična pojava B3B1 = 1) ◦ Brojilo broji naprijed: jednostavnije nepotpuno dekodiranje Tablica brojanja U stanju 10, na izlazu NI sklopa biti će razina 0 ◦ Djeluje na sve asinkrone ulaze i sve bistabile postavlja u 0 37 Asinkrona BCD dekada (asinkrono dekadsko brojilo) Problem kod brisanja bistabila ◦ nestanak impulsa brisanja prije brisanja svih bistabila Rješenje problema brisanja: ◦ Osnovni bistabil u ‘’petlju povratne veze’’ Sigurno generiranje impulsa brisanja, traje do slijedećeg CP = 1 38 Generator sekvencije (engl. sequence generator) Generiranje propisane sekvencije Izvedba generatora sekvencije bitova (niz bitova koji se ponavlja) ◦ posmačni registar s povratnom vezom Duljina sekvencije (engl. sequence D0 = f(Bn-1, … B1, B0) length) ◦ broj uzastopnih bitova koji se Posmačni registar s općenitom ponavljaju (npr. povratnom vezom 011100101110010111) Sekvencija ◦ očitanje izlaza posmačnog registra Specijalni slučaj: ◦ Prstenasto brojilo: D0 = Bn-1 ◦ Johnsonovo brojilo:D0 = 𝐵n-1 39 Generator sekvencije Primjer: sekvencija …011100101110010111… ima duljinu 7 bitova Veza uzorka bitova i stanja generatora sekvencije ◦ Izlazna sekvencija prikazana je u zasjenčanom stupcu ispod Bn-1 40 Generator sekvencije Principijelna logička shema generatora sekvnecije Projektiranje generatora sekvencije 𝐷0𝑛 = 𝐵0𝑛+1 𝐷0𝑛 = 𝐵0𝑛+1 = 𝐵2 ∙ 𝐵1 + 𝐵2 ∙ 𝐵1 = 𝐵1 ⨁𝐵2 41 Generator sekvencije Booleova funkcija f (xn-1, …. x1, x0) prikazana kao modulo 2 suma varijabli xn-1, …. x1, x0 → linearna funkcija f (xn-1, …. x1, x0) = cn-1xn-1 Ꚛ … Ꚛc1x1Ꚛc0x0 , c0 Ꞓ {0,1} Posmačni registar s linearnom povratnom vezom (engl. Linear Feedback Shift Register, LFSR) ◦ generator sekvencije s prethodno navedenom funkcijom povratne veze ◦ jednostavna funkcija povratne veze → ostvarena samo dvoulaznim sklopom EX-ILI ◦ generiraju sekvenciju maksimalne duljine 2n – 1 bita (za n bistabila) ◦ ne smije doći u stanje 0 ◦ ugrađuje dodatni sklop za siguran start 42 Generator sekvencije Primjer: Posmačni registar s Tablica stanja izdvojenim sklopovima EX ILI za duljinu sekvencije 3 bita Primjer: D0 = f(B2, B1, B0) = B2 Ꚛ B0 Dijagram stanja 43 Generator sekvencije Primjena ◦ generiranje pseudoslučajne sekvencije bitova → generator pseudoslučajne sekvencije ◦ "randomizacija" bitovnih nizova (engl. scrambling) ◦ zaštitni bitovi prilikom prijenosa ◦ tajni ključevi za kriptiranje ◦ ispitni vektori za ispitivanje digitalnih sklopova ◦ očitanje stanja posmačnog registra → generator pseudoslučajnih brojeva 44 Pitanja? 45