selekcija za multiplekser. m u x or e s u l t [ 7 : 0] p r ...zadatak – grupa 1 2018/19 3 sistem...

4
Zadatak Grupa 1 2018/19 1 LOGIČKO PROJEKTOVANJE RAČUNARSKIH SISTEMA 1 Zadatak Grupa 1 9. Decembar 2018 NAPOMENA Za potrebe zadataka koristiti direktorijum C:\Temp\LPRS1_X_Y_Z\, gde je X oznaka studijskog programa (RA), Y broj indeksa i Z godina upisa. Unutar direktorijuma napraviti direktorijume Zadatak1 i Zadatak2. Svaki zadatak realizovati u zasebnom projektu u njemu predviđenom direktorijumu unutar predefinisanog. ZADATAK 1 (10 bodova) U VHDL jeziku za opis digitalnih sistema opisati i simulirati digitalni sistem prikazan na slici. Ulazi digitalnog sistema: iA [2:0] prvi ulazni operand, iB [4:0] drugi ulazni operand, iC [7:0] treći ulazni operand, iSEL [3:0] selekcija za multiplekser. Izlazi digitalnog sistema: oRESULT [7:0] izlaz iz multipleksera. Mux Prioritetni koder iSEL[3:0] 2 8 iA[2:0] Dekoder 8 iB[4:0] F(x) 8 iC[7:0] Komplementer 8 Ashr >> 4 oRESULT[7:0] Slika 1 Arhitektura sistema

Upload: others

Post on 29-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: selekcija za multiplekser. M u x oR E S U L T [ 7 : 0] P r ...Zadatak – Grupa 1 2018/19 3 Sistem simulirati pokrivanjem sledeća 4 slučaja: Pokriti slučaj gde se nakon operacije

Zadatak – Grupa 1 2018/19

1

LOGIČKO PROJEKTOVANJE RAČUNARSKIH SISTEMA 1

Zadatak – Grupa 1

9. Decembar 2018

NAPOMENA

Za potrebe zadataka koristiti direktorijum C:\Temp\LPRS1_X_Y_Z\, gde je X oznaka studijskog

programa (RA), Y broj indeksa i Z godina upisa. Unutar direktorijuma napraviti direktorijume Zadatak1 i

Zadatak2. Svaki zadatak realizovati u zasebnom projektu u njemu predviđenom direktorijumu unutar

predefinisanog.

ZADATAK 1 (10 bodova)

U VHDL jeziku za opis digitalnih sistema opisati i simulirati digitalni sistem prikazan na slici.

Ulazi digitalnog sistema:

iA [2:0] – prvi ulazni operand,

iB [4:0] – drugi ulazni operand,

iC [7:0] – treći ulazni operand,

iSEL [3:0] – selekcija za multiplekser.

Izlazi digitalnog sistema:

oRESULT [7:0] – izlaz iz multipleksera.

Mux

Prioritetni

koder

iSEL[3:0] 2

8iA[2:0]Dekoder

8iB[4:0]F(x)

8iC[7:0]Komplementer

8Ashr >> 4

oRESULT[7:0]

Slika 1 – Arhitektura sistema

Page 2: selekcija za multiplekser. M u x oR E S U L T [ 7 : 0] P r ...Zadatak – Grupa 1 2018/19 3 Sistem simulirati pokrivanjem sledeća 4 slučaja: Pokriti slučaj gde se nakon operacije

Zadatak – Grupa 1 2018/19

2

Opis sistema:

Ulaz iA se dovodi u dekoder.

Ulaz iB se dovodi u blok F(x) čija je funkcionalnost opisana tabelom ispod.

Ulaz iC ulazi u 2 bloka. U komplementeru se obavlja operacija komplementiranja (rezultat je –iC). U

drugom bloku se obavlja operacija aritmetičkog pomeranja u desno za 4 mesta.

Ulaz iSEL se dovodi na prioritetni koder i kao kodovan signal ima ulogu selekcionog bita za

multiplekser. Slučaj kada nema jedinica na ulazu u koder kodovati izlazom koji je jednak nuli (sve nule)

bez dodatnih bita validnosti izlaza kodera. Uzeti da prioritet imaju biti sa većim indeksom.

Izlaz oRESULT predstavlja izlaz multipleksera.

Ulaz Izlaz

00000 00000 000

00001 00010 000

00010 00100 000

00011 00110 000

00100 01000 000

00101 01010 000

00110 01100 000

00111 01110 000

01000 10000 000

01001 10010 000

01010 10100 000

01011 10110 000

01100 11000 000

01101 11010 000

01110 11100 000

01111 11110 000

10000 00000 000

10001 00010 000

10010 00100 000

10011 00110 000

10100 01000 000

10101 01010 000

10110 01100 000

10111 01110 000

11000 10000 000

11001 10010 000

11010 10100 000

11011 10110 000

11100 11000 000

11101 11010 000

11110 11100 000

11111 11110 000 Tabela 1 – Funkcija F(x)

Page 3: selekcija za multiplekser. M u x oR E S U L T [ 7 : 0] P r ...Zadatak – Grupa 1 2018/19 3 Sistem simulirati pokrivanjem sledeća 4 slučaja: Pokriti slučaj gde se nakon operacije

Zadatak – Grupa 1 2018/19

3

Sistem simulirati pokrivanjem sledeća 4 slučaja:

Pokriti slučaj gde se nakon operacije dekodovanja na izlazu iz sistema nalazi vrednost 0x20,

Pokriti slučaj gde se nakon operacije F(x) na izlazu iz sistema nalazi vrednost 0xC0,

Pokriti slučaj gde se nakon operacije komplementiranja na izlazu iz istema nalazi vrednost 0xAB,

Pokriti slučaj gde se nakon operacije aritmetičkog pomeranja na izlazu iz sistema nalazi vrednost 0xF8.

Dodatne napomene za izradu zadatka:

Svaku komponentu realizovati kao blok / kombinacioni proces za sebe. Nemojte ceo sistem

implementirati u okviru jednog procesa.

Komentarisati kod – navesti naziv svake komponente.

Broj na žici predstavlja broj bita.

ZADATAK 2 (10 bodova)

U VHDL jeziku za opis digitalnih sistema opisati i simulirati digitalni sistem prikazan na slici.

Ulazi digitalnog sistema:

iCLK – signal takta, podrazumevan u svakoj sekvencijalnoj mreži

inRST – reset signal koji je asinhron i aktivan na niskom naponskom nivou, podrazumevan u svakoj

sekvencijalnoj mreži

iLOAD – signal dozvole za paralelni upis u pomerački registar, koji istovremeno služi i kao signal

dozvole za proveru parnosti broja

iD [7:0] – osmobitni podatak koji se upisuje u pomerački registar i nad kojim se vrši provera

Izlazi digitalnog sistema:

oONES [7:0] – izlaz iz brojača jedinica koji nam saopštava koliko puta se cifra ‘1’ pojavila u podatku iD,

oEVEN [2:0] – izlaz iz brojača parnih brojeva koji govori koliko je parnih brojeva bilo na ulazu,

oODD [2:0] – izlaz iz brojača neparnih brojeva koji govori koliko je neparnih brojeva bilo na ulazu.

Opis sistema:

Ulaz iLOAD daje dozvolu pomeračkom registru da preuzme vrednost iD. Sve dok je ovaj ulaz na

visokom naponskom nivou pomerački registar će preuzimati vrednost iD. Kada iLOAD nije na visokom

naponskom nivou, pomerački registar pomera svoj sadržaj logički u desno za jedno mesto. Bit

najmanje težine (LSB) se prosleđuje u brojač jedinica. Posle 8 taktova bi sve cifre trebale biti

prosleđene brojaču.

Brojač jedinica treba da evidentira svaku jedinicu koja mu je prosleđena od strane pomeračkog

registra. Npr. ako je iD = “1100 1010“, tada će brojač jedinica izbrojati do 4. Ako u sledećem slučaju iD

bude “0000 1010“, brojač će imati vrednost 6 (2 za trenutni broj i 4 za prethodni).

Blok za proveru parnosti treba da radi samo kada je iLOAD na visokom naponskom nivou. U tom

trenutku proverava da li je broj koji se nalazi na ulazu iD paran ili neparan. Ukoliko je broj paran,

obaveštava brojač parnih brojeva da treba da uveća svoju vrednost, a na ulaz brojača neparnih

brojeva šalje logičku 0 kako taj brojač ne bi brojao. U slučaju da je iLOAD na niskom naponskom

nivou, blok prosleđuje 0 na oba brojača.

Page 4: selekcija za multiplekser. M u x oR E S U L T [ 7 : 0] P r ...Zadatak – Grupa 1 2018/19 3 Sistem simulirati pokrivanjem sledeća 4 slučaja: Pokriti slučaj gde se nakon operacije

Zadatak – Grupa 1 2018/19

4

Brojači parnih i neparnih brojeva uvećavaju svoj sadržaj svaki put kada se na ulazu pojavi paran

odnosno neparan broj.

Pomerački

registar

iLOAD

Brojač jedinica

Provera

parnosti

Brojač parnih

brojeva

Brojač neparnih

brojeva

iD[7:0]oONES[7:0]

iLOAD

iD[7:0]

sDATA

oEVEN[2:0] oODD[2:0]

sEVEN sODD

en

en

en

en en

Slika 2 – Arhitektura sistema

Sistem simulirati na sledeći način:

Potrebno je menjati iLOAD i iD na takav način da na kraju budu ukupno 2 parna i 3 neparna broja koja

zajedno imaju tačno 15 jedinica. Drugim rečima, na kraju simulacije oEVEN treba da ima vrednost 2,

oODD 3 a oONES 15.

Imajte na umu da kada se učita broj u pomerački registar, da je potrebno 8 ciklusa takta da brojač

jedinica “stigne” da prebroji sve jedinice. Ovo će uticati na dužinu čekanja prilikom pravljenja test

bench-a.

Dodatne napomene za izradu zadatka:

Svaku komponentu realizovati kao blok / kombinacioni proces za sebe. Nemojte ceo sistem

implementirati u okviru jednog procesa.

Komentarisati kod – navesti naziv svake komponente.

Broj na žici predstavlja broj bita.

Pod pojmom parnost se misli da li je broj paran (deljiv sa 2) ili neparan (daje ostatak 1 prilikom

deljenja sa 2). Pod pojmom parnost se NE misli na paritet (eng. parity).