FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
19

(c) (d)

În figura (a) este prima implementare, acest cod fiind cel mai apropiat de implementarea cu porți logice.
În figura (b) se utilizează o construcție de tip with/when. Aici semanlul de ieșire va copia tot timpul valorile
biților semnalului Y în funcție de S. Același lucru se întâmplă și în cazurile implementărilor din figurile (c) și
(d). O altă implementare ar fi putut fi făcută tot cu proces, ca în cazul codului folosit în figura (d), însă, în loc
de case, s-ar fi putut utiliza construcții de tipul IF / ELSE.


Noutatea ce apare în figura (d) reprezintă parametrii (s, y) de la proces. De fapt, aceștia nu sunt
parametri,
ci fac parte din lista de senzitivități , astfel, procesul respectiv este activat doar atunci când apare
o modificare pe oricare dintre semnalele S sau Y. De regulă, în această listă apar doar semnalele de clock,
însă, după cum se poate vedea, poate implementa de asemenea cu succes și componente asincrone,
combinaționale. [https://www.ics.uci.edu/~jmoorkan/vhdlref/process.html]


3.4. Bucla FOR


O altă metodă de implementare ar fi utilizarea unei construcții de tip FOR. Aceasta este benefică
deoarece ne poate ajuta la o eventuală generalizare a componentei.
[https://www.ics.uci.edu/~jmoorkan/vhdlref/for_loop.html]


Pentru exemplificare se va implementa același multiplexor cu 4 intrări, două linii de selecție și o ieșire:

➔ În partea de sus a proiectului trebuie adăugată
biblioteca respectivă pentru a putea realiza construcții de
tip IF

➔ Aici se utilizează o buclă de la 0 la 3, adică se
realizeaza 4 operații. În această buclă se realizează
interogarea: “dacă semnalul de selecție este egal cu ‘i’,
atunci q va lua valoarea lui y(i). Dacă aici îi dăm valori lui ‘i’
de la 0 la 3, atunci va fi generat un cod similar cu cel din
figura (d).

! Mare atenție: În VHDL, bucla FOR este total diferită decât în programare. Aceasta nu este executată
serial, ci paralel. Astfel, toate operațiile aflate sub FOR vor rula în același timp.

Free download pdf