20
3.5. Parametrii generici
Această componentă poate fi generalizată utilizând niște parametri ce vor fi adăugați în entitate, înainte
de porturi, după cum urmează: [https://www.ics.uci.edu/~jmoorkan/vhdlref/generics.html]
În acest cod se poate observa parametrul generic SEL_WIDTH ce reprezintă dimensiunea, în biți, a
semnalului S. Se știe faptul că semnalul Y are dimensiunea calculată după formula 2 la puterea SEL_WIDTH,
iar aici operatorul putere este **. Astfel, când se va dori modificarea dimensiunii semnalului de selecție (și,
implicit dimensiunea semnalului de intrare), va trebui modificat doar parametrul generic SEL_WIDTH.
O altă noutate în acest cod este utilizarea operatorului de inițializare ‘:=”, care are același rol descris în
partea de simulare, și anume inițializează parametrul generic SEL_WIDTH. Acesta fiind deja inițializat, mai
departe, utilizarea parametrilor generici este opțională, valoarea implicită fiind cea de la inițializare.
Avantajul major al parametrilor generici este acela că, într-un proiect, putem avea nevoie de mai multe
componente de același tip, însă unele componente pot avea dimensiuni diferite. În exemplul dat, aceeași
componentă a acestui multiplexor poate fi utilizată de câte ori este nevoie, chiar dacă semnalul selectat este
de dimensiune diferită. Dând un alt exemplu mai des întâlnit, se poate întâmpla să avem nevoie de două
comunicații SPI, una pe 8 biți și cea de-a doua pe 16 biți. Astfel se poate utiliza aceeași componentă SPI în
care parametrul generic este modificat conform cerințelor.
3.6. Record
Record este o construcție similară cu structura din limbajul C. Se utilizează pentru crearea diferitor tipuri
de date și pentru a simplifica porturile. Doar amintim despre acest cuvânt-cheie și nu insistăm prea mult pe
detalii deoarece, în proiecte mici, de obicei nu se utilizează.