Upload
phunghuong
View
227
Download
1
Embed Size (px)
Citation preview
ZAVOD ZA ELEKTRONIKU, MIKROELEKTRONIKU, RAČUNALNE I INTELIGENTE SUSTAVEFAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
SVEUČILIŠTE U ZAGREBU
DIGITALNA ELEKTRONIKA
PRIPREMA ZA 8. LABORATORIJSKU VJEŽBUMarko Čupić, Stjepan Groš
Zagreb, 2005
Digitalna elektronika – Priprema za 8. laboratorijsku vježbu (2004/2005)
Vježba 8 – Sekvencijski sklopovi
1. UvodZa projektiranja sklopova, ili općenito bilo kojih sustava, koji trebaju implementirati složenaponašanja izuzetno pomoćno sredstvo su konačni automati i pripadajuća teorija. U sklopu predmetaDigitalna elektronika obrađuju se dvije vrste automata: Mealyjev i Mooreov, te se ti automatikoriste za projektiranje složenijih digitalnih sklopova. U općem slučaju prilikom projektiranjanekog digitalnog sklopa kreće se od funkcionalnosti koju treba postići. Ta funkcionalnost prvo seopisuje odgovarajućim konačnim automatom, a potom se taj automat preslikava u željeni sklop.Namjena ove vježbe jest detaljnije upoznavanje s postupcima projektiranja složenijih digitalnihsustava, te s nekim od načina opisivanja automata u VHDLu.
Napomena: iako je sam zadatak ove laboratorijske vježbe ostao isti u odnosu na prošlu godinu,propisana metoda njegovog rješavanja ovdje je drugačija – rješenja od prošle godine neće sepriznavati.
2. ZadatakTijekom ove laboratorijskoj vježbe potrebno je projektirati i opisati u VHDLu jednostavanupravljač semafora. U nastavku teksta opisana je funkcionalnost koju je potrebno postići skonačnim sklopom, a detalji realizacije dani su u 4. poglavlju.
Raspored semafora koje treba nadzirati sklop prikazan je na slici 1, dok su u tablici 1 prikazaniciklusi koje semafori trebaju prolaziti. Na slici 2 prikazano je sučelje konačnog sklopa, a u tablici 2definirana su značenja pojedinih ulaza i izlaza sklopa. Svi izlazni signali aktivni su u visokomstanju, tj. kada su na 1, a inače su neaktivni. Sklop sve operacije obavlja na padajući brid signalatakta.
2
Slika 1. Tlocrt raskršća sa semaforimaSemafori za vozila
Semafori za pješake
Digitalna elektronika – Priprema za 8. laboratorijsku vježbu (2004/2005)
Stanje Trajanje stanja
Svi semafori pokazuju crveno (inicijalno stanje) 8T(7T)
Automobili dobijaju crveno + žuto 2T
Automobili dobijaju zeleno 32T
Automobili dobijaju žuto 4T
Automobili dobijaju crveno 2T
Pješaci dobijaju zeleno 16T
Pješaci dobijaju crveno 4T
Tablica 1. Ciklusi semafora
Prvo stanje navedeno u tablici 1 je inicijalno stanje i upravljač semafora više se nikada ne vraća unjega već kruži po ostalim stanjima. Trajanje pojedinih ciklusa semafora zadano je uparametriziranom obliku. To olakšava ispitivanje sklopa, a također omogućava relativnojednostavnu promjenu svih ciklusa promjenom samo jednog parametra. Master reset pri tomepredstavlja ulaz za početno resetiranje sklopa; ovaj ulaz treba biti aktivan na samom početku radasklopa u trajanju od jednog takta CPa, i nakon toga stalno mora biti neaktivan.
Ulaz/izlaz Značenjemasterreset
Ulaz. Aktiviranjem ovog signala semafor prelazi u početnostanje. Signal djeluje sinkrono.
cp Ulaz. Dovodi se signal takta.cr Izlaz. Kada je ovaj signal aktivan tada je na semaforu za
automobile uključeno crveno.cy Izlaz. Kada je ovaj signal aktivan tada je na semaforu za
automobile uključeno žuto.cg Izlaz. Kada je ovaj signal aktivan tada je na semaforu za
automobile uključeno zeleno.wr Izlaz. Kada je ovaj signal neaktivan na semaforu za pješake
prikazano je crveno, a u suprotnom prikazano je zeleno.
Tablica 2. Značenje pojedinih ulaza i izlaza sklopa
3
Slika 2. Sučelje sklopa za upravljanje semaforima
crcycg
wrcp
master reset Upravljačsemafora
Digitalna elektronika – Priprema za 8. laboratorijsku vježbu (2004/2005)
3. Priprema za vježbuPrije dolaska na laboratorijsku vježbu potrebno je koristeći se bilješkama s predavanja i auditornihvježbi proučiti gradivo vezano uz projektiranje sekvencijskih sklopova. Također, potrebno jeproučiti poglavlje 7 u knjizi Digitalna elektronika (s naglaskom na 7.7 do 7.9.3), te Zbirku,poglavlje 12. Budući da se kao sastavni dio ove vježbe koriste i brojila, potrebno je podsjetiti seprethodnih laboratorijskih vježbi, te odgovarajućih auditornih vježbi i predavanja.
Na laboratorijske vježbe treba donijeti skiciranu strukturu konačnog sklopa i njen opis u VHDLu,te skicu strukture odnosno ponašajnog modela svakog od sastavnih elemenata koji se koriste.Strukturu sklopa preporuča se načiniti na osnovu materijala izloženog u idućem poglavlju.Konačno, potrebno je riješiti i računski zadatak (poglavlje 6 ove upute).
4. Upute za izradu vježbeOva vježba može se napraviti na čitav niz različitih načina, a u nastavku je opisana samo jednamoguća varijanta, koje se treba pridržavati. Prvi korak u rješavanju zadanog zadatka jest skicastrukture rješenja. Budući da je opisan problem relativno složen u odnosu na dosadašnje zadatke, zanjegovo rješavanje iskoristit ćemo znanje o strojevima s konačnim brojem stanja (ako do sada toniste naučili, trk do knjige i zbirke). Upravljač semafora razbit ćemo u dva dijela: timer koji će nasvojim izlazima generirati informacije o nastupanju vremena 2T, 4T, 8T, 16T i 32T, te automat kojiće na temelju tih informacija upravljati radom upravljača semafora. Skica ove dekompozicijeprikazana je u nastavku.
Analizirajmo najprije izvedbu komponente TIMER. Ova komponenta zadužena je za signaliziranjevremenskih intervala. Pri tome izlaz t2 treba generirati '1' ako su prošla dva impulsa CPa, t2 ako suprošla 4 impulsa CPa itd. Jedan od jednostavnijih načina da se napravi ovaj sklop jest uporabomsinkronog binarnog brojila. Kako su ova brojila već obrađena na laboratoriju, ovdje im se nećeposvećivati posebna pažnja, već se može napraviti najjednostavnije moguće brojilo (npr. sinkronobinarno brojilo s T bistabilima). Kao dio pripreme nacrtajte strukturni model 5bitnog
4
Slika 3. Struktura upravljača semafora
t2t4t8
t16t32
t2t4t8t16t32
reset
masterreset
masterreset
reset
AUTOMATTIMER
master reset
cp
UPRAVLJAČ SEMAFORA
crcycgwr
cp cp
crcycgwr
Digitalna elektronika – Priprema za 8. laboratorijsku vježbu (2004/2005)
sinkronog binarnog brojila izvedenog T bistabilima. Obratiti pažnju da nam za ovaj sklop trebabrojilo sa sinkronim ulazom za reset (pa bistabili trebaju sinkrone ulaze za postavljanje i brisanje).Također u sklopu pripreme napišite ponašajni model 5bitnog sinkronog binarnog brojila(jedan od načina je sljedeći: pristupite ovom problemu kao da modelirate višebitni registar sparalelnim ulazima i paralelnim izlazima, pri čemu se izlazi vode na potpuno zbrajalo kojetrenutnom stanju pridodaje 1 i taj rezultat vraća na paralelni ulaz registra – ovo se sve može riješitiunutar jednog bloka proces i uporabom nekoliko varijabli). Obje implementacije brojila trebajuizlaze generirati s kašnjenjem od 10 ns, a signal reset treba djelovati na način opisan u nastavku.Timer će tada imati strukturu prikazanu u nastavku.
Iako je na ovoj slici dekoder stanja nacrtan kao posebna komponenta, prilikom modeliranja ne trebagenerirati poseban sklop. Dovoljno je svaki od izlaza ti opisati jednim logičkim AND sklopom(odnosno uporabom operatora AND), iz čega slijedi da se jedino brojilo mora posebno modelirati ikoristiti u timeru kao komponenta. Također obratite pažnju da timer ima dva ulaza za reset (obasinkrona) a brojilo samo jedan, pa je te ulaze potrebno na neki način stopiti u jedan (kojimsklopom?). Prilikom izvedbe dekodera stanja, izlaz t2 treba izvesti tako da dekodira stanje brojila 1,izlaz t4 tako da dekodira stanje brojila 3, izlaz t8 tako da dekodira stanje brojila 7, itd. Po završetkupripreme razmislite zašto dekodiramo baš ta stanja? Svaki izlaz dekodera treba kasniti 10 ns.
Brojilo također treba izvesti na donekle neuobičajen način – djelovanjem signala reset brojilotreba otići u stanje 1, a ne 0.
Jednom kad je timer modeliran, možemo se posvetiti modeliranju samog automata. Automat moraimati toliko različitih stanja koliko mu treba da bi upravljao semaforima prema zadanoj tablici.Koliko će to točno biti, ovisi o nekoliko faktora, između kojih i o vrsti samog automata: Mooreovautomat ili Mealyjev automat. No neovisno o vrsti automata, ideja rješenja je ista: automat se nalaziu nekom stabilnom stanju, i tu čeka signal timera. Jednom kad timer signalizira da je vrijeme zapromjenu stanja, automat prelazi u novo stanje, i resetira timer (međutim, uočite da se zbogsinkronog djelovanja reseta timer ne resetira odmah, nego tek na sljedeći brid CPa čimebrojilo/timer efektivno propušta jedan impuls takta; rješenje ovog problema je postavljanje brojila u
5
Slika 4. Struktura timera
Q0Q1Q2Q3Q4
t2t4t8
t16t32
reset
DEKODERSTANJA
BROJILO
cp
TIMER
cp
resetmasterreset
???
Q0Q1Q2Q3Q4
t2t4t8t16t32
Digitalna elektronika – Priprema za 8. laboratorijsku vježbu (2004/2005)
stanje 1 a ne u 0 na signal reseta).
Ovdje opisan automat u pripremi treba riješiti na dva načina: najprije treba nacrtati Mooreovautomat koji rješava zadani problem, a potom Mealyjev automat.
Prilikom modeliranja Mooreovog automata problem se sigurno može riješiti s 13 stanja, dok seMealyjev automat može riješiti sa samo 7 stanja (možda može i manje?).
Više primjera kako se konstruiraju sami automati koji rješavaju određene probleme može sepogledati u Zbirci (posebno zadaci 12.1 do 12.5).
Upute kako realizirati pojedine vrste automata mogu se pogledati u Zbirci (zadatak 12.19 – Moore,te zadatak 12.20 – Mealy). Kod Mealyjevog automata napraviti onu varijantu koja izlaze čuva uizlaznom registru. Za modeliranje stanja u obje varijante koristiti ključnu riječ TYPE. Također obaautomata modelirati tako da signal reset na njih djeluje sinkrono (a ne asinkrono, kao u Zbirci).Izlaz automata mora imati vrijeme kašnjenja od 10 ns.
Budući da se kod uporabe novog tipa podatka (ključna riječ type) za označavanje stanja ne obavljaistovremeno i kodiranje stanja (dakle, hoće li npr. S0 biti kodirano s “00” i nekom drugomkombinacijom), sintetizator sklopovlja ima dodatnu slobodu u donošenju odluka:
1. koliko bistabila utrošiti za čuvanje stanja, te
2. koju kodnu riječ pridijeliti pojedinom stanju (odnosno generiranje tablice kodiranja).
Ovisno o broju stanja modeliranog sekvencijskog sklopa, minimalni potreban broj bistabila određenje dualnim logaritmom od broja stanja sklopa. Međutim, pokazuje se da uz minimalni broj bistabilakombinacijska logika potrebna za promjenu stanja može biti vrlo kompleksna. Iskoristi li se višebistabila no što je to minimalno potrebno (npr. za svako stanje po jedan bistabil), tadakombinacijska logika može biti izuzetno jednostavna (što dovodi do “1hot” kodiranja: u stanju Si
samo iti bistabil ima izlaz u 1, svi ostali su u nuli; tada se kombinacijska logika svodi na ILIsklopove). Problem ovog pristupa je što troši previše bistabila. Optimalno rješenje nalazi se negdjeizmeđu ovih rješenja.
Druga odluka (koju kodnu riječ pridijeliti pojedinom stanju) također može imati drastične učinke nakompleksnost kombinacijskog sklopovlja, te je pravi izazov pronaći takvo kodiranje koje ćegenerirati minimalno kombinacijsko sklopovlje (jedna od metoda jest analiza dijagrama prijelazastanja, pri čemu se susjednim stanjima daju kodne riječi s minimalnom distancom).
Kako će točno sintetizator obaviti sintezu, potrebno je provjeriti na laboratoriju, nakonmodeliranja sklopa!
Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i ispitni modul, teispitati rad sklopa.
Prilikom modeliranja i ispitivanja brojila, a općenito i cijelokupnog sklopa, zgodno je pretpostavitida T traje jednu periodu signala vremenskog vođenja. Kasnije se relativno jednostavnimmodifikacijama brojila ta vrijednost može povećati na proizvoljnu vrijednost.
Kao dio pripreme također razmislite što bi se dogodilo kada bi signal reset brojilo postavljao u
6
Digitalna elektronika – Priprema za 8. laboratorijsku vježbu (2004/2005)
stanje 0, te što bi se dogodilo kada bi signal reset za brojilo bio asinkron? Kako bi se to odrazilo narad sklopa? Vaš zaključak provjerite na laboratorijskoj vježbi.
5. VHDLZa načine modeliranja pojedinih vrsta automata pogledati u Zbirci zadatke 12.19 i 12.20.
6. Računski zadatakKao dio pripreme potrebno je riješiti sljedeći zadatak. Na slici je prikazana izvedba nekogautomata. Ulaz u automat je S, a izlaz iz automata je Y.
Na temelju slike nacrtajte dijagram prijelaza stanja tog automata (naputak: najprije na temeljusklopa generirajte tablicu!). Je li to Mooreov ili Mealyjev automat? Ima li ova sklopovska izvedbatog automata siguran start? Objasnite. Ako se postavi dodatni uvijet da iz svih nespecificiranihstanja automat mora prijeći u stanje u kojem su oba bistabila u 0, je li taj uvijet zadovoljen kodovog sklopa? Ako je poznato da je vrijeme kašnjenja bistabila 20 ns, vrijeme postavljanja bistabila10 ns, vrijeme zadržavanja bistabila 10 ns te kašnjenje osnovnog logičkog sklopa 10 ns (uključivo iinvertor), izračunajte maksimalnu frekvenciju rada ovog sklopa! Jesu li pri tome zadovoljena ostalavremenska ograničenja (npr. vrijeme zadržavanja)?
Uz pretpostavku da je CP signal simetrične periode frekvencije 10MHz, i da su svi bistabili napočetku u stanju 0, te da su svi nepoznati signali također postavljeni na 0, nacrtajte vremenskedijagrame svih signala, od t=0 ns do t=640 ns. U t=0 započinje poluperioda CPa u kojoj je CP uniskoj razini. Novi ulaz na S uvijek se dovodi 50 ns prije rastućeg brida CPa, a dovode se sljedećipodaci: 0, 1, 1, 1 i dalje sve nule.
Zatim proširite prikazani sklop tako da se izlaz Y propušta kroz jednobitni registar na koji jetakođer doveden CP (što je zapravo jedan D bistabil), i izlaz tog registra označite s W. Docrtajte navremenskom dijagramu još i taj izlaz.
Koja je razlika između izlaza Y i W?
7
D Q
Q'
CP
D Q
Q'
CP&
≥1&
1
&
≥1 YS
CP
B0 B1
Digitalna elektronika – Priprema za 8. laboratorijsku vježbu (2004/2005)
7. Preporučena literaturaU. Peruško, Digitalna elektronika. Logičko i električko projektiranje, III prošireno izdanje, Školskaknjiga, Zagreb, 1996.
8