Principi digitalnog projektovanjaes.elfak.ni.ac.rs/ams/Materijal/Pitanja.pdf · 2013. 12. 6. · 1...
Transcript of Principi digitalnog projektovanjaes.elfak.ni.ac.rs/ams/Materijal/Pitanja.pdf · 2013. 12. 6. · 1...
-
1
Principi digitalnog projektovanja Tri oblika reprezentacije dizajna.
Nivoi apstrakcije koji se koriste u projektovanju elektronskih sistema. Tipične bihejvoralne forme i strukture komponente koje se koriste na registarskom nivou.
Navesti faze procesa projektovanja digitalnih sistema i bliže objasniti fazu analize dizajna.
Faze procesa projektovanja digitalnih sistema. Zadaci faze “sinteza dizajna“
Prednosti jezika za opis hardvera u odnosu na grafičke šematske editore kao sredstava za opis i modelovanje hardvera
Klasifikacija CAD alata. Alati za fizičko projektovanje Logičko projektovanje
Dopuniti sledeće iskaze:
∑ ∏∑ ∏
==
==
)_____()_____(),,('
)_____()6,5,3(),,(
zyxF
zyxF
Odrediti funkciju kombinacione mreže sa slike pod pretpostavkom da se koristi: (a) pozitivna, (b) negativna logika.
x1
x2x3
f
Korišćenjem logičkih kola iz biblioteka osnovnih, više-ulaznih i više-operatorskih gejtova realizovati funkciju:
f = x’y’ + xy’z + xyz’
Korišćenjem logičkih kola iz biblioteka osnovnih, više-ulaznih i više-operatorskih gejtova realizovati funkciju:
F(x1,x2, x3,x4) = x0x1’x2’+x1(x0’x2’+x1(x2+x0)) Uporediti, prema ceni i kašnjenju, sledeće realizacije: a) direktna (na osnovu datog izraz), b) homogena mreža NI kola i c) mreža više-operatorskih kola (dobijena postupkom tehnološkog mapiranja za custom biblioteke).
Realizovati kombinacionu mrežu potpunog oduzimača, korišćenjem 2-ulaznih NAND kola. Tabela istinitosti i blok dijagram potpunog oduzimača prikazani su na slici.
-
2
X Y b D B 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0
Pravila za konverziju AND-OR u NAND (NOR) mreže
Kombinacionu mrežu sa slike konvertovati u homogenu mrežu 2-ulaznih NI (NILI) kola.
x1x2x3
x4
x5x6
x7
f
x7x8
Logičke jednačine potpunog sabirača: ci+1 = xiyi+cixi+ciy si = xi'yi'ci + xi'yici' + xiyi'ci' + xiyici
transformisati u oblik pogodan za realizaciju pomoću dvo-ulaznih NI kola.
Pomoću 2-ulaznih NAND gejtova realizovati funkciju: F(x1,x2, x3,x4) = x1x2'x3' + x2x3x4 + x1'x3x4' + x1x2x3
Rešenje treba da sadrži sledeće korake: minimizacija polazne funkcije, AND-OR mreža, dekompozicija AND i OR gejtova, konverzija u NAND mrežu, optimizacija i retajming NAND mreže
Logičku funkciju f = (x + y)⊕ z realizovati pomoću dvoulaznih NI kola.
Tehnologija standardnih ćelija
Arhitektura FPGA kola
Tehnologija gejtovskih polja
-
3
Komponente digitalnih sistema Projektovati logičku jedinicu (LJ) koja može da obavi bilo koju od 16 različitih logičkih funkcija nad dva jednobitna operanda.
LJ
a b
c
s3s2s1s0
Projektovati ALU jedinicu koja će obavljati sledeće operacije: a) aritmetičke operacije: sabiranje, oduzimanje, negacija i apsolutna vrednost; b) logičke operacije: komplement, AND, OR i XOR.
Multiplekser 4-u-1 realizovati pomoću: a) logičkih kola b) multipleksera 2-u-1 c) dekodera i trostatičkih bafera
Pomoću jednog dekodera 1-u-2, jednog dekodera 2-u-4 i potrebnog broja dodatnih logičkih kola, realizovati dekoder 3-u-8.
Pokazati kako se primenom principa koincidentnog dekodiranja, može realizovati dekoder 5-u-32 pomoću jednog dekodera 2-u-4 i jednog dekodera 3-u-8.
Realizovati kombinacionu mrežu dekodera 2-u-4. Koristiti 2-ulazna AND i NOT kola. (b) Na osnovu dekodera 2-u-4 projektovati dekoder 4-u-16 primenom principa:
(i) hijerarhijskog, (ii) koincidentnog dekodiranja.
(c) Uporediti dva rešenja prema ceni (broj tranzistora) i performansama (propagaciono kašnjenje). Usvojiti da se AND kolo realizuje pomoću 6 tranzistora i da ispoljava kašnjenje od 2.4 ns. NOT kolo se realizuje pomoću 2 tranzisotra i ima kašnjenje od 1 ns.
Hijerarhijska komparatorska mreža (na primeru realizacije komparatora 16-bitnih brojeva na bazi 4-bitnih komparatorskih modula)
Na slici je prikazana struktura prioritetnog kodera 2n-u-n. Objasniti namenu modula za razrešavanje prioriteta i prikazati njegovu unutrašnju strukturu.
-
4
Prioritetni koder 2-u-4. (a) tabela istinitosti; (b) realizacija pomoću binarnog kodera 2-u-4 i mreže za razrešavanje prioriteta
Hijerarhijska komparatorska mreža (na primeru realizacije komparatora 16-bitnih brojeva na bazi 4-bitnih komparatorskih modula).
Napisati analitičke izraze za funkcije G i L 2-bitnog komparatora magnitude. Korišćenjem 2-bitnih komparatora realizovati 8-bitni komparator magintude (redna i paralelna realizacija)
Realizovati kombinacioni 4-bitni pomerač/rotator. Blok dijagram i funkcionalna tabela kola prikazani su na slici.
4-bitni Barel rotator ulevo
Barel pomerač. Funkcija. Realizacija 8-bitnog barel rotartora na levo pomoću multipleksera 2-u-1.
Komparator magnitude: a) 4-bitni, realizacija pomoću logičkih kola. b) 16-bitni, iterativna (serijska) mreža 4-bitnih komparatora c) 16-bitni, hijerarhijska mreža 4-bitnih komparaotra
Programabilna logička polja (PLA).
Napisati analitičke izraze za funkcije F1 i F0 realizovane u PLA strukturi sa slike.
-
5
0
1
2
3
4
5
6
7
0 1
Izlazno polje
F3 F2 F1 F0
ORpolje
ANDpolje
A3 A2 A1 A0(x y z w)
Nacrtati strukturne blok dijagrame konačnih automata Murovog i Milijevog tipa
4-bitni pomerački registar sa paralelnim upisom i sinhronim resetovanjem - realizacija pomoću D flip-flopova i multipleksera.
Projektovati 4-bitni univerzalni pomerački registar. Grafički simbol i funkcionalna tabela registra prikazani su na slici.
Na slici je prikazana struktura 4-bitnog brojača. E je signal za dozvolu brojanja, a Clear signal za asinhrono resetovanje. Modifikovati strukturu sa slike, dodavanjem novih elemenata, tako da pored funkcije brojanja poseduje i mogućnost serijskog pomeranja udesno. Modifikacija će zahtevati uvođenje još dva ulazna signala: S – za izbor jedne od dve funkcije, brojanje ili pomeranje i SU – za serijski upis prilikom pomeranja.
Na slici je prikazan blok dijagram 4-bitnog binarnog obostranog brojača. Za DIR=1 brojač broji unapred, a za DIR=0 unazad. Za E=0 brojač zadržava tekuće stanja, a za E=1 broji u zadatom smeru. Brojač se sastoji iz četiri razreda identične strukture (kombinacioni blok (KB) i D-flip-flop). Kombinacioni blok, u zavisnosti od vrednosti upravljačkih ulaza, DIR i
-
6
E, tekućeg stanja pridruženog flip-flopa (Qin) i vrednosti signala prenosa iz prethodnog razreda (Cin), generiše novu vrednost za upis u flip-flop (Dout) i izlazni prenos (Cout) koji se prosleđuje narednom razredu. Projektovati kombinacioni blok. Pomoć: najpre popuniti tabelu istinitosti kombinacionog bloka.
Na bazi 4-bitnog obostranog binarnog brojača, projektovati obostrani BCD brojač
Projektovati 4-bitni registar koji kombinuje funkcije brojača i pomeračkog registara (Sl. 4). Za (S1, S0) = (0,1) registar funkcioniše kao binarni brojač, dok za (S1, S0) = (1,0) radi kao pomerački registar sa serijskim ulazom SI. Kombinacija (S1, S0) = (0,0) resetuje registar, dok pri (S1, S0) = (1,1) registar zadržava tekuće stanje.
Na slici je prikazana unutrašnja struktura registarskog fajla sa jedni portom za upis i jednim portom za čitanje. Moduli označeni sa RFC predstavljaju ćelije registarskog fajla kapaciteta jednog bita. Prikazati unutrašnju strukturu RFC modula i objasniti način rada registarskog fajla.
Registarski fajl. Namena i varijante. Unutaršnja struktura registarskog fajla sa jednim portom za upis i jednim portom za čitanje.
-
7
Na slikama (a) i (b) su prikazani unutrašnja struktura i blok dijagram 1-bitne memorijske ćelije. Korišćenjem datih memorijskih ćelija, realizovati RAM 4x2 (tj. RAM kapaciteta četiri dvobitne reči) (Sl. 4(c)). Interfejs RAM-a čine sledeće grupe signala: (a) A1, A0 – adresne linije; (b) IO1, IO0 – bidirekcione linije za upis/čitanje podatka u/iz memorije; (c) RW– signal za izbor operacije (RW = 0 – čitanje, RW=1 – upis) i (d) CS – signal za selekciju čipa (CS=0 – pristup memoriji radi upisa/čitanja je zabranjen, a linije IO1, IO0 su u stanju visoke impedanse; CS=1 – dozvola upisa/čitanja).
D Q
C
I
WR
RD
OMC
RD
WR
OI RAM4x2
RWCS
A1A0 IO1
IO0
(a) (b) (c)
Na slici su prikazana dva identična RAM modula kapaciteta 1k x 8. Interfejs RAM-a čine: A - 10 adresnih linija; I - 8 linija za upis podatka u memoriju; O - 8 linija za čitanje podatka iz memorije; CS - ulaz za selekciju čipa; RWS - ulaz za izbor operacije (RWS=0 - čitanje, RWS=1 - upis). Povezati raspložive RAM module tako da se dobije:
a) RAM 1k x 16 b) RAM 2k x 8
(Po potrebi dozvoljeno je koristiti dodatna logička kola.)
STEK memorija kapaciteta 4 reči, inicijalno sadrži jedan podatak (A). Prikazati sadržaj STEK memorije ako se u pet uzastopnih taktnih ciklusa izvršavaju operacije naznačene na slici.
Objasniti funkciju i interfejsa stek memorije čiji je blok dijagram prikazan na slici.
IN0-m-1 OUT0-m-1
Push/pop
EnableReset
STEK
Empty
Fullclk
Stek memorija. Funkcija i interfejs. Objasniti realizaciju stek memorije na bazi RAM memorije.
-
8
DE Top-1Set
1K RAMA
CS RWS
1 0 S mux
DE TopReset
Izlazna logika
U/I magistrala
Empty
Full
Upravljačka logika
Reset
Push/pop
Enable
nn
n
n
m
Objasniti funkciju i opisati interfejsa FIFO reda čiji je blok dijagram prikazan na slici:
Sekvencijalna i paralelna staza podataka. ASM dijagrami
Projektovanje ˝odozgo-naniže˝. Faze. Struktura sistema u fazi razrade.
Digitalni sistem u fazi razrade. Uloga upravljačke jedinice i staze podataka.
Odnos između metodičke staze podataka i staze podataka zasnovane na centralizovanoj ALU jedinici
Na slici je prikazan ASM dijagram koji obrađuje 3 ulazna signala, A, B i C i generiše jedan izlazni signal, Z. Odrediti odziv ASM dijagrama (Z), pod pretpostavkom da se ulazi menjaju na način kao u tabeli. Usvojiti da je početno stanje ASM dijagrama S0.
clk 0 1 2 3 4 5 6 7 A: 0 1 1 0 1 1 0 1 B: 1 1 0 1 0 1 0 1 C: 0 1 0 1 0 1 0 1 Stanje: S0 Z:
Sl. 7. Softverski algoritam predstavljen pseudo kodom sa slike konvertovati u ASM dijagram. Sistem se pušta u rad signalom start, a nakon završenog izračunavanja postavlja signal rdy.
-
9
x
y
A
B
Z
startclk
x = A;y = B;While(x ≠ y) { if(x > y) x = x – y; else y = y – x;}
rdy
start0
rdy
ASM dijagram sa slike (a) opisuje ponašanje digitalnog sistema čiji je blok dijagram prikazan na slici (b). Interfejs sistema čine: jednobitni ulazni signal Cin, 4-bitni ulazni signal n i jednobitni izlazni signal Cout. Interno, sistem sadrži registar R. Izvršiti analizu rada sistema pod pretpostavkom da je na ulazu n prisutna vrednost n=3, da je u početnom trenutku sistem u stanju S0 i da se vrednost signal Cin menja na način kao u koloni Cin tabele sa slike (c): a) Popuniti tabelu sa slike (c). b) Vremenski dijagram sa slike (d) dopuniti talasnim oblikom izlaznog signala Cout. c) Svojim rečima objasniti funkciju sistema.
Algoritam za brojanje 1-ca u ulaznom vektoru A, dat u obliku pseudo koda prevesti u oblik ASM dijagrama. Usvojiti da se rad kola, koje realizuje algoritam, startuje signalom start (start=1), a da po završenom izračunavanju kolo aktivira signal rdy (rdy=1).
B = 0; while(A≠0) do if(A0 = 1) then B = B + 1; end if; A = A >> 1; end while;
-
10
Konačni automat Milijevog tipa sa slike predstaviti u obliku ASM dijagrama. Automat ima dva ulaza, a i b, i jedan izlaz c. (Simbol x označava proizvoljnu vrednost.)
(a=1
, b=0
)/c=0
(a=0, b=x)/c=0
(a=x, b=1)/c=1
Projektovati ASM dijagram upravljačke jedinice (UJ) laserskog daljinometar (Sl. 6). Aktiviranjem signala START (START=1), resetuje se brojač (RST =1) i emituje kratkotrajni laserski impuls (PING = 1) u trajanju jednog traktnog intervala. Nakon toga, rad brojača je dozvoljen (EN=1) sve do prijema reflektovanog impulsa (ECHO=1). Dostignuto stanje brojača (dostupno na izlazu Q) predstavlja mereno rastojanje.
ASM dijagram sa slike (a) opisuje funkciju digitalnog kola čiji je blok dijagram prikazan na slici (b). Kolo obrađuje 4-bitni ulazni podatak a i generiše 2-bitni rezultat na izlazu b. Ulazni signal Start startuje rad kola, a po završetku obrade kolo aktivira izlazni signal Kraj. U ASM dijagramu se koriste dva registra, A i B. Registar A se puni ulcaznim podatkom, a, na početku, a rezultat izračunavanja dostupan je u registru B, na kraju rada. Operacija „A >> 1“ označava pomeranje sadržaja registra A za jednu bitsku poziciju udesno. A(0) predstavlja bit najmanje težine (krajnji desni bit) registra A. Izvršiti analizu rada sistema pod pretpostavkom da je na ulazu a prisutna vrednost a=˝0110˝, da je u početnom trenutku sistem u stanju S0 i da se signal Start menja na način kao u koloni Start tabele sa slike (c): (a) Popuniti tabelu sa slike (c). (b) Objasniti funkciju kola.
Projektovati stazu podataka i odgovarajući razrađeni ASM koji će realizovati algoritam definisan funkcionalnim ASM dijagramom sa slike. Na raspolaganju su sledeći funkcionali elementi: jedan 8-bitni brojački registar, jedan 8-bitni registra sa dozvolom, jedna 8-bitna
-
11
ALU, i potreban broj multipleksera proizvoljnog tipa. Dati sistemski dijagram koji pokazuje spregu upravljačke jedinice i staze podataka.
Projektovati stazu podataka i odgovarajući razrađeni ASM za algoritam definisan funkcionalnim ASM-om sa slike. Na raspolaganju su sledeći funkcionali elementi: dva 8-bitna brojačka registra, jedan 8-bitni registar sa dozvolom, jedna 8-bitna ALU i potreban broj multipleksera proizvoljnog tipa.
Realizovati ´one-hot´ upravljačku jedinicu za ASM dijagram sa slike.
ab
d
c
e
ba
d
c
S1
S2
S3
0
0
0 1
1
1
Na slici su prikazani blok dijagram i razrađeni ASM dijagram upravljačke jedinice koja je deo nekog složenog digitalnog sistema. Upravljačka jedinica interaguje sa okruženjem putem statusnih ulaza start i mode i statusnog izlaza rdy, dok se za spregu upravljačke jedinice i staze podataka koriste: jednobitni upravljački signali ld_1, ld_2, inc, 3-bitni upravljački signal ctrl i jednobitni statusni signal stat. Realizovati upravljačku jedinicu korišćenjem ˝one-hot˝ tehnike.
-
12
Sledeću programsku sekvencu prevesti u funkcionalni ASM dijagram direktnom primenom pavila konverzije: while b ≠ 0 if a > b a := a - b else b := b - a
Ubaciti dodatne multipleksere i povezati komponente sa slike (a) tako da se dobije dijagram digitalnog sistema koji je u stanju da obavlja algoritam predstavljen funkcionalnim ASM dijagramom sa slike (b). Slike prikazuje (i) brojač sa paralelnim upisom (ce - dozvola brojanja; ld - dozvola paralelnog upisa), (ii) prihvatni registar sa dozvolom upisa (en - dozvola upisa), (iii) binarni sabirač, (iv) višeulazno I kolo i (v) upravljačku jedinicu (UJ).
x ← 0y ← 0rdy
y ← x + y
x ← x + 1y ← y + 1
x = “sve jedinice”
start0
1
01
(a) (b)
-
13
Sinteza staze podataka
Dodela registara. Cilj. ˝Vreme života˝ promenljive. Algoritam ˝leve ivice˝ - dovršiti postupak dodele registara započet u sledećoj tabeli:
Iteracija I Iteracija II Iteracija III s1 s2 s3 s4 s5 s6 s7 s1 s2 s3 s4 s5 s6 s7 s1 s2 s3 s4 s5 s6 s7 a X b X t1 X t2 X x X X X X y X t3 X t4 X X t5 X t6 X t7 X
Dodela ragistara. Vreme života promenljive. Rešiti sledeći zadatak: U ASM dijagramu sa 9 sukcesivnih stanja, S0, …, S8, koristi se 6 promenljivih, p1, …, p7. U tabeli sa slike za svaku promenljivu navedena su stanja u kojima se ta promenljiva koristi. Pri tome, prvo stanje u nizu predstavlja stanje u kome se vrši upis u promenljivu, dok se u preostalim stanjima promenljiva koristi kao operand. Npr. upis u promenljivu p3 se obavlja u stanju S1, dok se u stanjima S2 i S4 promenljiva p3 čita i koristi kao operand. Primenom algoritma leve ivice obaviti dodelu registara.
Prom. Stanje upisa Stanja čitanja
p1 S0 S2 p2 S1 S2 S3 p3 S2 S5 S7 p4 S3 S6 p5 S4 S5 S6 p6 S5 S6 S7 S8
Grupisanje registara. Na slici je prikazana tabela pristupa registrima u nekoj stazi podataka. Na osnovu date tabele, grupisati registre u registarske fajlove sa jednim portom za upis i jednim portom za čitanje.
Dodela magistrala. Objasniti postupak dodele magistrala na primeru sa slike, koja ilustruje postupak transformacije staze podataka SRA kola sa direktnim vezama (slika (b)) u stazu podataka zasnovanu na magistralama (slika (g)).
-
14
s0 s1 s2 s3 s4 s5 s6 s7 A X B X X C x X X D X X E X F X X X X G x H X I X X X J X x x X K X L X
M X N X
Dodela funkcionalnih jedinica.
Odrediti funkcije više-funkcionalne jedinica sa slike. a i b su višebitni operandi, a y višebitni izlaz za rezultat. Funkcija se bira pomoću dva jednobitna ulaza c1 i c0.
-
15
Objasniti koncept dodele funkcijskih jedinica na primeru sa slike.
Objasniti principe protočnost na nivou funkcionalne jedinice i protočnost na nivou staze podataka.
Ulančavanje funkcionalnih jedinica
Tehnike za optimizaciju performansi staze podataka: a. Ulančavanje funkcijskih jedinica b. Usitnjavanje ciklusa
Namena algoritama za raspoređivanje operacija (tzv. šeduling algoritama). Razlike između resursima ograničenog i vremenom ograničenog šedulinga.
ASAP i ALAP algoritmi za raspoređivanje operacija na primeru grafa protoka signala sa slike