Sunteți pe pagina 1din 2

Test 2 CID

Timp de lucru: 2h
Scurta descriere: Circuitul reprezinta o posibila incuietoare cu parola configurabila.
Cerinta: 1.Realizati circuitului din figura:
Atentie! Conectati CLOCK si HARD_RESET la toate modulele care au aceste 2 intrari.
Atentie! Daca vreti sa realizati si pinplanerul folositi placa 5CSEMA5F31C6 cand faceti proiectul.

Fig.1
Descriere module:
Counter1: este un numar pe 2 biti, cu un reset asincron hard_reset activ in ‘0’ si un reset sincron activ in1.
Comp: este un comparator care activeaza iesirea(o seteaza in val logica ‘1’) daca valoarea lui counter1 este
egala cu 2, in rest are iesirea inactiva(0).
Counter2: contine un numerator pe 2 biti, cu un reset asincron hard_reset activ in ‘0’ si enable activ in 1.
Modulul are 2 iesiri: valoarea curenta a numaratorului si enable_out. Cand numaratorul ajunge la valoare
maxima, aceasta isi pastreaza valoarea si seteaza in ‘1’ iesirea enable_out.
Memorie: este o memorie cu 4 locatii de memorie a cate 4 biti fiecare.Fiecare locatie de memorie reprezinta
un “cuvant” din parola configurata.Atunci cand primeste we(write enable), se scrie la adresa write_addr
valoarea data_in. Tot timpul pe iesirea data_out se va afla intreaga parola(toti cei16 biti ai memoriei)(citire
asincrona).
Automat: Automatul functioneaza doar daca primeste enable. Odata pornit aceasta are rolul de a verifica daca
parola introdusa de utilizator este aceeasi cu cea stocata in memorie. Utilizatorul introduce pe data_in fiecare
4 biti din parola. Pentru a se efectua verificarea dintre data introdusa si cea stocata in memorie aceasta apasa
butonul btn_valid(activ in 0).
Iesirile din automat sunt: succ(success) si en_rom. Succ este setat in ‘1’ doar in cazul in care parola a fost
introdusa corect. En_rom este setat in doua cazuri: daca utilizatorul a introdus parola corecta sau daca
utilizatorul a introdus parola gresita.(automatul a ajuns in starea S6 sau Eroare).

Fig.2
In orice stare se afla automat, daca egalitatea NU are loc automatul va ajunge direct in starea de EROARE!
Din starile finale S6 sau Eroare automatul iese doar la Hard Reset!
Output_decoder: modul care controleaza afisajul pe 7 segment. Daca en_rom este ‘0’ atunci pe display se
afiseaza ‘0’. Daca en_rom este ‘1’ atunci: daca succ este 1 pe display apare litera S, iar daca succ este 0 pe
display apare litera F.
2. Instantiati modulele de mai sus intr-un modul top.v. Realizati un modul de test(testbench) pentru
modulul de top urmarind doua aspecte :
a) setati parola in memorie; ( Atentie la WE si WRITE_ADDR memoriei. La cate perioade de
ceas se modifica ele?)
b) introduceti parola pentru a fi verificata de automat.
3. Realizati Pin Plannerul conform detaliilor de pe Fig1.
Punctaje :
1. Module : Counter1(1.5p), Comp(1.5p), Counter2(2p), Counter3(2p), Memorie(5p), Automat(5p),
Output_decoder1(1p), Output_decoder2(2p), TOP(3pct)
2. Modul de test : 3p + setari tb si captura cu simulare corecta (2p)
3. Pin planner : 2p
Studentii vor realiza o singura arhiva care sa contina proiectul realizat si captura ecranului.
CAPTURA VA FI FACUTA PE TOT ECRANUL! STUDENTII CARE NU TRIMIT ARHIVA CU PROIECT(ci doar module)
VOR PRIMI DOAR JUMATATE DIN PUNCTAJUL OBTINUT.

S-ar putea să vă placă și