3.Epresii si operatori

Iata lista operatorilor din VHDL in ordinea descrescatoare a precedentei

** abs not

* / mod rem

+(unar) -(unar)

+ - &

= /= < <= > >=

and or nand nor xor

Operatorii logici AND, OR, NAND, NOR, XOR si NOT opereaza pe valori de tip bit sau boolean si pe vectori (tablouri unidimensionale) de aceste tipuri. Operatiile pe vectori se aplica intre elementele corespondente ale fiecarui vector, rezultatul fiind tot un vector.

Operatorii relationali =, /=, < , < =, > si > = se aplica pe operanzi de acelasi tip si au ca rezultat o valoare booleana. Operatorii de egalitate (= si /=) permit operanzi de orice fel de tip. Ceilalti operatori permit numai operanzi de tip scalar sau vectori uni-dimensionali de tip discret. Operatorii + si - (unari sau binari) au semnificatia uzuala pentru operanzi numerici. Operatorul de concatenare (&) se aplica pe vectori, rezultatul fiind un nou vector format din alipirea celor doi vectori operanzi. Se pot concatena un element si un vector, sau doua elemente care prin concatenare formeaza un nou vector de dimensiune 2. '

Operatorii de inmultire si impartire (* si /) lucreaza pe numere intregi, reale si operanzi de tip fizic. Operatorii cit si rest (MOD si REM) lucreaza numai pe tipuri intregi. Operatorul valoare absoluta (ABS) lucreaza cu operanzi de orice tip. Operatorul ridicare la putere (**) poate avea un intreg sau un real in partea stinga, dar trebuie sa aiba neaparat un intreg in partea dreapta. Un exponent negativ a permis numai daca operandul din partea stinga a tip real.