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

DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu

  • Upload
    others

  • View
    10

  • Download
    3

Embed Size (px)

Citation preview

Page 1: DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu

ZAVOD ZA ELEKTRONIKU, MIKROELEKTRONIKU, RAČUNALNE I INTELIGENTE SUSTAVEFAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

SVEUČILIŠTE U ZAGREBU

DIGITALNA ELEKTRONIKA

PRIPREMA ZA 7. LABORATORIJSKU VJEŽBUStjepan Groš, Marko Čupić

Zagreb, 2005

Page 2: DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu
Page 3: DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu

Vježba VII – Sinkrona i asinkrona brojila

Vježba VII – Sinkrona i asinkrona brojila1. UvodBrojila  u   raznim oblicima  čine   sastavnu  komponentu  mnogih  digitalnih   sklopova.  Kako  bi   sestudenti bolje upoznali s gradivom iznesenim na predavanjima i laboratorijskim vježbama vezanimuz   brojila   ona   su   tema   ove   laboratorijske   vježbe.   Tijekom   laboratorijske   vježbe   potrebno   jemodelirati i  simulirati određen  broj različitih  vrsta brojila te potom ispitati njihovo ponašanje uodređenim karakterističnim situacijama.

2. ZadatakU ovoj laboratorijskoj vježbi potrebno je strukturno modelirati različita asinkrona i sinkrona brojilaupotrebom JK bistabila i D bistabila. Konkretno, potrebno je modelirati sljedeće vrste brojila:

1. Trobitno  asinkrono brojilo  upotrebom JK  bistabila  prikazano na  slici  1.  Brojilo  mora  naizlazu I dati jedinicu svaki 8. ciklus pri čemu je u svim ostalim trenucima taj izlaz neaktivan ina nuli. Za dekodiranje koristiti stanje u kojemu se izlaz najprije stabilizira.

2. Asinkrono brojilo s 14 stanja pri čemu se koriste asinkroni ulazi JK bistabila za postavljanjestanja. Sučelje tog brojila prikazano je na slici 2.

3. Asinkrono brojilo s 12 stanja pri čemu se koriste asinkroni ulazi JK bistabila za poništavanjestanja. To brojilo ima identično sučelje kao i prethodno.

4. Sinkrono brojilo koje broji u ciklusu 0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 0. Brojilo ostvaritiupotrebom JK bistabila. Sučelje tog brojila prikazano je na slici 3.

5. Sinkrono brojilo koje broji u ciklusu 0 → 5 → 9 → 2 → 4 → 11 → 12 → 3 → 7 → 6 → 0. Brojiloostvariti  upotrebom D bistabila.  Sučelje   tog brojila  slično  je  prethodnom osim što  sadržijedan izlaz više.

3. Priprema za vježbuPrije   dolaska   na   laboratorijske   vježbe   potrebno   je   proučiti   odgovarajuću   literaturu   te   napisatipripremu koja će  služiti kao pomoć  prilikom izrade vježbe. Teorijska osnova potrebna za izraduove vježbe obrađena je u sklopu predavanja, a također  je detaljno objašnjene u knjizi Digitalnaelektronika, poglavlje 8. Na auditornim vježbama dani su primjeri projektiranja asinkronih brojila

1

Slika 1. Sučelje asinkronog brojila s osam stanja

resetclk

Q2 Q1 Q0 I

Slika 2. Sučelje asinkronog brojila sa 16 mogućih stanja

resetclk

Q3 Q2 Q1 Q0

Slika 3. Sučelje sinkronog brojila sa 8 stanja

resetclk

Q2 Q1 Q0

Page 4: DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu

Digitalna elektronika – Priprema za laboratorijske vježbe (2004/2005)

(a u Zbirci i sinkronih i asinkronih) te je te primjere preporučljivo iskoristiti za pripremu materijalaneophodnih za ovu vježbu.U sklopu pripreme potrebno je projektirati sva brojila, izvesti minimalne oblike svih kombinacijskihsklopova koji se upotrebljavaju u sklopovima, nacrtati strukturu svih brojila na osnovu rezultatadobijenih projektiranjem, odnosno minimiziranjem i na kraju načiniti skicu VHDL­a koji opisujetako dobivene strukture. Također je potrebno riješiti zadatke iz poglavlja 6 ove upute.Svi dodatni detalji vezani uz izradu vježbe opisani su u nastavku pripreme.

4. Upute za izradu vježbeNa početku  vježbe potrebno je načiniti   i   ispitati  ponašajne  modele  JK  i  D  bistabila  koji  čineosnovu svih navedenih brojila. Svaki od tih bistabila treba reagirati na padajući brid signala takta teimati  asinkrone  ulaze za postavljanje i poništavanje stanja. Sučelja tih bistabila prikazana su naslici  4.  Bistabile  modelirati   tako  da  ulaz  za  postavljanje   stanja   ima  viši  prioritet  od  ulaza  zaponištavanje stanja. Ta funkcionalnost se jednostavno postiže odgovarajućim zapisom IF izraza uponašajnom modelu bistabila, tj. prvo je potrebno ispitati ulaz S', a potom R'. Također, svakom odbistabila potrebno je definirati kašnjenje od 20 ns. 

Nakon što su načinjeni ponašajni modeli bistabila potrebno je definirati strukture zadanih brojilauporabom   tih   modela   te   neophodnog   broja   dodatnih   pomoćnih   signala   i   osnovnih   logičkihsklopova.Svako od brojila sadrži  signal  reset  koji poništava stanje  svih  bistabila u brojilu. Kako bi seostvarila ta funkcionalnost potrebno je dovesti vanjski signal reset na R' ulaze svih bistabila. Tajulaz je neophodan kako bi se brojilo moglo dovesti u poznato stanje prije no što započne brojanje.To i nije toliko bitno tijekom simulacije budući  da se prilikom deklaracije signala može definiratinjegova početna vrijednost, no nakon sinteze i implementacije brojila u sklopu te se inicijalizacijegube  i  može se desiti  da se brojilo  nađe  u nekom nedefiniranom stanju  iz  kojega se ne možeosloboditi.  To pogotovo vrijedi u slučajevima kada nisu iskorištena sva stanja brojila.  Prilikomispitivanja svakog od brojila potrebno je definirati da se radi o sinkronom dizajnu, a potom u prvojperiodi potrebno je aktivirati signal reset kako bi se brojilo postavilo u inicijalno stanje, zatim seu idućoj periodi deaktivirati taj signal i prati promjena stanja brojila.Kod asinkronih brojila svim upotrebljenim logičkim sklopovima postaviti  kašnjenje  od 10 ns, tepotom obratiti pozornost na vrijednosti koje brojilo daje tijekom izmjene stanja. Pokušajte smanjitiperiodu signala takta na 20 ns (također je potrebno smanjiti vremena postavljanja i vrijeme nakonkojega je signal na izlazu važeći, recimo svaki na 3 ns) te potom obaviti simulaciju i vidjeti stanjakroz   koja   prolazi   brojilo.   Da   li   brojilo   i   dalje   obavlja   ispravno   svoju   funkciju?   Podešavanjevremenskih parametara obavlja se inicijalno,  prilikom kreiranja  ispitnih uzoraka, a naknadno semože   promijeniti   odabirom   opcije  Options  →  Timing Constraints  u   HDL   Bencherprogramu.

2

Slika 4. Sučelja D i JK bistabila potrebnih za izradu brojila

D Q

Q

CP

S

R

J Q

Q

CP

S

RK

Page 5: DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu

Vježba VII – Sinkrona i asinkrona brojila

Prilikom modeliranja brojila s 12 stanja u kojemu se koriste ulazi za poništavanje stanja JK bistabilapotrebno je ispitati ponašanje sklopa u slučaju da neki od bistabila ima manje kašnjenje. Kako bi seto postiglo potrebno je u projekt – uz postojeći  model JK bistabila – dodati još jedan model JKbistabila  koji   ima  manje  kašnjenje,   te  potom u  modelu  brojila   jedan   JK  bistabil,   koji   tijekomponištavanja brojila prelazi iz stanja 1 u stanje 0, zamijeniti novim modelom s manjim kašnjenjem.Nakon toga potrebno je pokrenuti  simulaciju  i  provjeriti  da li  je brojilo preko I  i  ILI sklopovaispravno postavljeno u stanje 0. Koju modifikaciju  je potrebno učiniti  kako bi se stanje brojilaispravno poništilo (vidjeti zadatak 11.2 u Zbirci)? U modelu je potrebno načiniti tu modifikaciju teponovo simulirati rad brojila.Zabranjeno je koristiti ulazno/izlazne signale.

5. VHDLPrilikom korištenja bistabila za realizaciju brojila može se desiti da neki od  izlaza  bistabila  nisupotrebni. U tom slučaju moguće  ih je ostaviti nepovezanim i to tako da se prilikom definiranjaprimjerka (instance) komponente na mjestu gdje se nalazi izlazni signal navede rezervirana riječOPEN. Primjerice, neka imamo komponentu T bistabila definiranu na sljedeći način:

component jk_bistabilPort (

clk, t, sn, rn: in std_logic;q, qn: out std_logic

);end component;

Kada tu komponentu koristimo u nekom sklopu, ali pri tome nam nije potreban izlazni signal qn,tada možemo to napisati na sljedeći način:

b0: t_bistabil port map (clk, '1', iset, reset_n, bint(0), open); 

U ovom primjeru qn nije povezan niti na jedan interni ili izlazni signal već  “visi” u zraku, što jeodređeno s rezerviranom riječju open.U ovoj vježbi zahtijeva se da bistabili i logički sklopovi imaju određena kašnjenja. Ta kašnjenja,kao   i  općenito  bilo  kakvo kašnjenje  definirano u  nekom modelu,   imaju  smisao  samo prilikomponašajne simulacije, dok se prilikom sinteze ona zanemaruju te se uzimaju nova kašnjenja koja sedobivaju iz tehnologije u kojoj je implementiran sklop. Modeliranje kašnjenja logičkih sklopova jejednostavno, i već  je bilo opisivano u prethodnim laboratorijskim vježbama, primjerice, troulazni Isklop čije kašnjenje treba biti 35 ns bi napisali na sljedeći način:

res <= A and B and C after 5 ns;

Slična situacija je i kod bistabila. U tom slučaju preporučljivo je definirati unutar procesa internuvarijablu koja sadrži  vrijednost bistabila. Vrijednost te varijable ispituje se i mijenja unutar IF iCASE izraza. Pred kraj procesa vrijednost te varijable samo se dodijeli izlaznim signalima q i qn sodgovarajućim kašnjenjem. Na taj način kašnjenje će biti isto za bilo kakve promjene u bistabilu(poništavanje stanja, postavljanje stanja, “regularna” promjena vrijednosti na silazni brid signalatakta) što je potrebno dobiti u ovoj laboratorijskoj vježbi.

3

Page 6: DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu

Digitalna elektronika – Priprema za laboratorijske vježbe (2004/2005)

6. Računski zadaci za pripremuNa slici 5 prikazan je generator kontrolnih vremenskih impulsa (vidi poglavlje 8.6 u knjizi) izvedenpomoću (sinkronog ili asinkronog? ­ razmislite!) dvobitnog brojila koje je modificirano tako da muje dodan upravljački  ulaz E. Ulaz E dodan je kako bi s određenom logičkom razinom spriječiobrojilo da promijeni stanje. Kao sastavni dio pripreme napravite sljedeće:1. Precrtajte shemu sklopa 2. Označite sve neoznačene signale.3. Nacrtajte   vremenski   dijagram   rada  ovog   sklopa   (od   t=0ns  do   t=620ns).  Na   tom   dijagramu

prikažite SVE signale. Pri tome pretpostavite sljedeće:  svi bistabili inicijalno su postavljeni ustanje '0'. Svi nepoznati signali postavljeni su u '0' (dakle, ne koristiti 'U'). Signal E od trenutkat=0 ns do t=100 ns ima vrijednost '0', a nakon toga stalnu vrijednost '1'. Signal CP je simetričneperiode frekvencije 10 MHz i u trenutku t=0 ns započinje njegova poluperioda u kojoj je CP='1'.Vremena kašnjenja pojedinih elemenata navedena su na kraju ovog poglavlja.

4. Analizirajte rad ovog sklopa (preko vremenskog dijagrama). Ispunjava li ulaz E svoju funkciju,ili je sklop pogrešno projektiran?

Na slici  6 prikazan je generator kontrolnih vremenskih impulsa izveden pomoću  (sinkronog iliasinkronog? ­ razmislite!) dvobitnog brojila koje je modificirano tako da mu je dodan upravljačkiulaz E. Ulaz E dodan je kako bi s određenom logičkom razinom spriječio  brojilo da promijenistanje. Kao sastavni dio pripreme napravite sljedeće:1. Precrtajte shemu sklopa 2. Označite sve neoznačene signale.3. Nacrtajte   vremenski   dijagram   rada  ovog   sklopa   (od   t=0ns  do   t=620ns).  Na   tom   dijagramu

prikažite SVE signale. Pri tome pretpostavite sljedeće:  svi bistabili inicijalno su postavljeni ustanje '0'. Svi nepoznati signali postavljeni su u '0' (dakle, ne koristiti 'U'). Signal E od trenutkat=0 ns do t=100 ns ima vrijednost '0', a nakon toga stalnu vrijednost '1'. Signal CP je simetričneperiode frekvencije 10 MHz i u trenutku t=0 ns započinje njegova poluperioda u kojoj je CP='1'.Vremena kašnjenja pojedinih elemenata navedena su na kraju ovog poglavlja.

4

Slika 5. Generator kontrolnih vremenskih impulsa

T

CP

Q T

CP

Q&&

E

1

DEKODERa1

a0

y1 y

0y

2y3

CP

B0 B1

Page 7: DIGITALNA ELEKTRONIKA PRIPREMA ZA 7. …Teorijska osnova potrebna za izradu ... Također je potrebno riješiti zadatke iz poglavlja 6 ove upute. Svi dodatni detalji vezani uz izradu

Vježba VII – Sinkrona i asinkrona brojila

4. Analizirajte rad ovog sklopa (preko vremenskog dijagrama). Ispunjava li ulaz E svoju funkciju,ili je sklop pogrešno projektiran?

Za   korištene   elemente   poznati   su   sljedeći   podaci:   vrijeme   kašnjenja   bistabila   20   ns,   vrijemezadržavanja   bistabila   10   ns,   vrijeme   postavljanja   bistabila   10   ns,   vrijeme   kašnjenja   osnovnoglogičkog sklopa 10 ns te vrijeme kašnjenja dekodera 20 ns.Vremenski dijagrami trebaju biti tako nacrtani da se iz njih može očitati vrijednost proizvoljnogsignala u proizvoljnom trenutku.

Napomena: prilikom analize rada ovih sklopova nije dopušteno izvoditi bilo kakve modifikacijesklopova, izbacivanje elemenata ili slično!

7. Preporučena literaturaU. Peruško, Digitalna Elektronika. Logičko i električko projektiranje, III prošireno izdanje, Školskaknjiga, Zagreb, 1996.

5

Slika 6. Generator kontrolnih vremenskih impulsa

T

CP

Q& T

CP

Q

DEKODERa1

a0

y1 y

0y

2y3

E1

CP

Q'B1B0