FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
31

Acesta este cel mai des întâlnit mod de utilizare a apostrofului, însă, un semnal, în funcție de tipul său,
poate avea diferite atribute. De exemplu, un alt atribut destul de folosit este LENGTH, acesta fiind utilizat la
semnale de tip array. Deoarece celelalte atribute nu sunt foarte utilizate în codul VHDL, nu trebuie insistat
prea mult pe acest subiect.


Pentru codul complet ce include și definirea entității, puteți accesa anexa la subcapitolul ff.vhd. Tot în
anexă se poate găsi și codul pentru testare la subcapitolul testB_ff.vhd. În urma rulării simulării
comportamentale (Behavioral simulation) se obține următorul rezultat:


Figura 37: Funcționalitatea unui bistabil

Aici se poate observa că semnalul D va copia valoarea de la intrarea Q doar atunci când apare front
crescător pe CLK.


5.2. Extinderea bistabilului la un registru


O definiție scurtă a unui registru este aceea că este o grupare de bistabili utilizați în paralel ce
funcționează pe același clock.


Pentru extinderea unui bistabil la un registru cu număr variabil de bistabili, în entitate trebuie definit un
parametru generic, numit ‘data_width’, parametru ce se utilizează pentru a determina numărul de biți de la
intrare și de la ieșire. Atât codul registrului, cât și codul utilizat pentru simulare poate fi copiat direct din
anexa de la subcapitolele reg.vhd, respectiv testB_reg.vhd. În simulare se poate vedea faptul că data de
ieșire este actualizată doar atunci când apare front pozitiv al semnalului ‘clk’.


Fig. 38: Formele de undă de la simularea unui registru

5.3. Implementarea unui numărător


Un numărător, așa cum îi spune și numele, numără. Acesta poate să numere crescător sau
descrescător, să îi fie impusă o anumită valoare maximă, dar poate îndeplini și alte multe funcții, însă acesta
trebuie adaptat în funcție de aplicația la care este utilizat. Ca de exemplu va fi dat un numărător simplu a
cărui valoare se va reseta când pinul de reset R va fi setat. O altă funcționalitate a acestui numărător este
aceea că numără doar atunci când pinul CE (Clock Enable) va fi setat.
Simbolul unui astfel de numărător este următorul:


Fig. 39: Simbolul unui numărător
Free download pdf