Operatori izvode operaciju na jednom ili više operanda unutar izraza. Izraz kombinira operande s odgovarajućim operatorima kako bi proizveo željeni funkcionalni izraz.
1. Aritmetički operatori
Za FPGA, dijeljenje i množenje su vrlo skupi, a ponekad ne možemo sintetizirati dijeljenje. Ako koristimo Z ili X za vrijednosti, rezultat je nepoznat. Operacije tretiraju vrijednosti kao nepredznačene.
| Lik | Operacija obavljena | Primjer |
| + | Dodati | b + c = 11 |
| - | Oduzmi | b - c = 9, -b = -10 |
| / | Podijeliti | b/a = 2 |
| * | Pomnožiti | a * b = 50 |
| % | Modul | b % a = 0 |
2. Bitovi operatori
Sa svakim bitom se radi, rezultat je veličina najvećeg operanda, a manji operand ostaje proširen s nulama na veličinu većeg operanda.
| Lik | Operacija obavljena | Primjer |
| ~ | Invertirajte svaki bit | ~a = 3'b010 |
| i | I svaki zalogaj | b & c = 3'b010 |
| | | Ili svaki bit | a | b = 3'b111 |
| ^ | Xor svaki bit | a ^ b = 3'b011 |
| ^~ ili ~^ | Xnor svaki bit | a ^~ b = 3'b100 |
3. Operatori redukcije
Ovi operatori svode vektore na samo jedan bit. Ako postoje znakovi z i x, rezultat može biti poznata vrijednost.
| Lik | Operacija obavljena | Primjer |
| i | I svi komadići | &a = 1'b0, &d = 1'b0 |
| ~& | Nand sve bitove | ~&a = 1'b1 |
| | | Ili sve dijelove | |a = 1'b1, |c = 1'bX |
| ~| | Ni sve dijelove | ~|a= 1'b0 |
| ^ | Xor sve bitove | ^a = 1'b1 |
| ^~ ili ~^ | Xnor svi bitovi | ~^a = 1'b0 |
4. Relacijski operatori
Ovi operatori uspoređuju operande i rezultiraju 1-bitnom skalarnom Booleovom vrijednošću. Operatori jednakosti i nejednakosti mogu se koristiti za nepoznate ili visoke vrijednosti impedancije (z ili x), a ako su dva operanda nepoznata, rezultat je 1.
| Lik | Operacija obavljena | Primjer |
| > | Veći od | a > b = 1'b0 |
| < | Manji od | a |
| >= | Veće ili jednako | a >= d = 1'bX |
| <=< td> | Manji od ili jednak | a<= e='1'bX</td'> => | =<>
| == | Jednakost | a == b = 1'b0 |
| != | Nejednakost | a != b = 1'b1 |
| === | Jednakost padeža | e === e = 1'b1 |
| !=== | Nejednakost slučajeva | i !== d = 1'b1 |
5. Logički operatori
Ovi operatori uspoređuju operande i rezultiraju 1-bitnom skalarnom Booleovom vrijednošću.
| Lik | Operacija obavljena | Primjer |
| ! | Nije istina | !(a && b) = 1'b1 |
| && | Oba izraza istinita | a && b = 1'b0 |
| || | Jedan ili oba izraza istinita | i || b = 1'b1 |
6. Operatori pomaka
Ovi operatori pomiču operande udesno ili ulijevo, veličina ostaje konstantna, pomaknuti bitovi se gube, a vektor se ispunjava nulama.
nedostaci vezani uz internet
| Lik | Operacija obavljena | Primjer |
| >> | Pomak udesno | b >> 1 rezultata 4?b010X |
| << | Pomak ulijevo | a << 2 rezultata 4?b1000 |
7. Operatori dodjele
Postoje tri operatora dodjele, od kojih svaki obavlja različite zadatke i koriste se s različitim tipovima podataka:
- dodijeliti (kontinuirana dodjela)
- <= (non-blocking assignment)< li>
- = (dodjela blokiranja) =>
8. Ostali operateri
Ovo su operatori koji se koriste za testiranje uvjeta i stvaranje vektora.
| Lik | Operacija obavljena | Primjer |
| ?: | Ispitivanje uvjeta | test kond. ? ako je istina učinite ovo ili ako nije učinite ovo |
| {} | Spojiti | c = {a,b} = 8'101010x0 |
| {{}} | Ponoviti | {3{2'b10}}= 6'b101010 |
9. Prioritet operatora
Redoslijed u tablici govori koja se operacija izvodi prva. Prvi ima najveći prioritet. () se može koristiti za nadjačavanje zadane vrijednosti.
| Prioritet operatora |
|---|
| +, -, !, ~ (unarni) |
| +,- (binarni) |
| <> |
| ,= |
| ==, != |
| i |
| ^, ^~ ili ~^ |
| | |
| && |
| || |
| ?: |