Оператори изводе операцију на једном или више операнда унутар израза. Израз комбинује операнде са одговарајућим операторима да би произвео жељени функционални израз.
1. Аритметички оператори
За ФПГА, дељење и множење су веома скупи, а понекад не можемо синтетизовати дељење. Ако користимо З или Кс за вредности, резултат је непознат. Операције третирају вредности као неозначене.
| карактер | Операција обављена | Пример |
| + | Додати | б + ц = 11 |
| - | Субтрац | б - ц = 9, -б=-10 |
| / | Подела | б / а = 2 |
| * | Помножите | а * б = 50 |
| % | Модул | б % а = 0 |
2. Битвисе оператори
Сваки бит се оперише, резултат је величина највећег операнда, а мањи операнд остаје проширен нулама до величине већег операнда.
| карактер | Операција обављена | Пример |
| ~ | Окрените сваки бит | ~а = 3'б010 |
| & | И сваки део | б & ц = 3'б010 |
| | | Или сваки део | а | б = 3'б111 |
| ^ | Ксор сваки бит | а ^ б = 3'б011 |
| ^~ или ~^ | Кснор сваки бит | а ^~ б = 3'б100 |
3. Оператери редукције
Ови оператори смањују векторе на само један бит. Ако постоје знакови з и к, резултат може бити позната вредност.
| карактер | Операција обављена | Пример |
| & | И све делове | &а = 1'б0, &д = 1'б0 |
| ~& | Нанд све битове | ~&а = 1'б1 |
| | | Или све делове | |а = 1'б1, |ц = 1'бКс |
| ~| | Нити све делове | ~|а= 1'б0 |
| ^ | Ксор све битове | ^а = 1'б1 |
| ^~ или ~^ | Кснор сви битови | ~^а = 1'б0 |
4. Релациони оператори
Ови оператори упоређују операнде и резултирају 1-битном скаларном Буловом вредношћу. Оператори једнакости и неједнакости могу се користити за непознате или високе вредности импедансе (з или к), а ако су два операнда непозната, резултат је 1.
| карактер | Операција обављена | Пример |
| > | Веће од | а > б = 1'б0 |
| < | Мањи од | а |
| >= | Веће или једнако | а >= д = 1'бКс |
| <=< td> | Мање или једнако | а<= e='1'bX</td'> => | =<>
| == | Једнакост | а == б = 1'б0 |
| != | Неједнакост | а != б = 1'б1 |
| === | Једнакост падежа | е === е = 1'б1 |
| !=== | Падежна неједнакост | и !== д = 1'б1 |
5. Логички оператори
Ови оператори упоређују операнде и резултирају 1-битном скаларном Буловом вредношћу.
| карактер | Операција обављена | Пример |
| ! | Није истина | !(а && б) = 1'б1 |
| && | Оба израза су тачна | а && б = 1'б0 |
| || | Један или оба израза тачна | и || б = 1'б1 |
6. Оператери смена
Ови оператори померају операнде удесно или улево, величина се одржава константном, померени битови се губе, а вектор је испуњен нулама.
где су подешавања претраживача
| карактер | Операција обављена | Пример |
| >> | Схифт десно | б >> 1 резултати 4?б010Кс |
| << | Схифт лево | а << 2 резултати 4?б1000 |
7. Оператери доделе
Постоје три оператора додељивања, од којих сваки обавља различите задатке и користи се са различитим типовима података:
- доделити (континуирани задатак)
- <= (non-blocking assignment)< li>
- = (задатак блокирања) =>
8. Други оператери
Ово су оператори који се користе за тестирање услова и за креирање вектора.
| карактер | Операција обављена | Пример |
| ?: | Испитивање услова | тест конд. ? ако је истина уради ово или ако не уради ово |
| {} | Спојити | ц = {а,б} = 8'101010к0 |
| {{}} | Реплицате | {3{2'б10}}= 6'б101010 |
9. Приоритет оператера
Редослед табеле говори која се операција прва изводи. Први има највећи приоритет. () се може користити за замену подразумеваног.
| Приоритет оператера |
|---|
| +, -, !, ~ (унарно) |
| +,- (бинарни) |
| <> |
| ,= |
| ==, != |
| & |
| ^, ^~ или ~^ |
| | |
| && |
| || |
| ?: |