Documente Academic
Documente Profesional
Documente Cultură
Laborator 4
Verilog HDL
Modelarea circuitelor digitale complexe
Introducere
Proiectarea unui sistem digital poate duce la o soluie de dimensiuni semnificative
funcie de cerinele de proiectare (i.e., specificaii). Complexitatea unei soluii const n:
Semnale de control
Intrri (externe)
Unitate (cale)
de control
Semnale de stare
Unitate (cale)
de date
Ieire de date
Laborator 4
Exerciii
1. Completai implementarea automatului propus la curs pentru monitorizarea
comunicaiei dintre dou sisteme. O schi a implementrii se afl pe pagina Moodle a
disciplinei (fiierul fsm.v).
2.
Hint: Pentru rezolvarea acestui exerciiu trebuie scris un scenariu de verificare potrivit
n fiierul testbench. Intrrile automatului trebuie s ia o secven de valori potrivite
pentru a conduce automatul n strile indicate!
3. S se implementeze urmtoarea cale de date (prezentat n figura de mai jos) a unui
sistem digital complex. Calea de date este alctuit din urmtoarele elemente:
4 registre de date (R0, R1, R2, R3) a cte 32 de bii fiecare; registrele pot fi
resetate i ncrcate cu o valoare (i.e., au semnale de comand pentru operaiile
de reset i de ncrcare paralel); aceste registre sunt circuite secveniale
sincrone (i.e., au semnal de clock), iar operaiile de reset i ncrcare paralel
sunt sincrone cu semnalul de clock.
Semnalele de intrare marcate cu rou sunt generate de ctre calea de control (vezi
problemele urmtoare). Semnalele marcate cu albastru sunt semnale de ieire i sunt
legate la calea de control pentru evaluarea condiiilor pe care le reprezint. Semnalul
data marcat cu verde este generat din exterior i poate fi folosit pentru a scrie valori
oarecare n registrele cii de date (e.g., la iniializare).
Hint: calea de date prezentat n figur ar putea avea urmtoarea interfa:
module data_path(clk, res,
asel, bsel, alusel, wdata, data, wen, wsel,
az, bz, eq);
Laborator 4
res
pl
asel
0
1
== 0
MUXA
res
pl
2
3
data
az
din[31:0]
DCD
wen
2
bsel
res
pl
din[31:0]
datasel
== 0
MUXB
2
3
res
pl
MUXD
0
1
wsel
bz
XOR
NAND
NOT
<<1
>>1
MUX
==
eq
alusel
R1 0
2
asel
bsel
alusel
datasel
data
wen
wsel
asel
bsel
alusel
datasel
data
wen
wsel
operaie
asel
bsel
alusel
datasel
data
wen
wsel
R0 1
3
Laborator 4
operaie
asel
bsel
alusel
datasel
data
wen
wsel
operaie
R1 = R3 R2
asel
bsel
alusel
datasel
data
wen
wsel
operaie
R3 = 8 * R0
asel
bsel
alusel
datasel
data
wen
wsel
operaie
R3 = R3 + 1
asel
bsel
alusel
datasel
data
wen
wsel
operaie
R3 = R2 + R1 + R0
asel
bsel
alusel
datasel
data
wen
wsel
operaie
R3 = R2 * R1
asel
bsel
alusel
datasel
data
wen
wsel
R0 = -R2
6. S se implementeze o cale de control (FSM, vezi figura de mai jos) pentru calea de
date prezentat la exerciiul 3.
az
bz
eq
res
FSM
asel bsel alusel wen wsel datasel
Laborator 4
Observaie
Operaia de multiplicare se poate realiza (n binar) prin adunri i/sau deplasri
repetate aa cum este prezentat n exemplul urmtor. Aceast variant este (mult) mai eficient
dect varianta cu adunri repetate.
1010 x
1011
---1010
1010
0000
1010
------1101110
adunare
deplasare i adunare
deplasare
deplasare i adunare