7 memorijski elementies.elfak.ni.ac.rs/ams/materijal/memorijski elementi.pdfkaže se da ukupni...

35
1 7 Memorijski elementi Kombinaciona kola, koja su razmatrana u prethodnim poglavljima, imaju osobinu da vrednost svakog njihovog izlaza zavisi isključivo od vrednosti signala prisutnih na njihovim ulazima. Osim kombinacionih, postoji još jedna široka klasa digitalnih kola, kod kojih vrednosti izlaza zavise ne samo od trenutnih vrednosti ulaza, već i od ranijeg ponašanja kola. Ovakava kola sadrže memorijske elemente koji zadržavaju, pamte odnosno memorišu vrednosti logičkih signala. Kaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se promene vrednosti ulaza, kolo ili ostane u istom (tj. tekućem) stanju, ili promeni svoje stanje. Vremenom, kao posledica promena ulaza, kolo prolazi kroz sekvencu stanja. Kolo koja se ponašaju na ovaj način zovu se sekvencijalna kola. Tehnike analize i projektovanja sekvincijalnih kola biće teme narednih poglavlja. U ovom poglavlju, ograničićemo se na razmatranje digitalnih kola koja se mogu koristiti kao memorijski elementi za realizaciju složenijih sekvencijalnih kola. 7.1 Elementarno memorijsko kolo Elementi koji zadržavaju, tj. pamte uspostavljena stanja i po prestanku dejstva pobudnih signala koji su ih prouzrokovali, nazivaju se memorijski elementi. Osnovna karakteristika memorijskih elemenata jeste postojanje stabilnih stanja u kojima mogu ostati neograničeno vreme i koja se mogu menjati pod uticajem ulaznih signala. U digitalnoj tehnici kao memorijski elementi koriste se bistabilana kola koja imaju dva stabilna stanja. Bistabilno kolo može da memoriše informaciju od jednog bita. Na Sl. 7-1a je prikazano elementarno bistabilno kolo koga čine dva invertora povezana u petlju. Ako pretpostavimo da je A=0, tada je B=1. Ako nema spoljnih poremećaja, kolo će neograničeno dugo održavati ove dve vrednosti. Kažemo da je kolo u stabilnom stanju određenom ovim dvema vrednostima. Ako pretpostavimo da je A=1, tada je B=0, što odgovara drugom stabilnom stanju ovog kola. Dakle, kolo sa Sl. 7-1a ima dva moguća stanja. Međutim, ovo kolo nije praktično upotrebljivo, zato što ne postoji mogućnost promene njegovog stanja. Sl. 7-1 Elementarno memorijsko kolo.

Upload: others

Post on 26-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

1

7 Memorijski elementi

Kombinaciona kola, koja su razmatrana u prethodnim poglavljima, imaju osobinu da vrednost svakog njihovog izlaza zavisi isključivo od vrednosti signala prisutnih na njihovim ulazima. Osim kombinacionih, postoji još jedna široka klasa digitalnih kola, kod kojih vrednosti izlaza zavise ne samo od trenutnih vrednosti ulaza, već i od ranijeg ponašanja kola. Ovakava kola sadrže memorijske elemente koji zadržavaju, pamte odnosno memorišu vrednosti logičkih signala. Kaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se promene vrednosti ulaza, kolo ili ostane u istom (tj. tekućem) stanju, ili promeni svoje stanje. Vremenom, kao posledica promena ulaza, kolo prolazi kroz sekvencu stanja. Kolo koja se ponašaju na ovaj način zovu se sekvencijalna kola. Tehnike analize i projektovanja sekvincijalnih kola biće teme narednih poglavlja. U ovom poglavlju, ograničićemo se na razmatranje digitalnih kola koja se mogu koristiti kao memorijski elementi za realizaciju složenijih sekvencijalnih kola.

7.1 Elementarno memorijsko kolo Elementi koji zadržavaju, tj. pamte uspostavljena stanja i po prestanku dejstva pobudnih

signala koji su ih prouzrokovali, nazivaju se memorijski elementi. Osnovna karakteristika memorijskih elemenata jeste postojanje stabilnih stanja u kojima mogu ostati neograničeno vreme i koja se mogu menjati pod uticajem ulaznih signala. U digitalnoj tehnici kao memorijski elementi koriste se bistabilana kola koja imaju dva stabilna stanja. Bistabilno kolo može da memoriše informaciju od jednog bita.

Na Sl. 7-1a je prikazano elementarno bistabilno kolo koga čine dva invertora povezana u petlju. Ako pretpostavimo da je A=0, tada je B=1. Ako nema spoljnih poremećaja, kolo će neograničeno dugo održavati ove dve vrednosti. Kažemo da je kolo u stabilnom stanju određenom ovim dvema vrednostima. Ako pretpostavimo da je A=1, tada je B=0, što odgovara drugom stabilnom stanju ovog kola. Dakle, kolo sa Sl. 7-1a ima dva moguća stanja. Međutim, ovo kolo nije praktično upotrebljivo, zato što ne postoji mogućnost promene njegovog stanja.

Sl. 7-1 Elementarno memorijsko kolo.

Page 2: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

2

Kolo sa Sl. 7-1b je unapređena varijanta bistabilnog elementa sa ugrađenim transmisionim gejtovima koji omogućavaju promenu stanja kola. Preko transmisionog gejta TG1 ostvarena je sprega ulaza D sa tačkom A. Drugi transmisioni gejt, TG2, služi kao prekidač u petlji koja održava stanje kola. Transmisionim gejtovima se upravlja signalom L. Ako je L=1, tada je TG1 uključen i tačka A ima istu vrednost kao ulaz D. Takođe, L=1 isključuje TG2, što raskida petlju. Po ovim uslovima, izlaz Out ima istu vrednost kao ulaza D. Kada se L postavi na 0, TG1 se isključuje, a TG2 uključuje. Petlja je ponovo zatvorena, a veza sa ulazom D raskinuta. Sve dok je L=0 kolo zadržava svoje novo stanje. Kažemo da je u memorijski element upisan podatak D.

7.2 SR leč Memorijska kola, slična kolu sa Sl. 7-1b, mogu se realizovati i bez transmisionih gejtova,

tj. samo pomoću logičkih kola. Na Sl. 7-2 je prikazano jedno takvo kolo. Uočimo da je ovo kolo realizovano tako što su u kolu sa Sl. 7-1a invertori zamenjeni dvo-ulaznim NOR gejtovima. Preko jednog para njihovih ulaza, NOR gejtovi su povezani u petlju, koja omogućava održavanje tekućeg stanja kola, dok se druga dva ulaza u NOR kola koriste kao ulazi u memorijski element, S i R, preko kojih je moguće promeniti stanje kola.

Sl. 7-2 Memorijski element sa NOR gejtovima.

Uobičajeno je da se struktura sa Sl. 7-2 crta u obliku unakrsno spregnutih NOR kola, kao na Sl. 7-3a. Kolo sa Sl. 7-3a se zove SR leč. Kada oba ulaza, S i R, imaju vrednost 0, NOR gejtovi, u odnosu na svoje druge ulaze, funkcionišu kao invertori, i leč održava svoje postojeće (tekuće) stanje. Ovo stanje može biti Q=0 i Q`=1 ili Q=1 i Q`=0, što je u tabeli istinitosti sa Sl. 7-3c naznačeno sa 1/0 i 0/1. Uočimo da su u ovom slučaju vrednosti izlaza Q i Q` uzajamno komplementarne. Izlaz Q se zove pravi, a izlaz Q` komplementarni izlaz leča. Konvencijom je usvojeno da se stanje leč kola izražava logičkom vrednošću izlaza Q. Prvo stanje (kada je Q=0) se zove nulto ili resetovano, a drugo (Q=1, Q`=0) jedinično ili setovano stanje leča. Kažemo da je u resetovanom stanju u leč upisana ˝0˝, a u setovanom ˝1˝. Ulaz S (set) se zove ulaz za setovanje, a ulaz R (Reset) ulaz za resetovanje SR leča. Dovođenjem pobude R=1 i S=0 leč se postavlja u resetovano, a dovođenjem pobude R=0 i S=1 u setovano stanje. Pri pobudi R=S=1, oba izlaza se postavljaju na vrednost 0. Grafički simbol SR leča prikazan je na Sl. 7-3b.

Page 3: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

3

Sl. 7-3 SR leč u realizaciji sa NOR kolima.

Na Sl. 7-3d je prikazan vremenski dijagram koji opisuje ponašanje SR leča pod pretpostavkom da je propagaciono kašnjenje kroz NOR kola zanemarljivo malo. Naravno, za realna kola, sve promene koje se javljaju u dijagramu kasne za iznos propagacionog kašnjenja kroz gejtove. Usvojeno je da je na početku leč u resetovanom stanju. Stanje leča ostaje nepromenjeno sve do trenutka t2 kada S postaje jednako 1, što uslovljava da se najpre izlaz Q` promeni na 0, a zatim i izlaz Q na 1. Uzročno posledične veze između signala u dijagramu su naznačene strelicama. Kada se u trenutku t3 S vrati na 0, do promene stanja ne dolazi jer sada oba ulaza, S i R, imaju vrednost 0. U trenutku t4 ulaz R postaje 1, što uslovljava da se na izlaz Q postavi 0, što dalje ima za posledicu da se Q` promeni na 1. U trenutku t5 oba ulaza S i R su jednaka 1. Zbog toga se oba izlaza, Q i Q` postavljaju na 0. U trenutku t6 kada se S vrati na 0, Q` prelazi na 1, dok Q zadržava vrednost 0. U t8 pobuda ulaza je S=1 i R=0, što postavlja izlaze na Q=1 i Q`=0. Interesantna pojava se dešava u trenutku t10. U vremenu između t9 i t10, na izlazu je Q=Q`=0, zbog S=R=1. Ako se sada oba ulazna signala deaktiviraju tačno u isto vreme (u t10), izlazi oba NOR kola, u isto vreme, postaće 1, što će, zbog povratnih veza usloviti da, nakon nekog kraćeg kašnjenja, oba izlaza ponovo postanu 0; 0, vraćena na ulaze NOR kola inicira promenu izlaza na 1, i tako dalje do u beskonačnost. Dakle, pod ovim uslovima, SR leč počinje da osciluje. Ovakav tip oscilacija se zove kritična trka i javlja se pod uslovom da oba gejta imaju identična kašnjenja. Međutim, ako kašnjenja NOR gejtova nisu ista, jedno od NOR kola biće brže i prvo će postavi 1 na svom izlaz i to u vremenu dok je na izlazu drugog gejta još uvek 0, koja će tu i ostati zbog 1 koja se upravo pojavila na povratnoj vezi. Međutim, bez obzira što pri ovim uslovima oscilacije na javljaju, i dalje možemo smatrati da je novo stanje leča nakon istovremenog deaktiviranja oba ulazna signala

Page 4: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

4

nedefinisano, s obzirom da ne možemo znati koji je od dva NOR gejta brži. Ova situacije je predstavljena u vremenskom dijagramu isprekidanim linijama.

Da bi se sprečilo opisano nedetirminističko ponašanje, moramo obezbediti da signali S i R nikada ne budu deaktivirani (postavljeni na 0) u isto vreme. Nažalost, ovaj zahtev je teško ostvariti zbog nepoznatog kašnjenja logičke mreže koja generiše vrednosti signala S i R. Zbog toga, kada koristimo SR lečeve, moramo se držati strožeg ograničena: signali S i R nikada ne smeju biti aktivirani (postavljeni na 1) u isto vreme.

SR leč se, takođe, može realizovati pomoću NAND kola. U ovom slučaju, ulazi S i R su normalno jednaki 1, a postavljanje S ili R na 0 setuje, odnosno, resetuje leč, što je upravo suprotno u odnosu na realizaciju koja koristi NOR kola, gde postavljanje S ili R na 1 uzrokuje setovanje, odnosno, resetovanje leča. Realizacija SR leča na bazi NAND kola prikazana je na Sl. 7-4. Uočimo kružiće na ulazima S i R grafičkog simbola koji označavaju da je aktivni nivo ovih signala nizak, tj. 0.

Sl. 7-4 SR leč u realizaciji sa NAND kolima.

Primer 7-1: Jedna primena SR leča. Na Sl. 7-5 je prikazan alarmni sistem koji se sastoji od senzora koji detektuje neki neželjeni događaj (npr. vrata su otvorena) i zvučnog alarma. Alarm je uključen kada je On/Off=1, a isključen kada je On/Off=0. Signal Set odražava stanje senzora; Set=1 znači da je senzor aktivan (vrata su otvorena), a Set=0 da je senzor neaktivan (vrata su zatvorena). Aktiviranje senzora setuje SR leč i time uključuje alarm. Alarm ostaje uključen sve dok se ne isključi ručno, komandom Reset, čak iako se u međuvremenu senzor deaktivira (vrata ponovo zatvore, Set=0). Uloga SR leča u ovom sistemu je da zapamti da je alarm uključen i zadrži On/Off=1 do trenutka ručnog isključenja.

Sl. 7-5 Alarmni sistem.

Primer 7-2: Kolo za eliminisanje treperenja kontakta mehaničkog prekidača. Prekidači, tasteri i drugi mehanički preklopnici često su sastavni deo digitalnih sistema, gde se koriste za interakciju sa korisnikom. Na primer, pomoću prekidača korisnik može da postavi sistemu u određeni režim rada, da pokrene ili zaustavi neku aktivnost sistema ili da unese podatke u sistem. U suštini, prekidači se koriste da se na ogovarajuće ulaze sistema postave željene logičke vrednosti, 0 ili 1. Na Sl. 7-6a je prikazano kako se dvo-

Page 5: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

5

položajni prekidač može upotrebiti za generisanje logičke vrednosti. Dok je prekidač zatvoren (dirka je u položaju A) na ulaz invertora je preko otpornika doveden visok naponski nivo (+V) koji odgovara logičkoj jedinici. Otvoreni prekidač (dirka je u položaju B) spaja ulaz invertora sa masom (0V) što odgovara logičkoj nuli. Međutim, zbog mehaničke strukture prekidača i fizičkih osobina površine kontakta, pri otvaranju/zatvaranju kontakta prekidača dolazi do kratkotrajnog varničenja koje prouzrokuje seriju nepravilnih impulsa pre nego što se ostvari dobar električni spoj (Sl. 7-6b). Ova pojava je poznata kao treperenje ili podrhtavanje kontakt i tipično traje od nekoliko do nekoliko desetina milisekundi. Digitalni sistemi su u stanju da registruju i mnogo brže promene, tako da se treperenje kontakta, gledano sa strane digitalnog sistema, manifestuje kao višestruko otvaranje/zatvaranje prekidača. Naravno, to može imati neželjeni efekat na rad sistema.

Na Sl. 7-6c prikazano je kako se pomoću SR leča može eliminisati štetni efekat treperenje kontakta prekidača. Sada su dva kontakta prekidača spojena sa S i R ulazima leča, a dirka prekidača spaja jedan od ova dva ulaza sa masom. Neka je prekidač u položaju A. U ovom položaju ulazi leča su postavljeni na S=1 i R=0, što na izlaz leča postavlja Q=0. Otvaranjem prekidača najpre se raskida kontakt A. Treperenje kontakta koje se tom prilikom javlja deluje samo na ulaz S i stoga ne može da promeni stanje leča. U vremenu dok se dirka kreće u prostoru između kontakta A i B na oba ulaza leča je prisutna 1, što ne menja stanje leča – tj. i dalje važi Q=0. Onog trenutka kada dirka prvi put dodirne kontakt B, 0 na ulazu S setuje leč i i postavlja Q=1. Naknadni treptaji sada deluju samo na ulaz S i zato ne mogu promeniti stanje leča. Stanje leča će se promenit tek kada dirka ponovo dodirne kontakt A.

Sl. 7-6 Sprega prekidača na digitalni sistem

7.3 SR leč sa dozvolom U odeljku 7.2 pokazano je kako se SR leč može koristiti kao memorijski element. SR leč

pamti svoje stanje sve dok su oba njegova ulaza, S i R, na nuli. Stanje leča se menja kao odziv na aktiviranje ulaznih signala. Drugim rečima, promena stanja leča nastaje u trenutku promene ulaznih signala. Međutim, u nekim promenama, potrebno je imati kontrolu nad radom lečom, u smislu da se osetljivost leča na promene ulaza S i R može po potrebi dozvoliti ili zabraniti.

Na primer, neka je specifikacija alarmnog sistema sa Sl. 7-5 proširena zahtevom da se putem jednog dodatnog signala, Enable (Enable na engleskom znači dozvola), može dozvoliti ili zabraniti rad celokupnog sistema. Kada je rad sistema dozvoljen, tj. Enable=1,

Page 6: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

6

sistem funkcioniše onako kako je opisano u primeru 7-1; kada je rad sistema zabranjen, tj. Enable=0, promena ulaza Set sa 0 na 1 ne bi trebalo da uključi alarm. SR leč sa Sl. 7-5 ne može da obezbedi zahtevanu funkcionalnost. Međutim, kolo SR leča se može modifikovati tako da reaguje na promene signala S i R samo ako je Enable=1, a da za vreme dok je Enable=0, zadržava svoje stanje.

Modifikovano kolo SR leča prikazano je na Sl. 7-7a. Kolo sadrži dva dodatna AND gejta koji obezbeđuju željeno upravljanje. Kada je upravljački signal CLK jednak 0, ulazi u leč Sa i Ra biće 0, bez obzira na vrednosti signala S i R. To znači da za svo vreme dok je CLK=0, leč zadržava svoje stanje. Kada je CLK=1, signali Sa i Rb postaju jednaki signalima S i R, i leč se ponaša na identičan način kao kolo opisano u odeljku 7.2. Drugim rečima, sve dok je CLK=1, leč reaguje na promene ulaznih signala. Onog trenutka kada CLK postane jednako 0, tekuće stanje leča se “zamrzava” sve do trenutka kada CLK ponovo postane 1 i leč nastavi normano da funkcioniše. Uočimo da je upravljačkom signalu koji omogućava da leč bude resetovan ili setovan dato ime CLK, a ne recimo Enable. To je učinjeno iz razloga što se kola ovog tipa često koriste u digitalnim sistemima gde je poželjno da se stanja memorijskih elementa mogu menjati samo u tačno definisanim vremenskim intervalima. Upravljački signal koji, na nivou celog sistema, definiše ove vremenske intervale uobičajno se zove taktni signal ili, na engleskom, clock. Ime CLK odražava prirodu ovog signala.

Leč kola koja poseduju upravljački ulaz zovu se lečevi sa dozvolom ili gejtovani lečevi. Zbog mogućnosti setovanja i resetovanja, kolo sa Sl. 7-7a se zove SR leč sa dozvolom. Ponašanje ovog kola opisano je tabelom istinitostni sa Sl. 7-7b. Tabela definiše stanje izlaza Q u trenutku t+1 kao funkciju ulaza R, S i CLK. Kada je CLK=0, leč će i u narednom trenutku, t+1, zadržati svoju vrednost, tj. Q(t+1)=Q(t), bez obzira na vrednosti ulaza R i S. Činjenica da u ovom slučaju izlaz Q ne zavisi od vrednosti ulaza R i S naznačena je u tabeli istinitosti simbolima X. Kada je CLK=1, kolo se ponaša identično osnovnom SR leču sa Sl. 7-3a; S=1 setuje, a R=1 resetuje leč. Poslednja vrsta tabele istinitosti odgovara slučaju kada je S=R=1 i kazuje da je pri ovakvoj pobudi stanje Q(t+1) nedefinisano, tj. ne možemo znati da li će, po prestanku dejstva taktnog impulsa, novo stanje leča biti 0 ili 1. Ovo odgovara situaciji koja je opisana u odeljku 7.2, a odnosi se na ponašanje leča u trenutku t10 sa vremenskog dijagrama sa Sl. 7-3d. U tom trenutku oba ulaza S i R, istovremeno, prelaze sa 1 na 0, što dovodi do pojave kritične trke. U kolu SR leča sa dozvolom, kritična trka nastaje ako u trenutku promene CLK sa 1 na 0 oba ulaza S i R imaju vrednost 1. Da bi ponašanje se kolo u svim situacijama bilo determinističko (predvidljivo), neophodno je obezbediti da u trenutku promene upravljačkog signala CLK sa 1 na 0 ulazi S i R nikada oba ne budu jednaki 1.

Page 7: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

7

Sl. 7-7 SR leč sa dozvolom.

Na Sl. 7-7c je prikazan vremenski dijagram SR leča sa dozvolom. U ovom dijagramu, CLK je prikazan kao periodični signal koji je jednak 1 u regularnim vremenskim intervalima, što ukazuje na način kako se taktni signal obično koristi kod realnih sistema. Dijagram prikazuje efekte koje na stanje leča imaju nekoliko karakterističnih kombinacija ulaznih vrednosti. Osim kod poslednjeg taktnog impulsa, kada dolazi do kritične trke, preostali deo dijagrama ukazuje na način kako se SR leča sa dozvolom najčešće koristi. Naime, ulazni signali S i R se menjaju samo u vremenu dok je CLK=0, a stabilni su dok je CLK=1, kada se leč postavlja u novo stanje. Kao što se može videti sa dijagrama, pod ovim uslovima, sve promene stanja izlaza Q i Q` se dešavaju u trenutku kada se CLK menja sa 0 na 1. Kaže se da su promene izlaza Q i Q` sinhronizovane sa rastućom ivicom signala CLK. Grafički simbol SR leča prikazan je na Sl. 7-7d.

Na Sl. 7-8 je prikazan SR leč sa dozvolom realizovan pomoću NAND kola. Ponašanje ovog kola je identično ponašanju SR leča sa dozvolom u realizaciji sa AND i NOR kolima i opisano je tabelom istinitosti sa Sl. 7-7b. Uočimo da se sada gejtovanje taktnog signala CLK obavlja pomoću NAND, a ne pomoću AND kola. Takođe, uočimo da su ulazima S i R, u odnosu na kolo sa Sl. 7-7a, zamenjena mesta.

Page 8: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

8

Sl. 7-8 SR leč sa dozvolom u realizaciji sa NAND gejtovima.

7.4 D leč sa dozvolom SR leč sa dozvolom, opisan u odeljku 7.3, je kolo koje se kao memorijski element koristi

u mnogim primenama. Tipično, ulazi S i R SR leča se nezavisno koriste: kada se ispuni neki uslov, leč se setuje preko ulaza S; kada se ispuni neki drugi uslov, leč se resetuje preko ulaza R. Međutim, često postoji potreba za leč kolima koja će biti u mogućnosti da, prosto, sačuvaju bitove informacije. Takvo jedno kolo se zove D leč sa dozvolom. Ovo kolo ima samo jedan ulaz, D, na koji se dovode ulazni podaci, a radi tako što pod kontrolom taktnog signala, CLK, pamti vrednost prisutnu na ulazu D.

Da bi smo dodatno motivisali potrebu za jednim ovakvim kolom, razmotrimo jedinicu sabirač/oduzimač, opisanu u poglavlju X. Sabirač/oduzimač se često koristi kao deo nekog složenijeg sistema, a rezultat sabiranja ili oduzimanja se obično koristi kao operand u nekim narednim izračunavanjima. To znači da je neophodno na neki način sačuvati rezultat do vremena kada će on ponovo biti potreban. Rezultat se može sačuvati u nizu D lečeva, od kojih svaki pamti jedan bit rezultata. Nakon što je sabirač/oduzimač na svom izlazu generisao korektan rezultat zahtevane operacija, aktiviranjem taktnog signala u svaki D leč se upisuje odgovarajući bit rezultata. Pošto je rezultat sačuvan, sabirač/oduzimač se može koristiti za neka druga izračunavanja.

Kolo D leča sa dozvolom prikazano je na Sl. 7-9a. Kao što se može videti, ovo kolo je zasnovano na SR leču sa dozvolom, ali umesto dva poseduje samo jedan ulaz, D, koji je direktno povezan na ulaz S, a preko invertora na ulaz R SR leča. Kada je D=1, tada je S=1 i R=0, što postavlja leč u stanje Q=1. Ako je D=0, tada je S=0 i R=1, što uzrokuje Q=0. Naravno, promene stanja leča su moguće samo ako je CLK=1. Dakle, dok je CLK=1, izlaz Q ˝u stopu˝ prati ulaz D. Kaže se da je leč transparentan. Onog trenutka kada se CLK promeni sa 1 na 0, tekuće stanje leča se zamrzava. Kaže se da je leč zaključan i da čuva podatak koji je u trenutku opadajuće ivice signala CLK bio prisutan na ulazu D. Na Sl. 7-9 su takođe prikazani tabela istinitosti, grafički simbol i vremenski dijagram D leča sa dozvolom.

Važno je uočiti da zbog invertora koji povezuje tačke S i R, ova dva ulaza u SR leč nikada ne mogu imati istu vrednost. To znači da je kod D leča sa dozvolom izbegnuta situacija S=R=1, za koju je u odeljku 7.3 pokazano da pod izvesnim okolnostima može da dovede do nedeterminističkog ponašanja leč kola.

Page 9: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

9

Sl. 7-9 D leč sa dozvolom.

Vremenski dijagram sa Sl. 7-9d, između ostalog, pokazuje šta se dešava ako se signal D promeni za vreme dok je CLK=1. Na početku trećeg taktnog impulsa, u trenutku t3, kada se CLK menja sa 0 na 1, izlaz Q se menja na 1, zato što je u tom trenutku D=1. Međutim, negde na sredini taktnog impulsa, signal D se menja na 0, što uzrokuje da i Q pređe na 0. U trenutku promene takta CLK na 0, ova vrednost izlaza Q se pamti i sve do trenutka pojave sledećeg taktnog impulsa, t4, stanje leča se ne menja. Ključno je uočiti da sve dok taktini signal ima vrednost 1, Q striktno prati ulaz D. Ali kada CLK ima vrednost 0, stanje leča nije moguće promeniti. Znači, ponašanje leča zavisi od nivoa nivoa taktnog signala. Zato se za D leč sa dozvolom kaže da je osetljiv na nivo. Leč kola sa Sl. 7-3 i Sl. 7-7 su takođe osetljiva na nivo. U odeljku X će biti pokazano da je moguće realizovati memorijske elemente čiji izlazi mogu da se promene samo u trenutku kada se vrednost taktno signala menja sa jedne na drugu vrednost. Za takva kola se kaže da su okidaju ivicom taktnog signala.

Razmotrimo ponovo kolo sa Sl. 7-1b. Pažljivom analizom ovog kola možemo zaključiti da je ono funkcionalno identično kolu sa Sl. 7-9a. Ulazi L i D odgovaraju ulazima CLK i D, respektivno, dok izlazu Out, koji ima istu vrednost kao i tačka A, odgovara izlaz Q. Tački B odgovara izlaz Q`. Dakle, kolo sa Sl. 7-1b je takođe D leč sa dozvolom. Jedna prednost ovog kola u odnosu na kolo sa Sl. 7-9b je što se ono može realizovati sa manjim brojem tranzistora.

Napomenimo, još jednom, da sposobnost memorisanja leč kola potiče od postajanja petlje u kolu koja formira bistabilni element. U kolu sa Sl. 7-1a petlju čine dva invertora, a u kolu sa Sl. 7-3 dva NOR kola. U oba slučaja petlja je neinvertujuća, zato što se efekat inverzije jednog gejta poništava drugim gejtom. Napomenimo, da invertujuće petlje, kao što je struktura sa Sl. 7-10, formiraju astabilni element ili oscilatorno kolo. U svakoj tački invertujuće petje, vrednost signala se periodično menja sa 0 na 1, a period promene, tj. frekvencija oscilovanja, određen je ukupnim propagacionim kašnjenjem u petlji.

Page 10: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

10

Sl. 7-10 Astabilni element.

7.4.1 Efekti propagacionog kašnjenja U dosadašnjem izlaganju o leč kolima ignorisali smo efekte propagacionog kašnjenja.

Međutim, u radu sa realnim kolima, kašnjenje se mora uzeti u obzir. Razmotrimo, ponovo, D leč sa dozvolom sa Sl. 7-9a. Kao što je već rečeno, ovo kolo pamti vrednost koja je prisutna na ulazu D u trenutku promene taktnog signala sa 1 na 0. Međutim, kolo ispravno radi samo ako je u trenutku promene signala CLK sa 1 na 0 ulaz D stabilan (tj. ne menja se). Međutim, ako se u istom trenutku kada i CLK promeni i ulaz D rezultujuće stanje leča neće biti moguće predvideti. To znači da projektant koji projektuje deo sistema koji generiše signal za pobudu ulaza D mora da obezbedi da se ulazni signali D ne menja u vremenskom intervalu u okolini opadajuće ivice signala CLK. Na Sl. 7-11 je ilustrovan ovaj kritični vremenski interval. Minimalno vreme pre opadajuće ivice taktnog signala u kome ulaz D mora biti stabilan se zove vreme postavljanja (ili, na engleskom, setup time) i označava se sa tsetup. Minimalno vreme nakon opadajuće ivice taktnog signala u kome ulaz D mora ostati stabilan se zove vreme držanja (ili, na engleskom, hold time) i označava sa thold. Vremena tsetup i thold zavise od poluprovodničke tehnologije koja se koristi. Na primer, tipične vrednosti za CMOS tehnologiju su tsetup=3 ns i thold=2 ns.

Sl. 7-11 Vreme postavljanja i vreme držanja.

Primer 7-3: Problem trke kod D leča sa dozvolom Razmotrimo kolo sa Sl. 7-12a. Kolo čine D leč sa dozvolom i XOR gejt preko koga se ostvaruje povratna sprega između izlaza i ulaza D leča. Ako je ulazni signal T jednak 1, tada ulaz D ima vrednost komplementa tekućeg stanja leča, tj. D=Q`; ako je T=0, tada je D=Q. Dakle, očekivano ponašanje kola je da pri T=1 svaki taktni impuls CLK promeni (komplementira) stanje lieča, a da pri T=0, i pored dejstav taktnog impulsa leč zadrži svoje tekuće stanje. Međutim, stvarno ponašanje ovog kola pri T=1 zavisi od trajanja taktnog impulsa. Ako je taktni implus dovoljno ˝uzak˝, tj. kraćeg trajanja od zbirnog kašnjenja XOR gejta i D leča, tada kolo funkcioniše na opisani način, kao što je ilustrovano vremenskim dijagramom sa Sl. 7-12b. Sa druge strane, ako je taktni impuls previše ˝širok˝ (tj. dužeg trajanja od kašnjenja kroz XOR gejt i D leč), tada kolo funkcioniše na način koji je ilustrovan na Sl. 7-12c. Naime, nova vrednost stanja leča se

Page 11: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

11

vraća na ulaz leča za vreme dok je CKL još uvek 1. Na taj način se inicira još jedna promena stanja leča. Ako je taktni impuls još širi, stanje će se promeniti više od dva puta, pre nego što promena CLK na 0 ne zamrzne leč. Opisana pojava se zove kritična trka i opisana je, u kontekstu SR leča, u odeljku 7.2.

Na primer, pretpostavimo da minimalno propagaciono kašnjenje XOR kola iznosi 1.5 ns, a D leča 1.2 ns. Pod ovim uslovom, maksimalna širina taktnog impulsa, pri kojoj se kolo ponaša na očekivani način, iznosi 1.5+1.2=2.7 ns. Znači, možemo zaključiti da ispravno ponašanje kola sa Sl. 7-12a zavisi od odnosa između trajanja taktnog impusla i ukupnog kašnjenja u petlji koja povezuje izlaz leča sa negovim ulazom. Optimalne vrednosti ovih parametara su u međusobnom konfliktu: sa jedne strane, malo propagaciono kašnjenje je poželjno kako bi se omogućila veća brzina rada sistema; sa druge strane, taktni signal sa veoma uskim impulsima se teško realizuje. Šta više, u toku rada sistema, propagaciono kašnjenje i trajanje impulsa se mogu promeniti, na primer, pod uticajem temperature ili starenja komponenti. Zbog svega toga, izbor leča kao memorijskog elementa u kolima koja sadrže petlje, a kakva su većina sekviencijalnih kola, nije najbolje rešenje. Kao što će biti pokazano u odeljku 7.5, za primenu kod sekvencijalnih kola, koriste se memorijski elementi sa ivičnim okidanjem, kod kojih problem trke ne postoji.

Sl. 7-12 Ilustracija probema trke kod D leča sa dozvolom.

Page 12: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

12

Primer 7-4: Još jedan primer neadekvatne primene D leča sa dozvolom Projektanti moraju biti veoma obazrivi kada koriste lečeve osetljive na nivo, pošto dugi vremenski intervali tokom kojih je leč transparentan (CLK=1), ponekada mogu omogućiti neželjenoj informaciji da uđe u leč. Na primer, razmotrimo kolo sa Sl. 7-13a koga čine 3 redno povezana D leča sa dozvolom. U prikazanoj strukturi, ulazni signal X je povezan na ulaz D prvog leča. Izlaz prvog leča, Q1, je povezan na ulaz D drugog leča, a izlaz dugog leča, Q2, na ulaz D trećeg leča. Ulazi CLK svih leč kola su povezani na zajednički, sistemski takt. Struktura sa Sl. 7-13 se zove pomerački registar i biće detaljnije razmatrana u odeljku. Idealno, pomerački registar bi trebalo da radi na sledeći način: u toku svakog taktnog impulsa, vrednost X se upisuje u prvi leč, vrednost prvog leča se premešta u drugi, a vrednost drugog leča u treći leč.

Sl. 7-13 Neispravno pomeranje u pomeračkom registru sa D lečevima.

Međutim, kao što se može videti na vremenskom dijagramu sa Sl. 7-13b, pomeranje informacije, koje se zaista dešava, ne odgovara očekivanom. Pretpostavimo da su sva leč kola u resetovanom stanju (Q1=Q2=Q3=0) i da u toku prvog taktnog imulsa ulazni signal X ima vrednost 1, a da je nakon toga njegova vrednost 0. Drugim rečima, sadržaj pomeračkog registara bi trebalo da počev od 000, a nakon prvog, drugog i trećeg taktnog implusa redom dobija vrednosti 100, 010 i 001. Međutim, u realnosti dešava se nešto drugo: počev od sadržaja 000, nakon prvog taktnog impulsa, sadržaj pomeračkog registara se menja na 111, da bi nakon drugog ponovo postao 000, a ova vrednost se zadržava i posle trećeg taktnog impusa. Drugim rečima, pomerački registar se ponaša kao jedinstveni D leč koji u svakom taktnom ciklusu memoriše vrednost ulaznog signala X.

Razlog za opisano ponašanje pomeračkog registra sačinjenog od D lečeva leži u činjenici da su lečevi osetljivi na nivo transparentni za svo vreme trajanja taktnog impulsa. Ukoliko je trajanje taktnog impulsa dovoljno dugo, ulazni podatak X ima dovoljno vremena da

Page 13: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

13

prođe kroz sve lečeve u nizi i javi se na izlazu pomeračkog registra. Onog trenutka kada prestane dejstvo taktnog impulsa, svi lečevi memorišu istu vrednost, X.

Jedno moguće rešenje opisanog poblema bilo bi da se skrati trajanje taktnog impulsa do iznosa propagacionog kašnjenja kroz jedan leč. Međutim, iz istih razlog koji su nevedeni u prethodnom primeru, ovakvo rešenje nije zadovoljavajuće. Za primenu kod pomeračkih registara i sličnih kola, bolje rešenje je korišćenje memorijskih elemenata sa ivičnim okidanjem. Konstrukcija ovakvih memorijskih elemenata je tema sledećeg odeljka.

7.5 Flip-flopovi Leč kola osetiljva na nivo nastavljaju da menjaju svoje stanje shodno vrednostima ulaznih

signala u toku celokupnog vremenskog perioda kada je taktni signal aktivan. Kao što je ukazano u primerima iz prethodnog odeljka, u pojedinim primenama, ovakvo ponašanje postavlja značajna ograničenja u načinu korišćenja leč kola. Rešenje za ove probleme se sastoji u korišćenju memorijskih elemenata koji se zovu flip-flopovi. Kod flip-flopova, promena stanja se inicira promenom nivoa taktnog signala. Kaže se da se flip-flop okida ivicom taktnog impulsa. U zavisnosti od toga koja ivica inicira promenu stanja, razlikuju se: flip-flopovi sa okidanjem na rastuću (tj. pozitivnu ili prednju) i flip-flopovi sa okidanjem na opadajuću (tj. negativnu ili zadnju) ivicu taktnog impulsa. Rastuća ivica je prva ivica taktnog impusa, koja odgovara promeni taktnog signala sa 0 na 1. Opadajuća ivica je druga ivica taktnog impulsa i odgovara promeni taktnog signala sa 1 na 0. Dakle, na flip-flop uvek utiče samo jedna ivica. Ivica taktnog impulsa na koju flip-flop reaguje zove se aktivna ivica. Za razliku od leč kola, flip-flopovi nikada nisu transparentni. Bez obzira na nivo taktnog signala, ulazi flip-flopa nikada direktno ne utiču na izlaz flip-flopa, već samo definišu stanje u koje će flip-flop biti postavljen pod dejstvom naredne aktivne ivice taktnog impulsa.

Na Sl. 7-14 je ilustrovana konvencija koja se koristi za označavanje aktivne ivice taktnog impulsa. Ivično okidanje je naznačeno trouglom na ulazu za takt. Kružić ukazuje na okidanje opadajućom ivicom (Sl. 7-14b), dok simbol se bez kružića (Sl. 7-14a) podrazumeva okidanje rastućom ivicom taktnog signala. Na Sl. 7-14 su takođe prikazani vremenski dijagrami za kolo sa Sl. 7-12a iz primera pod pretpostavkom da je D leč zamenjen D flip-flopom sa okidanjem na rastuću ivicu (Sl. 7-14c), odnosno D flip-flopom sa okidanjem na opadajuću ivicu taktnog impulsa (Sl. 7-14d). Kao što se može videti, sada problem trke ne postoji, s obzirom da za razliku od D leča, flip-flop može da promeni stanje samo jednom u toku trajanja taktnog impulsa, tj. na samom početku ili na samom kraju impusa.

Page 14: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

14

Sl. 7-14 D flip-flop.

7.5.1 Master-slave D flip-flop Na Sl. 7-15a je prikazano kolo master-slave (MS) D flip-flopa. MS D flip-flop se

realizuje pomoću dva D leča, od kojih se prvi zove glavni ili master, a drugi izvršni ili slave (master na engleskom jeziku znači gospodara, a slave sluga). Ulaz master leča je ujedno i ulaz MS D flip-flopa, dok je izlaz slave leča ujedno i izlaz flip-flopa. Dok je CLK=1, master leč je transparentan i prati promene vrednosti ulaznog signala D. Za to vreme, slave je zaključan i ne može da menja svoje stanje. Znači, vrednost signala Qm prati promene ulaza D, dok vrednost signala Qs ostaje nepromenjena. Kada se taktni signal promeni na 0, master leč prekida praćenje ulaza D i zamrzava svoje tekuće stanje. U istom trenutku, slave postaje transparentan i prenosi na izlaz vrednost signala Qm. Pošto se Qm ne menja za vreme dok je CLK=0, jasno je da slave može da pretrpi samo jednu promenu stanja u toku jednog taktnog perioda. Dakle, spolja gledano, MS D flip-flop menja svoje stanje u trenutku pojave opadajuće ivice taktnog signala. Drugim rečima, bez obzira na broj promena koje se u toku jedne taktne periode dese na ulazu D master leča, posmatrano spolja, na izlazu Qs vidi se samo promena koja odgovara vrednosti ulaza D u trenutku opadajuće ivice taktnog signala. Za flip-flopove sa osobinom da je njihovo novo stanje određeno vrednostima ulaza u trenutku aktivne ivice takta kaže se da su osetljivi na ivicu. Dakle, master-slave D flip-flop sa Sl. 7-15 je memorijsko kolo koje se okida opadajućom ivicom i pri tome je osetljiv na opadajuću ivicu takta.

Page 15: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

15

Sl. 7-15 Master-slave flip-flop sa okidanjem na opadajuću ivicu.

Na Sl. 7-15b je prikazan vremenski dijagram MS D flip-flopa. Dijagrami su nacrtani pod pretpostavkom da je propagaciono kašnjenje D lečeva zanemarljivo malo. Kao što se može videti, vrednost sa ulaza flip-flop-a, D, se upisuje u master leč za vreme trajanja taktnog impulsa, a prepisuje u slave leč u trentuku kada se impuls završava. U toku trajanja taktnog impulsa, master je transparentan, i sve promene ulaza D se prenose do ulaza u slave leč, ali ne prolaze na izlaz flip-flop-a zato što je slave ˝zamrznut˝. Posle opadajuće ivice taktnog signala, master pamti zatečeno stanje, koje se kroz, sada, transparentan slave prenosi na izlaz flip-flopa.

MS D flip-flop sa okidanjem na rastuću ivicu se formira dovođenjem komplementa taktnog signala na master leč, a nekomplementiranog taktnog signala na slave leč, kao što je prikazano na Sl. 7-16.

Sl. 7-16 Master-slave flip-flop sa okidanjem na rastuću ivicu.

Primer 7-5: Realizacija pomeračkog registra pomoću MS D flip-flopova. U primeru 7-4 analiziran je rad pomeračkog registra realizovanog pomoću D lečeva. Konstruišimo ponovo 3-bitni pomerački registar, ali sada umesto D lečeva upotrebimo MS D flip-flopove (Sl. 7-17a). Analizom rada ovog kola možemo nacrtati vremenske dijagrame sa Sl. 7-17b. Uočimo da ovi novi vremenski dijagrami sadrže isti taktni signal CLK i isti ulazni signal X kao i vremenski dijagrami sa Sl. 7-13b, ali su prošireni tako da

Page 16: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

16

za svaki flip-flop uključuju dva talasna oblika: izlaze iz master i slave lečeva, Qim i Qis, 1≤i≤3.

Sl. 7-17 Realizacija pomeračkog registra pomoću MS D flip-flopova.

Uočimo da su za realizaciju registra upotrebljeni MS D flip-flopovi sa okidanjem na rastuću ivicu. To znači da je su u vremenu kada je CLK=0, transparentni master, a u vremenu kada je CLK=1, slave lečevi. Kao što vremenski dijagram pokazuje, nakon što se u t0, za vreme dok je CLK=0, ulazni signal X promeni na 1, samo će master leč prvog flip-flopa prihvatiti ovu vrednost (Q1m=1). Dalja propagacija nove vrednosti ulaza X je zaustavljena već zakočenim slave lečom prvog flip-flopa. Nakon što se u t1 taktni signal promeni na 1, jedinica se prenosi iz master u slave leč prvog flip-flopa i javlja na izlazu Q1s. U t2 jedinca iz slave leča prvog se prepisuje u master leč drugo flip-flopa, i td. Praktično, svaka promena taktnog signala, pomera jedinicu za jedan leč udesno, tako da svaka druga promena (rastuća ivica) pomera jedinicu na izlaz sledećeg flip-flopa. Kao što se može videti, pomerački registar konstruisan pomoću MS D flip-flopova ispravno funkcioniše: svaka rastuća ivica taktnog signala pomera upisani sadržaj za jednu poziciju

Page 17: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

17

udesno. To znači da se za dati oblik ulaznog signala X, sadržaj registra menja počev od 000, preko 100, 010, 001, da bi, konačno, ponovo postao 000.

7.5.2 D flip-flop sa ivičnim okidanjem Na Sl. 7-18 je prikazano kolo D flip-flopa sa ivičnim okidanjem. Ovo kolo je

funkcionalno identično MS D flip-flopu sa okidanjem na rastuću ivicu (Sl. 7-16). Kolo sadrži 6 NAND gejtova i shodno tome zahteva manji broj tranzistora za realizaciju u odnosu na MS D flip-flop.

D flip-flop sa ivičnim okidanjem radi na sledeći način. Kada je CLK=0 izlazi gejtova 2 i 3 imaju vrednost 1, tj. P1=P2=1, što održava izlazni leč (gejtovi 5 i 6) u tekućem stanju. U isto vreme, signal P3 je jednak ulazu D, a P4 komplementu ulaza D. Kada se CLK promeni na 1, dešavaju se sledeće promene. Vrednosti signala P3 i P4 se prenose kroz gejtove 2 i 3, respektivno, i komplementiraju. Na taj način, signali P1 i P2 dobijaju vrednosti P1=D i P2=D`, što postavlja izlazni leč u stanje Q=D i Q`=D`.

Da bi rad flip-flopa bio pouzdan, signali P3 i P4 moraju biti stabilni u trenutku promene CLK sa 0 na 1. Konkretno, vreme postavljanja flip-flopa, tsetup, jednako je ukupnom kašnjenju na putanji od ulaza D, kroz gejtove 4 i 1, do tačke P3. Vreme držanja, thold, jednako je kašnjenju kroz gejt 3, jer nakon što signal P2 postane stabilan, promene na ulazu D više nisu od značaja.

Za ispravan rad kola, neophodno je pokazati da za sve vreme dok je CLK=1, promene na ulazu D ne utiču na izlaz flip-flopa. Treba razmotriti dva slučaja. Najpre, pretpostavimo da je za vreme rastuće ivice taktnog impulsa, na ulazu D prisutna vrednost 0. Pod ovim uslovom, signal P2 se postavlja na 0, što će održati izlaz gejta 4 na 1, bez obzira na eventualne kasnije promene ulaza D. Drugom slučaju odgovara D=1 u trenutku rastuće ivice takta. Pod ovim uslovom signal P1 biće postavljen na 0, što će držati izlaze gejtova 1 i 3 na 1, bez obzira na vrednost ulaza D. Dakle, za vreme dok je CKL=1, flip-flop ignoriše promene ulaza D.

Sl. 7-18 D flip-flop sa ivičnim okidanjem.

Page 18: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

18

7.5.3 D flip-flop sa asinhronim ulazima Flip-flopovi se često koriste za realizaciju kola koja mogu imati veći broj stanja, a čiji

odziv ne zavisi samo od trenutne vrednosti ulaza već i od stanja u kome se kolo nalazi u tom trenutku. Radi se o sekvencijalnim kolima, koja će detaljno biti razmatrana u poglavlju X. Jednostavan primer ovakvog kola je brojač. To je kolo koje broji pojavljivanja nekog događaja. Brojač se sastoji od više flip-flopova čiji se izlazi, zajedno, interpretiraju kao binarni broj, a konstruisan je tako da omogući inkrementiranje ili dekrementiranje ovog broja. Još jedna bitna funkcija brojača je mogućnost postavljanja u poznato početno stanje (tj. na poznatu početnu brojnu vrednost). Očigledno, mora postojati mogućnost da se brojač postavi na nulu, što odgovara postavljanju svih flip-flopova u stanje Q=0. Takođe, korisna mogućnost je postavljanje pojedinačnih flip-flopova na Q=1, kako bi se kao početna postavila neka specifična brojna vrednost. Ove funkcije se mogu ostvariti, ako se brojač realizuje pomoću flip-flopova sa tzv. asinhronim ulazima, preko kojih je moguće, nezavisno od ulaza CLK i D, forsirano postaviti flip-flop u određeno stanje.

Asinhroni ulazi flip-flopova se tipično označavaju sa PR (preset) i CLR (clear), a ponašaju se slično ulazima S i R kod SR leča. Na Sl. 7-19 su prikazani grafički simbol i jedna moguća realizacija MS D flip-flopa sa asinhronim ulazima. Kolo sa Sl. 7-19b predstavlja realizaciju MS D flip-flopa pomoću NAND gejtova. U ovom kolu, master leč je realizovan kao D leč sa dozvolom (Sl. 7-9), dok je za realizaciju slave leča, umesto istog takvog kola, iskorišćeno nešto jednostavniji SR leč sa dozvolom. Asinhroni ulazi su ugrađeni kao dodatni, treći ulazi u NAND kola pomoću kojih su formirani leč elementi. PR=1 ne utiče na rad NAND kola. Međutim, PR=0 postavlja flip-flop u stanje Q=1. Slično, CLR=0 postavlja flip-flop u stanje Q=0, dok CLR=1 nema efekta. Dakle, za PR=CLR=1 flip-flop funkcioniše kao flip-flop koji nema asinhrone ulaze. Postavljanjem jednog od ulaza PR ili CLR na 0, flip-flop se setuje, odnosno resetuje. Flip-flop ne treba pobuđivati sa PR=CLR=0, jer se odziv flip-flopa na takvu pobudu ne može predvideti. Kružići pridruženi ulazima PR i CLR na grafičkom simbolu sa Sl. 7-19a, upravo ukazuju da je aktivan logički nivo ovih ulaza 0. Iz istog razloga imena ovih signala u kolu sa Sl. 7-19b su nadvučena crtom. Na Sl. 7-20 je prikazano kako se u D flip-flop sa ivičnim okidanjem mogu ugraditi ulazi za asinhrono setovanje i resetovanje.

Sl. 7-19 Master-slave D flip-flop sa asinhronim ulazima.

Page 19: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

19

Sl. 7-20 D flip-flop sa ivičnim okidanjem sa asinhronim ulazima.

7.5.4 D flip-flop sa sinhronim setovanjem i resetovanjem Efekat aktiviranja ulaza PR i CLR u kolu D flip-flopa sa Sl. 7-19 i Sl. 7-20 se ispoljava

trenutno. Na primer, ako se na ulaz PR dovede 0, tada će flip-flop trenutno preći u stanje Q=1, bez obzira na trenutnu vrednost signala takta. Zato se za ulaze PR i CLR i kaže da su asinhroni. Šta više, sve dok je PR=0 ili CLR=0, vrednosti ulaza CLK i D se ignorišu, a flip-flop nastavlja svoju normalnu funkciju tek po deaktiviranju asinhronih signala. Za razliku od asinhronih ulaza, PR i CLR, D je sinhroni ulaz flip-flopa, zato što flip-flop reaguje na njegovu vrednost samo u trenutku aktivne ivice taktnog signala. U praksi, često je pogodno da i ulazi PR i CLR budu sinhroni. Sinhroni ulazi za setovanje i resetovanje mogu se ugraditi proširenjem D flip-flopa na način kao na Sl. 7-21. Sada se postavljanje novog stanja flip-flopa uvek vrši preko njegovog ulaza D, tj. sinhronizovano sa aktivnom ivicom takta. Pri tome, za PR=CLR=1, flip-flop normalno funkcioniše. Za PR=0 u flip-flop se upisuje 1, a za CLR=0 u flip-flop se upisuje 0, bez obzira na vrednost ulaza D. Uočimo da za kolo sa Sl. 7-21, PR=CLR=0 predstavlja regularnu pobudu koja resetuje flip-flop.

Sl. 7-21 Sinhrono setovanje i resetovanje D flip-flopa.

7.5.5 D flip-flop sa dozvolom Digitalni sistemi često sadrže veliki broj flip-flopova, od kojih svaki ima neku specifičnu

namenu. Neki flip-flopovi se koriste za privremeno memorisanje podataka, drugi za generisanje upravljačkih signala i td. Međutim, iako imaju različite uloge i ne koriste se svi u isto vreme, tipično, svi flip-flopovi u jednom sistemu se taktuju zajedničkim taktnim signalom. Ovaj signal se zove sistemski takt i dobija se iz oscilatora koji, generiše signal pravougaonog talasnog oblika fiksne učestalosti. Sistemski takt se generiše bez prekida, što znači da na svaki flip-flop u sistemu deluje neprekidna povorka taktnih impulsa. Međutim,

Page 20: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

20

obično se zahteva da flip-flop reaguje na takt samo u pojedinim taktnim periodima, na primer, onda kada u flip-flop treba upisati podatak koji je upravo izračunat. To znači da treba da postoji mogućnost da se svakom flip-flopu, pojedinačno, može dozvoliti/zabraniti reakcija na taktni signal. Za upravljanje taktovanjem flip-flopa koriste se dve tehnike. Prva tehnika se zove gejtovanje takta i ilustrovana je na Sl. 7-22a. Prosto, sistemski takt se dovodi na flip-flop preko AND gejta. Ako je upravljački ulaz E jednak 1, tada CLK prolazi kroz AND gejt i taktuje flip-flop; ako je E=0, dejstvo takta na flip-flop je onemogućeno. Iako predstavlja jednostavno rešenje, gejtovanje takta se retko koristi u praksi, jer pod izvesnim uslovima može da dovede do neželjenog upisa u flip-flop, kao što je ilustrovano na Sl. 7-22b. Prvo, projektant mora da obezbedi da se signal E menja sa 0 na 1 samo u intervalima kada je CLK=0. U suprotnom, ako se E promeni na 1 u vremenu dok je CLK=1, izlaz AND gejta će se takođe promeniti sa 0 na 1, što za taktni ulaz flip-flopa predstavlja aktivnu ivicu koja će inicirati upis u flip-flop. Ovo je neželjeno ponašanje, jer uloga signala E nije taktovanje već samo dozvola taktovanja flip-flopa. Takođe, svaki glič ili smetnja koja se pojavi na liniji E u vremenu dok je CLK=1 preneće se kroz AND gejt i taktovaće flip-flop.

Sl. 7-22 Gejtovanje takta.

Druga tehnika za upravljanje taktovanjem, koja se mnogo češće koristi u praksi, zasnovana je na korišćenju flip-flopova sa dozvolom. Kolo D flip-flopa sa dozvolom je prikazano na Sl. 7-23a. Kod ovog rešenja, takt se na zabranjuje direktno, već se kontroliše efekat takta na stanje flip-flopa. Naime, signal dozvole, E, preko multipleksera 2-u-1 bira da li će u flip-flop biti upisan podatak sa ulaza D ili logička vrednost izlaza Q. Ako je E=1, tada kolo normalno radi, jer svaka aktivna ivica takta upisuje u flip-flop vrednost sa ulaza D. Međutim, ako je E=0, tada aktivna ivica takta upisuje u flip-flop logičku vrednost njegovog tekućem stanju, Q, što znači da flip-flop ne menja stanja, a to je isto kao da flip-flop nije bio ni taktovan. Pošto signal dozvole E ne modifikuje signal takta, problemi koji se javljaju kod tehnike gejtovanja takta, u ovom slučaju ne postoje (Sl. 7-23b). Signal E mora biti stabilan u kratkom vremenskom intervalu u okolini aktivne ivice takta, ali se može slobodno menjati u preostalom delu periode. Takođe, logički šum na liniji E ne utiče na stanje flip-flopa, osim ako ne deluje baš u trenutku aktivne ivice.

Page 21: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

21

Sl. 7-23 D flip-flop sa dozvolom.

7.5.6 Master-slave SR flip-flop Ukoliko u kolu MS D flip-flopa sa Sl. 7-15a, D lečeve zamenimo SR lečevima sa

dozvolom, dobićemo master-slave (MS) SR flip-flop. Kolo MS SR flip-flopa prikazano je na na Sl. 7-24a, a odgovarajući grafički simbol na Sl. 7-24b. Slično D flip-flopu, SR flip-flop menja svoje stanje samo na aktivnu ivicu taktnog signala. Za kolo sa Sl. 7-24a aktivna je opadajuća ivica takta. Međutim, za razliku od D flip-flopa, novo stanje SR leča ne zavisi samo od stanja njegovih ulaza u trenutku opadajuće ivice već i od ponašanja ulaza S i R u vremenu trajanja taktnog impulsa, kada je CLK=1. Kao što je prikazano vremenskim dijagramom sa Sl. 7-24c, kratkotrajni impuls na ulazu S, koji se desi bilo kada u toku ovog intervala, može da setuje master leč, slično kao što impuls na ulazu R može da resetuje master leč. Vrednost koja se u trenutku opadajuće ivice prenosi na izlaz flip-flopa zavisi od toga da li je u toku intervala CLK=1 master leč bio poslednji put setovan ili resetovan. Za flip-flopove kod kojih novo stanje zavisi od ponašanja njihovih ulaza za vreme trajanja taktnog impulsa kaže se da su osetljivi na nivo. U suštini SR flip-flop se ponaša identično SR leču sa dozvolom, s tim što je postavljanje izlaza sinhronizovano sa ivicom taktnog signala. Dakle, MS SR flip-flop sa Sl. 7-24a se okida opadajućom ivicom takta i osetljiv je na nivo.

Page 22: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

22

Sl. 7-24 Master-slave SR flip-flop.

Slično kao i kod SR leča sa dozvolom, reakcija MS SR flip-flopa na pobudu S=R=1 koja deluje u trenutku aktivne ivice takta je nepredvidljiva. U tom slučaju, neposredno pre opadajuće ivice takta, oba izlaza master leča imaće vrednost 1. Kada se CLK promeni na 0, izlazi master leča se postavljaju na vrednosti koje se ne mogu predvideti. U istom tom trenutku, otvara se slave leč koji ovu nedefinisanu vrednost propušta na izlaz flip-flopa.

7.5.7 Master-slave JK flip-flop Problem nederminističkog ponašanja SR flip-flopa pri pobudi S=R=1 rešen je kod JK

flip-flopa. Kolo JK flip-flopa, u master-slave konfiguraciji, prikazano je na Sl. 7-25a, a odgovarajući grafički simbol na Sl. 7-25b. Ulaz J je analogan ulazu S, dok je ulaz K analogan ulazu R. Međutim, kao što se može videti sa Sl. 7-25a, J=1 setuje master leč samo pod uslovom ako je Q`=1. Slično, K=1 resetuje master leč samo ako je Q=1. Znači, ako su

Page 23: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

23

ulazi J i K u isto vreme jednaki 1, flip-flop će komplementirati svoje stanje. Na Sl. 7-25c su prikazani vremenski dijagrami MS JK flip-flopa za jednu tipčnu pobudu ulaza.

Sl. 7-25 Master-slave JK flip-flop.

Kao i MS SR flip-flop, MS JK flip-flop je osetljiv na nivo, što znači da ulazi J i K ne moraju biti aktivni na kraju taktnog impulsa da bi flip-flop promenio stanje. Na primer, kratkotrajna promena na ulazu J ili K u vremenu dok je CLK=1 može da se odrazi na stanje master leča, koje će po promeni signala CLK biti preneto na izlaz flip-flopa. Šta više, zbog povratnih veza koje uvek blokiraju jedan od ulaza, J ili K, problemi koje mogu nastati zbog ovakvog ponašanja su još izraženiji. Pretpostavimo da je flip-flop resetovan, tj. Q=0 i Q`=1. To znači da na master leč može delovati samo ulaz J, jer je zbog Q=0 ulaz K blokiran. Pretpostavimo, dalje, da je u narednom taktnom periodu pobuda ulaza J=0 i K=1. Pri ovakvoj pobudi, flip-flop bi trebalo da ostane u resetovanom stanju. Međutim, ako se u toku CLK=1, kao posledica električnih smetnji, na ulazu J pojavi kratkotrajni impuls, master leč će biti

Page 24: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

24

setovan i, bez obzira što je K=1, ostaće u tom stanju sve do promene CLK na 0, kada se na izlaz flip-flopa umesto očekivanog Q=0, prenosi Q=1. Ova pojava se zove ˝hvatanje jedinice˝ i ilustrovana je u delu vremenskog dijagrama sa Sl. 7-25c koji odgovara pretposlednjem taktnom periodu. U poslednjem taktnom periodu vremenskog dijagrama, ilustrovana je analogna pojava, ali vezana za ulaz K, poznata kao ˝hvatanje nule˝. Zbog ovih problema, J i K ulazi MS JK flip-flopa moraju biti stabilni za sve vreme dok je CLK=1.

7.5.8 JK flip-flop sa ivičnim okidanjem Zbog problema hvatanja jedinice i nule, MS JK flip-flopovi se danas retko koriste u

praksi. Mnogo širu primenu nalaze JK flip-flopovi sa ivičnim okidanjem. Ovaj tip flip-flopa je funkcionalno identičan MS JK flip-flopu, ali za razliku od njega osetljiv je na ivicu, a ne na nivo, i stoga je imun na probleme hvatanja jedinice i nule. JK flip-flop sa ivičnim okidanjem može se realizovati na osnovu D flip-flopa, kao što je prikazano na Sl. 7-26a. Dodatna logička mreža, na osnovu vrednosti ulaza J i K i tekućeg stanja, Q, generiše vrednost novog stanja JK flip-flopa, koja se rastućom ivicom taktnog impulsa upisuje u D flip-flop. Tabela istinitosti JK flip-flopa prikazana je na Sl. 7-26b, a vremenski dijagrami na Sl. 7-26c. Kao što se može videti sa Sl. 7-26c, novo stanje flip-flopa određeno je vrednostima ulaza J i K u trenutku aktivne ivice taktnog signala.

Sl. 7-26 JK flip-flop sa ivičnim okidanjem.

7.5.9 T flip-flop U odeljku 7.5.8 pokazano je kako se modifikacijom D flip-flopa može ostvariti funkcija

JK flip-flopa. Modifikacija se sastoji u dodavanju jednostavne logičke mreže koja generiše vrednost ulaza D. Korišćenjem istog pristupa, moguće je konstruisati i druge tipove flip-flopova. Na Sl. 7-27a je prikazano kolo T flip-flopa realizovano na osnovu D flip-flopa.

Page 25: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

25

Logička mreža omogućava da se pod kontrolom ulaza T na ulaz D flip-flopa dovede Q (za T=0) ili Q` (za T=1). Dakle, ako je T=1, tada rastuća ivica taktnog impulsa komplementira stanje flip-flopa, jer se u flip-flop upisuje Q`. Međutim, ako je T=0, tada se u flip-flop upisuje Q i flip-flop ne menja stanje. Na Sl. 7-27b je prikazana tabela istinitosti, na Sl. 7-27c vremenski dijagrami T flip-flopa. Na Sl. 7-27c treba uočiti da se pri T=1 na izlazima flip-flopa Q i Q` generišu međusobno komplementarni signali čija je frekvencija dva puta manja od frekvencije taktnog signala. To znači da T flip-flop, za T=1, funkcioniše kao delitelj učestalosti odnosom 2, a da ulaz T ima ulogu dozvole/zabrane generisanja izlaznih signala. Ako mogućnost upravljanja izlazom nije neophodna, za ovu namenu se može koristiti pojednostavljeno kolo T flip-flopa sa Sl. 7-27d, kod koga svaka rastuća ivica taktnog signala komplementira izlaze flip-flopa.

Sl. 7-27 T flip-flop.

Kolo sa Sl. 7-12a, u varijanti sa D flip-flopom, koje je analizirana u odeljku 7.5.1, takođe, predstavlja T flip-flop. Ovo kolo, za razliku od kola sa Sl. 7-27a, umesto AND i OR kola, za realizaciju logičke mreže koristi XOR kolo. Na Sl. 7-27e je prikazana još jedna realizacija T flip-flopa, koja umesto D flip-flopa koristi JK flip-flop. Kod ove realizacije se koristi osobina

Page 26: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

26

JK flip-flopa da za pobudu J=K=1 komplementira, a za pobudu J=K=0 zadržava svoje stanje.

Primer 7-6: T flip-flop sa ulazima za sinhrono resetovanje i setovanje Na Sl. 7-28a je prikazano kolo T fiip-flopa sa dodatnim ulazima CLR i PR koji omogućavaju sinhrono resetovanje, odnosno setovanje flip-flopa. Tabela istinitosti logičke mreže koja formira podatak za upis u D flip-flop prikazana je na Sl. 7-28b. Kao što se može videti iz tabele istinitosti, za CLR=PR=0, kolo reaguje na ulaz T shodno tabeli istinitosti T flip-flopa sa Sl. 7-27b. Ako je CLR=1, tada mreža, bez obzira na vrednosti ulaza PR i T, na ulaz D postavlja 0, koja, upisana u D flip-flop narednom restućom ivicom taktnog signala, resetuje flip-flop. Za CLR=0 i PR=1, mreža generiše 1, bez obzira na vrednost ulaza T. Uočimo da su na ulazima CLR i PR aktivni visoki logički nivoi i da ulaz za resetovanje, CLR, ima viši prioritet od ulaza za setovanje, PR. Na Sl. 7-28c su prikazani Karnoova mapa i logički izraz oblika minimalne sume-proizvoda na osnovu koga je sintetizovana logička mreža.

Sl. 7-28 T flip-flop sa ulazima za sinhrono resetovanje i setovanje.

7.5.10 Terminologija U materiji o memorijskim elementima korišćena je uobičajena terminologija. Međutim,

čitalac treba biti svestan činjenice da se u literaturi mogu sresti različite interpretacije pojmova leč i flip-flop. Iz razloga jasnog razgraničenja značenja ovih pojmova, u ovom odeljku su navedene definicije razmatranih tipova memorijskih elemenata.

SR leč ili osnovni leč predstavlja unakrsnu vezu dva NOR ili dva NAND gejta koja može da memoriše informaciju od jednog bita. Kolo se setuje na 1 preko ulaza S, a resetuje na 0 preko ulaza R.

Page 27: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

27

Leč sa dozvolom je osnovni leč proširen dodatnim upravljačkim signalom. Kada je upravljački signal jednak 0, leč zadržava svoje tekuće stanje. Stanje leča se može menjati samo dok je upravljački signal jednak 1. Upravljački ulaz se zove takt. Razmatrali smo dva tipa lečeva sa dozvolom:

• SR leč sa dozvolom - poseduje ulaz S za setovanje i ulaz R za resetovanje leča.

• D leč sa dozvolom - poseduje ulaz D za postavljanje leča u stanje koje ima istu logičku vrednost kao ulaz D.

Flip-flop je memorijski element zasnovan na lečevima sa dozvolom, koji može da promeni svoje stanje samo na ivicu taktnog signala. Razmatrali smo dve varijante flip-flopova:

• Flip-flop sa ivičnim okidanjem - reaguje isključivo na vrednosti koje su prisutne na ulazima u trenutku kada deluje aktivna ivica taktnog signala. Razmatrali smo sledeće tipove flip-flopova sa ivičnim okidanjem: D, JK i T.

• Master-slave flip-flop – realizuje se pomoću dva leča. Master leč je aktivan u toku jedne, a slave leč u toku druge polovine periode taktnog signala. Izlazna vrednost flip-flopa se menja na ivicu taktnog signala koja aktivira prenos vrednosti iz master u slave leč. Master-slave flip-flopovi mogu biti osetljivi na ivicu ili osetljivi na nivo. Kod master-slave flip-flopova osetljivih na ivicu, master leč se realizuje kao D leč sa dozvolom. Takav flip-flop se ponaša identično flip-flopu sa ivičnim okidanjem. U ovu grupu master-slave flip-flopova spada MS D flip-flop. Kod flip-flopova osetljivih na nivo, master leč se realizuje kao SR leč sa dozvom. U ovu grupu spadaju: MS SR i MS JK flip-flopovi. Osetljivost flip-flopa na nivo znači da reakcija flip-flopa na aktivnu ivicu taktnog signala zavisi od ponošanja ulaznih signala u vremenu između neaktivne i aktivne ivice takta.

7.5.11 Specifikacija memorijskih elemenata Osim tabela istinitosti i vremenskih dijagrama, ponašanje leč kola i flip-flopova može se

opisati i pomoću karakterističnih jednačina i dijagrama stanja.

Karakteristnične jednačine Funkcionalno ponašanje leč kola ili flip-flopa se može opisati karakterističnom

jednačinom koja definiše sledeće stanje flip-flopa u funkciji njegovog tekućeg stanja i ulaza. Karakteristične jednačine flip-flopova razmatranih u ovom poglavlju su navedene u tabeli sa Sl. 7-29. Po konvenciji, Q(t) znači ˝tekuća vrednost izlaza Q˝, dok Q(t+1) znači ˝sledeća vrednost izlaza Q˝. Naglasimo da karakteristična jednačina ne opisuje vremensko ponašanje kola (npr. osetljivost na nivo, okidanje na ivicu i sl.) već samo definiše funkcionalni odziv flip-flopa na upravljačke ulaze. Ova pojednostavljena specifikacija nalazi primenu u analizi i sintezi konačnih automata, o čemu će biti više reči u poglavlju X.

Tip kola Karakteristična jednačina SR leč Q(t+1) = S + R`Q(t) D leč Q(t+1) = D D flip-flop sa ivičnim okidanjem Q(t+1) = D MS SR flip-flop Q(t+1) = S + R`Q(t) MS JK flip-flop Q(t+1) = JQ(t)` + K`Q(t) JK flip-flop sa ivičnim okidanjem Q(t+1) = JQ(t)` + K`Q(t) T flip-flop Q(t+1) = TQ(t)` + T`Q(t)

Page 28: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

28

Sl. 7-29 Karakteristične jednačine leč kola i flip-flopova.

Dijagrami stanja Dijagram stanja memorijskog elementa je graf koga čine dva čvora i četiri usmerene

grane. Čvorovi ogovaraju stanjima memorijskog elementa, Q=0 i Q=1, a grane ukazuju na prelaze između stanja. Na primer, na Sl. 7-30a je prikazan dijagram stanja SR leča u realizaciji sa NOR gejtovima. U dijagramu stanja, čvor se prikazuje u obliku kruga sa upisanom logičkim vrednošću odgovarajućeg stanja, dok se grana prikazuje u obliku linije sa strelicom na strani odredišnog stanja. Svakoj grani je pridružen logički uslov, formiran od ulaznih promenljivih, koji, ako je tačan (jednak 1), inicira odgovarajući prelaz. Uočimo da isto stanje može biti i izvor i odredište prelaza, što odgovara slučaju kada memorijski element, pri datoj ulaznoj pobudi, ostaje u tekućem stanju. Na primer, ako je SR leč u stanju Q=0, tada će on ostati u ovom stanju za svo vreme dok je S=0 ili R=1, što odgovara logičkom uslovu S`+R. Za S=1 i R=0, leč prelazi u stanje Q=1, gde ostaje za svo vreme dok je R=0. Konačno, postavljanjem R na 1, leč se vraća u stanje Q=0. Kod SR leča sa NOR gejtovima ulaz R dominira nad ulazom S. To znači da za R=1, leč zauzima resetovano stanje, Q=0, bez obzira na vrednost ulaza S.

Sl. 7-30 Dijagrami stanja SR leča.

Na Sl. 7-30b je prikazan dijagram prelaza SR leča u realizaciji sa NAND gejtovima. Za razliku od NOR varijante, kod NAND realizacije aktivni su niski logički nivou ulaznih signala, a dominantan je ulaz S, što uslovljava i drugačije oblike logičkih uslova na granama dijagrama prelaza.

Sl. 7-31 Dijagram stanja D leča sa dozvolom.

Funkcionalno ponašanje D leča sa dozvolom može se opisati dijgramom stanja sa Sl. 7-31. Sve dok je CLK=0, leč zadržava tekuće stanje. Da bi D leč mogao da promeni stanje neophodno je dozvola u vidu CLK=1. Osobina transparentnosti D leča sa dozvolom se lako uočava u dijagramu stanja, s obzirom da pri CLK=1, leč menja stanje onako kako se menja ulaz D.

Sl. 7-32 Dijagrami stanja standardnih tipova flip-flopova.

Page 29: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

29

Na Sl. 7-32 su prikazani dijagrami stanja D, JK i T flip-flopova. Pošto se promena stanja flip-flopa inicira ivicom taktnog signala, takt, CLK, ne figuriše ekspilicitno u dijagramu stanja, već se podrazumeva da se prelazi dešavaju u trenutku aktivne ivice takta. To praktično znači da svakom stanju odgovara vremenski interval trajanja jedne perode takta.

Dijagrami stanja predstavljaju važan kocept u projektovanju digitalnih sistema i koriste se za specifikaciju kola koja ispoljavaju mnogo složenije sekvenicijalno ponašanja od jednostavnih memoriskih elemenata.

7.6 Rad sa memorijskim elementima u CAD alatima U ovom odeljku biće pokazano kako se pomoću šematskog editora ili VHDL-a mogu

projektovati kola koja sadrže memorijske elemente.

7.6.1 Korišćenje memorijskih elemenata u šematskom editoru Jedan od načina za kreiranje kola koja sadrže memorijske elemente jeste da se

korišćenjem grafičkih simbola gejtova crtaju logičke šeme flip-flopova i lečeva. Međutim, s obzirom da se memorijski elementi koriste u velikom broju primena, kod većine CAD sistema osnovni tipovi leč kola i flip-flopova su dostupni u obliku predprojektovanih modula. Na primer, na Sl. 7-33 je prikazan šematski dijagram, kreiran u šematskom editoru ECS, koji sadrži tri flip-flopa različitih tipova. Grafički simboli su uveženi iz biblioteke memorijskih elemenata koja je sastavni deo CAD sistema. Prvi element, gledano odozgo, je D leč sa dozvolom (LD), drugi element je D flip-flop (FDCP), a treći T flip-flop (FTC). U simbolu D leča, ulaz za takt je označen sa G. D i T flip-flopovi se okidaju rastućom ivicom takta. D flip-flop ima asinhrone ulaze za setovanje (PRE) i resetovanje (CLR), dok T flip-flop ima asinhroni ulaz za resetovanje (CLR). Svi asinhroni ulazi su sa aktivnim niskim nivoom. Ako ovi ulazi nisu povezani, kao što je to slučaj u šematskom dijagramu sa Sl. 7-33, tada CAD alat podrazumeva da su oni neaktivni, tj. kao da su povezani na 0. Napomenimo da je u biblioteci memorijskih elemenata dostupan veći broj različitih varijanti svakog od tri tipa flip-flopova, koje se razlikuju po broju i tipu dodatnih upravljačkih ulaza. Tako, na primer, dostupani su moduli: FDE – D flip-flop sa ulaznom za dozvolu, FDCPE – D-flip-flop sa ulazima za resetovanje, setovanje i dozvolu ili, na primer, FJKSRE – JK flip-flop sa ulazima za sinhrono setovanje i resetovanje i ulazom da dozvolu. Uočimo konvenciju po kojoj su modulima dodeljena imena: F znači flip-flop, zatim sledi tip flip-flopa (D, T, JK), a nakon toga, svako sledeće slovo ukazuje na dostupnost jednog upravljačkog ulaza: C – asinhrono resetovanje, P – asinhrono setovanje, E – dozvola, R – sinhrono resetovanje i S – sinhrono setovanje.

Page 30: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

30

Sl. 7-33 Tri tipa memorijskih elemenata.

7.6.2 Opis memorijskih elemenata u VHDL-u korišćenjem sekvencijalnih naredbi

U odeljku su razmatrani različiti tipovi sekvencijalnih naredbi dodele. Naredba IF, koja pripada ovoj grupi naredbi, koristiti se za opisivanje memorijskih elemenata. Na Sl. 7-34 je ponovljen VHDL kôd sa slike XX koji sadrži podrazumevanu memoriju. S obzirom da u kôdu nije navedena vrednost koju bi signal E trebalo da ima kada je uslov IF naredbe zadovoljen, semantika VHDL-a podrazumeva da u tom slučaju E zadržava svoju tekuću vrednost. Podrazumevana memorija predstavlja ključni koncept koji se koristi za opisivanje ponašanja sekvencijalnih kola. Ovaj koncept biće ilustrovan u primerima koji slede.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY koparator_pogresno IS PORT(A,B : IN STD_LOGIC; E : OUT STD_LOGIC); END koparator_pogresno; ARCHITECTURE Ponasanje OF koparator_pogresno IS BEGIN PROCESS(A,B) BEGIN IF A=B THEN E <= '1'; END IF; END PROCESS; END Ponasanje;

Sl. 7-34 Kôd sa slike XX koji sadrži podrazumevanu memoriju.

Primer 7-7: VHDL opis D leča sa dozvolom VHDL kôd sa Sl. 7-35 definiše entitet pod imenom lec koji ima dva ulaza, D i Clk, i jedan izlaz Q. Za definisanje vrednosti izlaza Q u procesu se koristi naredba IF-THEN-ELSE. Kada je Clk=1, izlazu Q se dodeljuje vrednost ulaza D. Međutim, kôd ne navodi koju bi vrednost trebalo da dobije Q za slučaj kada Clk nije 1. Zbog toga, u tom slučaju, Q će

Page 31: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

31

zadržati svoju tekuću vrednost. Na taj način, proces opisuje ponašanje D leča sa dozvolom. Lista senzitivnosti procesa sadrži oba ulazna signala, D i Clk, pošto oba ova signala mogu da uzrokuju promenu vrednosti izlaza Q.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY lec IS PORT(D,Clk : IN STD_LOGIC; Q : OUT STD_LOGIC); END lec; ARCHITECTURE Ponasanje OF lec IS BEGIN PROCESS(D, Clk) BEGIN IF Clk = '1' THEN Q <= D; END IF; END PROCESS; END Ponasanje;

Sl. 7-35 VHDL kod za D leč sa dozvolom.

Primer 7-8: VHDL kôd za D flip-flop VHDL kôd sa Sl. 7-36 definiše entitet flipflop koji predstavlja D flip-flop sa okidanjem na rastuću ivicu. Kod je identičan onome sa Sl. 7-35 izuzev u sledećem: Prvo, lista senzitivnosti procesa sadrži samo taktni signal, pošto je to kod flip-flopa jedini signal koji može da izazove promenu vrednosti izlaza Q. Drugo, IF-THEN-ELSE naredba sadrži drugačiji uslov od onoga koji je korišćen kod leč kola. U sintaksi Clock`EVENT se koristi konstrukciju VHDL jezika koja se zove atribut. Atribut definiše neku osobinu objekta, kao što je signal. U konkretnom slučaju atribut `EVENT se odnosi na bilo koju promenu signala Clock. Udruživanje uslova Clock`EVENT sa uslovom Clock=1 znači sledeće: ˝vrednost signala Clock se upravo promenila i njegova vrednost je sada 1˝. Na taj način, ovaj kombinovani uslov definiše pozitivnu ivicu taktnog signal. S obzirom da se izlaz Q menja samo kao rezultat pozitivne ivice takta, kôd sa slike opisuje D flip-flop sa okidanjem na rastuću ivicu.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY flipflop IS PORT(D,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END flipflop; ARCHITECTURE Ponasanje OF flipflop IS BEGIN PROCESS(Clock) BEGIN IF Clock'EVENT AND Clock='1' THEN Q <= D; END IF; END PROCESS; END Ponasanje;

Sl. 7-36 VHDL kôd za D flip-flop.

Page 32: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

32

Primer 7-9: Alternativni kôd za D flip-flop Proces u VHDL kôdu sa Sl. 7-37 opisuje ponašanje D flip-flopa korišćenjem drugačije sintaksu od one sa Sl. 7-36. U procesu se koristi naredba WAIT UNTIL Clock`EVENT AND Clock=`1`, koja ima isti efekat kao i naredba IF sa Sl. 7-36. Proces koji sadrži naredbu WAIT UNTIL ne sadrži listu senzitivnosti. Konstrukcija WAIT UNTIL iz koda sa Sl. 7-37 podrazumeva da lista senzitivnosti sadrži samo taktni signal. Treba napomenuti da ako se VHDL koristi za sintezu, što je slučaj u ovoj knjizi, proces može sadržati naredbu WAIT UNTIL samo ako je ona prva naredba u procesu.

U opštem slučaju, uvek kada je potrebno u VHDL kôd uvrstiti flip-flop sa okidanjem na rastuću ivicu koristi se uslov Clock`EVENT AND Clock=`1`. Kada se ovaj uslov koristi kao uslov IF naredbe, svi signali kojima se dodeljuju vrednosti unutar IF naredbe biće implementirani kao izlazi flip-flopova. Sa druge strane, kada se navedeni uslov koristi u sklopu WAIT UNTIL naredbe, svi signali kojima se dodeljuju vrednosti unutar celokupnog procesa biće realizovani kao izlazi flip-flopova.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY flipflop IS PORT(D,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END flipflop; ARCHITECTURE Ponasanje OF flipflop IS BEGIN PROCESS BEGIN WAIT UNTIL Clock'EVENT AND Clock='1'; Q <= D; END PROCESS; END Ponasanje;

Sl. 7-37 Ekvivalent kodu sa slike koji koristi naredbu WAIT UNTIL.

Primer 7-10: Flip-flop sa asinhronim resetovanjem Proces sadržan u VHDL kôdu sa Sl. 7-38 je sličan procesu sa Sl. 7-36. Ovaj proces opisuje D flip-flop sa asinhronim ulazom za resetovanje sa aktivnim niskim nivoom. Kada je signal Reset (ulaz za resetovanje) jednak 0, izlaz flip-flopa se postavlja na 0, nezavisno od taktnog signala Clock.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY flipflop IS PORT(D,Reset,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END flipflop; ARCHITECTURE Ponasanje OF flipflop IS BEGIN PROCESS(Reset,Clock) BEGIN IF Reset='0' THEN Q <= '0'; ELSIF Clock'EVENT AND Clock='1' THEN Q <= D;

Page 33: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

33

END IF; END PROCESS; END Ponasanje;

Sl. 7-38 D flip-flop sa asinhronim resetovanjem.

Primer 7-11: Flip-flop sa sinhronim setovanjem Na Sl. 7-39 je prikazano kako se može opisati D flip-flop sa ulazom za sinhrono resetovanje. U ovom slučaju, signal Reset se ispituje samo nakon pojave rastuće ivice taktnog signala.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY flipflop IS PORT(D,Reset,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END flipflop; ARCHITECTURE Ponasanje OF flipflop IS BEGIN PROCESS BEGIN WAIT UNTIL Clock'EVENT AND Clock='1'; IF Reset='0' THEN Q <= '0'; ELSE Q <= D; END IF; END PROCESS; END Ponasanje;

Sl. 7-39 D flip-flop sa sinhronim resetovanjem.

Primer 7-12: Flip-flop sa dozvolom Na Sl. 7-40 je prikazan VHDL kod D flip-flopa sa dozvolom koji funcionalno odgovara kolu sa Sl. 7-23. Rastuća ivica taktnog signala, Clock, postavlja izlaz flip-flop, Q, na vrednost ulaza D, ali samo pod uslovom ako je E=1. Ako je E=0, tada, i pored dejstva ivice taktnog signala, ne dolazi do promene vrednosti izlaza flip-flopa.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dffe IS PORT(D,E,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END dffe; ARCHITECTURE Ponasanje OF dffe IS BEGIN PROCESS(Clock) BEGIN IF Clock'EVENT AND Clock='1' THEN IF E='1' THEN Q <= D; END IF; END IF; END PROCESS;

Page 34: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

34

END Ponasanje; Sl. 7-40 VHDL opis D flip-flopa sa dozvolom.

Na Sl. 7-41 je prikazan VHDL kod kod koga se za upravljanje taktovanjem flip-flopa koristi tehnika gejtovanja takta (Sl. 7-22). Aritektura deklariše interni signal, Clk, koji odgovara ulazu za taktovanje flip-flopa. U telu arhitetkure, signal Clk se formira kao AND operacija nad ulaznim signalom takta, Clock, i signalom dozvole, E, a zatim se u procesu signal Clk koristi umesto Clock kao signal takta.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dffg IS PORT(D,E,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END dffg; ARCHITECTURE Ponasanje OF dffg IS SIGNAL Clk : STD_LOGIC; BEGIN Clk <= Clock AND E; PROCESS(Clk) BEGIN IF Clk'EVENT AND Clk='1' THEN Q <= D; END IF; END PROCESS; END Ponasanje;

Sl. 7-41 D flip-flop sa gejtovanim taktom.

Primer 7-13: VHDL opis JK flip-flopa Na Sl. 7-42 je prikazan VHDL kod koji opisuje JK flip-flop sa okidanjem na opadajući ivicu taktnog signala. Uočimo da je opadajuća ivica naznačena uslovom Clock=`0` u naredbi WAIT UNTIL. U odnosu na D flip-flop, opis JK flip-flopa je nešto složeniji. Arhitetkura definiše jedan pomoćni, interni signal, Qff, a telo arhitekture čine jedan proces i jedna konkurentna naredba dodele. Proces opisuje ponašanje JK flip-flopa, pri čemu se kao izlazni signal flip-flopa koristi Qff, a ne Q, dok naredbe dodele, Q <= Qff, na izlazni port Q, prosto, prenosi vrednost signala Qff. Za opis ponašanja JK flip-flopa koriste se ugnježdene IF-THEN-ELSE naredbe, koje u zavisnosti od kombinacije vrednosti ulaza J i K dodeljuju signalu Qff odgovarajuću vrednost. Kombinacija J=K=0 nije pokrivena IF-THEN-ELSE naredbama, što znači da u tom slučaju, signal Qff zadržava svoju tekuću vrednost. Za komplementiranje stanja flip-flopa pri pobudi J=K=1, koristi se naredba dodele Qff <= not Qff. Upravo ova naredba predstavlja razlog za uvoćenje internog signala Qff. Naime, VHDL zabranjuje pristup izlaznom portu radi čitanja. To znači da bi naredba oblika Q <= not Q, gde je Q izlazni port, bila sintaksno neispravna.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY jkff IS PORT(J,K,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END jkff;

Page 35: 7 Memorijski elementies.elfak.ni.ac.rs/ams/Materijal/Memorijski elementi.pdfKaže se da ukupni sadržaj svih memorijskih elemenata u jednom kolu predstavlja stanje tog kola. Kada se

35

ARCHITECTURE Ponasanje OF jkff IS SIGNAL Qff : STD_LOGIC; BEGIN PROCESS BEGIN WAIT UNTIL Clock'EVENT AND Clock='0'; IF J='0' THEN IF K='1' THEN Qff <= '0'; END IF; ELSE IF K='0' THEN Qff <= '1'; ELSE Qff <= NOT Qff; END IF; END IF; END PROCESS; Q <= Qff; END Ponasanje;

Sl. 7-42 VHDL opis JK flip-flopa.

Primer 7-14: VHDL opis T flip-flopa Na Sl. 7-43 je prikazan VHDL kod koji opisuje T flip-flop sa okidanjem na rastuću ivicu.

Interni signal Qff je uveden iz istih razloga kao u VHDL kodu sa Sl. 7-42 koji opisuje JK flip-flop.

LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY tff IS PORT(T,Clock : IN STD_LOGIC; Q : OUT STD_LOGIC); END tff; ARCHITECTURE Ponasanje OF tff IS SIGNAL Qff : STD_LOGIC; BEGIN PROCESS BEGIN WAIT UNTIL Clock'EVENT AND Clock='1'; IF T='1' THEN Qff <= NOT Qff; END IF; END PROCESS; Q <= Qff; END Ponasanje;

Sl. 7-43 VHDL opis T flip-flopa.