FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
15

În entitate se definește interfața componentei. Aici se găsesc porturile de intrare / ieșire și tipul lor.
Conexiunile între componente vor putea fi realizate dacă tipurile și dimensiunile semnalelor de intrare /
ieșire vor fi respectate.


În arhitectură definim comportamentul ce va trebui să îl aibă componenta respectivă, dar și semnalele
ce ne ajută să definim acel comportament.


Tipul de date STD_LOGIC este un standard definit în biblioteca IEEE.STD_LOGIC_1164. Acest tip de date
este utilizat pentru definirea datelor ce rețin un singur bit. Datele de tip STD_LOGIC pot lua următoarele
valori [https://www.cs.sfu.ca/~ggbaker/reference/std_logic/1164/std_logic.html]



  • ‘U’ : neinițializat (Uninitialized)

  • ‘X’ : valoare necunoscută. Nu poate fi determinată valoarea

  • ‘0’ : 0 logic

  • ‘1’ : 1 logic

  • ‘Z’ : înaltă impedanță

  • ‘W’ : semnal slab însă necunoscut (Weak signal)

  • ‘L’ : semnal slab care probabil tinde să meargă către 0 logic (Low signal)

  • ‘H’ : semnal slab care probabil tinde să meargă către 1 logic (High signal)

  • ‘-‘ : Nu contează valoarea (Don’t care)


Cu toate că acest tip de date oferă o gamă așa de largă de valori, în realitate, datele utilizate în interiorul
FPGA-ului sunt doar de tipul ‘0’ și ‘1’ logic, celelalte fiind utilizate mai mult la simulare.


Tot în această bibliotecă există tipul de date STD_LOGIC_VECTOR, acesta fiind folosit atunci când se
dorește a se utiliza o anumită dată pe mai mulți biți.


Astfel, dacă dorim ca în loc de S0 și S1 să avem un singur port pe doi biți cu numele S și în loc de Y0, Y1,
Y2 si Y3 să avem un singur port pe 4 biți cu numele Y, entitatea anterioară va putea fi scrisă utilizând
următorul cod:


➔ Aici se vede înlocuirea lui S cu un
vector de 2 biți și Y cu un vector de 4 biți

➔ Accesul la biții din vector se face
utilizând paranteza rotundă
Free download pdf