16
Determinarea dimensiunii unui semnal de tip STD_LOGIC_VECTOR este realizată utilizând cuvintele
cheie downto sau to. Astfel, semnalul S este definit ca fiind de la 1 la 0. De asemenea, acesta ar fi putut fi
definit și de la 0 la 1 astfel:
s : in STD_LOGIC_VECTOR (0 to 1 );
În codul de mai sus apare simbolul de atribuire “<=” (!Atenție: acesta nu este un operator, ci, pur și
simplu, un simbol). Utilizând acest simbol, semnalul aflat în partea stângă va lua valoarea semnalului aflat în
partea dreaptă a simbolului (sau, în cazul în care în partea dreaptă a simbolului sunt niște operații, atunci
acesta va lua valoarea rezultatului operațiilor ce se efectuează în partea dreaptă a simbolului).
[https://www.nandland.com/vhdl/examples/example-assignment- operators.html]
INFO: Alți operatori logici cu care pot fi implementate porți logice sunt următorii: NAND, NOR, XOR și
XNOR. [https://www.csee.umbc.edu/portal/help/VHDL/operator.html]
3.2. Simularea în Vivado
După ce se creează o componentă în VHDL, este de preferat să se creeze și fișier de test pentru această
componentă. Acest lucru se poate face tot în Vivado, urmând niște pași similari cu pașii de la crearea
componentei:
- În fereastra Source se dă click dreapta și se alege opțiunea Add sources.
- Apare fereastra Add Sources, în care se selectează Add or create Simulation Sources.
- În fereastra ce s-a deschis se apasă butonul Create files.
- În fereastra Create Source File se adaugă numele fișierului în câmpul File name, și anume
“testB_mux”, apoi se apasă butonul OK. - În fereastra Add or create simulation sources se apasă butonul Finish.
- Apare fereastra define module, unde se apasă direct butonul OK, deoarece în fișierele de
test (denumite în limba engleză Test Bench) nu avem nevoie de porturi de intrare / ieșire.
Codul generat este simplu, are o entitate fără porturi, iar arhitectura este goală, fără nici un cod.