Operátory vykonávajú operáciu na jednom alebo viacerých operandoch vo výraze. Výraz kombinuje operandy s vhodnými operátormi na vytvorenie požadovaného funkčného výrazu.
1. Aritmetické operátory
Pre FPGA je delenie a násobenie veľmi drahé a niekedy delenie nedokážeme syntetizovať. Ak pre hodnoty použijeme Z alebo X, výsledok nie je známy. Operácie považujú hodnoty za nepodpísané.
| Charakter | Operácia vykonaná | Príklad |
| + | Pridať | b + c = 11 |
| - | Subtrac | b - c = 9, -b = -10 |
| / | Rozdeliť | b/a = 2 |
| * | Vynásobte | a * b = 50 |
| % | Modul | b % a = 0 |
2. Bitové operátory
Každý bit je prevádzkovaný, výsledkom je veľkosť najväčšieho operandu a menší operand je ponechaný rozšírený o nuly na veľkosť väčšieho operandu.
| Charakter | Operácia vykonaná | Príklad |
| ~ | Invertujte každý bit | ~a = 3'b010 |
| & | A každý kúsok | b a c = 3'b010 |
| | | Alebo každý kúsok | a | b = 3'b111 |
| ^ | Xor každý bit | a ^ b = 3'b011 |
| ^~ alebo ~^ | Xnor každý bit | a ^~ b = 3'b100 |
3. Operátori zníženia
Tieto operátory redukujú vektory iba na jeden bit. Ak existujú znaky z a x, výsledkom môže byť známa hodnota.
| Charakter | Operácia vykonaná | Príklad |
| & | A všetky kúsky | &a = 1'b0, &d = 1'b0 |
| ~& | Nand všetky kúsky | ~&a = 1'b1 |
| | | Alebo všetky kúsky | |a = 1'b1, |c = 1'bX |
| ~| | Ani všetky kúsky | ~|a= 1'b0 |
| ^ | Xor všetky bity | ^a = 1'b1 |
| ^~ alebo ~^ | Xnor všetky bity | ~^a = 1'b0 |
4. Vzťahoví operátori
Tieto operátory porovnávajú operandy a výsledkom je 1-bitová skalárna booleovská hodnota. Operátory rovnosti a nerovnosti prípadu možno použiť pre neznáme alebo vysoké hodnoty impedancie (z alebo x), a ak sú tieto dva operandy neznáme, výsledkom je 1.
| Charakter | Operácia vykonaná | Príklad |
| > | Väčší než | a > b = 1'b0 |
| < | Menšia než | a |
| >= | Väčšie alebo rovné | a >= d = 1'bX |
| <=< td> | Menšie alebo rovnaké | a<= e='1'bX</td'> => | =<>
| == | Rovnosť | a == b = 1'b0 |
| != | Nerovnosť | a != b = 1'b1 |
| === | Rovnosť prípadov | e === e = 1'b1 |
| !=== | Prípadová nerovnosť | a !== d = 1'b1 |
5. Logické operátory
Tieto operátory porovnávajú operandy a výsledkom je 1-bitová skalárna booleovská hodnota.
| Charakter | Operácia vykonaná | Príklad |
| ! | Nepravda | !(a && b) = 1'b1 |
| && | Oba výrazy sú pravdivé | a && b = 1'b0 |
| || | Jeden alebo oba výrazy sú pravdivé | a || b = 1'b1 |
6. Operátori zmien
Tieto operátory posúvajú operandy doprava alebo doľava, veľkosť sa udržiava konštantná, posunuté bity sa strácajú a vektor je vyplnený nulami.
skener v jave
| Charakter | Operácia vykonaná | Príklad |
| >> | Shift doprava | b >> 1 výsledky 4?b010X |
| << | Shift doľava | a << 2 výsledky 4?b1000 |
7. Operátori pridelenia
Existujú tri operátory priradenia, z ktorých každý vykonáva iné úlohy a používa sa s rôznymi typmi údajov:
- priradiť (priebežné priraďovanie)
- <= (non-blocking assignment)< li>
- = (blokovanie úlohy) =>
8. Iní prevádzkovatelia
Sú to operátory používané na testovanie stavu a na vytváranie vektorov.
| Charakter | Operácia vykonaná | Príklad |
| ?: | Testovanie podmienok | skúšobná podmienka ? ak je pravda, urobte toto alebo ak nie, urobte toto |
| {} | zreťaziť | c = {a,b} = 8'101010x0 |
| {{}} | Replikovať | {3{2'b10}}= 6'b101010 |
9. Prednosť operátorov
Poradie tabuľky hovorí, ktorá operácia sa vykoná ako prvá. Prvý z nich má najvyššiu prioritu. Znak () možno použiť na prepísanie predvoleného nastavenia.
| Prednosť operátorov |
|---|
| +, -, !, ~ (unárne) |
| +,- (binárne) |
| <> |
| ,= |
| ==, != |
| & |
| ^, ^~ alebo ~^ |
| | |
| && |
| || |
| ?: |