8
ZAVOD ZA ELEKTRONIKU, MIKROELEKTRONIKU, RAČUNALNE I INTELIGENTE SUSTAVE FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SVEUČILIŠTE U ZAGREBU DIGITALNA ELEKTRONIKA PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU Marko Čupić, Stjepan Groš Zagreb, 2005

PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

Embed Size (px)

Citation preview

Page 1: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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

Page 2: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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: Mealy­jev i Moore­ov, 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 VHDL­u.

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   VHDL­u   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

Page 3: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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 CP­a, 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

Page 4: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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 VHDL­u,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 CP­a, t2 ako suprošla 4 impulsa CP­a 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   5­bitnog

4

Slika 3. Struktura upravljača semafora

t2t4t8

t16t32

t2t4t8t16t32

reset

masterreset

masterreset

reset

AUTOMATTIMER

master reset

cp

UPRAVLJAČ SEMAFORA

crcycgwr

cp cp

crcycgwr

Page 5: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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  5­bitnog  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   CP­a   č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

Page 6: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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 “1­hot” kodiranja: u stanju Si

samo  i­ti  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

Page 7: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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 CP­a u kojoj je CP uniskoj razini. Novi ulaz na S uvijek se dovodi 50 ns prije rastućeg brida CP­a, 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

Page 8: PRIPREMA ZA 8. LABORATORIJSKU VJEŽBU - · PDF fileFAKULTET ELEKTROTEHNIKE I ... (posebno zadaci 12 ... Na laboratoriju, nakon modeliranja svake komponente potrebno je napraviti i

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