Principi digitalnog projektovanjaes.elfak.ni.ac.rs/ams/Materijal/Pitanja.pdf · 2013. 12. 6. · 1...

15
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 ( ) , , ( z y x F z y x F Odrediti funkciju kombinacione mreže sa slike pod pretpostavkom da se koristi: (a) pozitivna, (b) negativna logika. x 1 x 2 x 3 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(x 1 ,x 2 , x 3 ,x 4 ) = x 0 x 1 x 2 ’+x 1 (x 0 x 2 ’+x 1 (x 2 +x 0 )) 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.

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