2010年8月17日火曜日

Verilog-HDL 演算子

【算術演算】
記号演算論理合成
+加算○
-減算○
*乗算△
/除算△
%剰余△
**べき乗△

【関係演算】
記号演算論理合成
<小なり○
<=小なりイコール○
>大なり○
>=大なりイコール○

【等号/不等号演算】
記号演算論理合成
==一致○
!=不一致○
===一致(X,Zも含む)×
!==不一致(X,Zも含む)×

【シフト演算】
記号演算論理合成
<<論理左シフト○
>>論理右シフト○
<<<算術左シフト○※
>>>算術右シフト○※

【論理演算】
記号演算論理合成
!論理否定○
&&論理積○
||論理和○

【ビット演算】
記号演算論理合成
~NOT○
&AND○
|OR○
^EXOR○
~^EXNOR○

【リダクション演算】
記号演算論理合成
&AND○
~&NAND○
|OR○
~|NOR○
^EXOR○
~^EXNOR○

例えば8ビット幅の信号Aの全ビットが1である事をチェックするためには、次の様なAND演算の式になる。
A[7] & A[6] & A[5] & A[4] & A[3] & A[2] & A[1] & A[0];
これをリダクション演算子を使うと
&A;
とシンプルに記述が可能。記号はビット演算子を同じであり文脈から判断される。


【その他】
記号演算論理合成
? :条件演算○
{ }連結演算○

【優先順位】
優先順位演算子
高い! & ~& | ~| ^ ~^ + - (単項演算)
* / %
+ -
<< >> <<< >>>
< <= > >=
== != === !===
& ~& ~ ~^
| ~|
&&
||
低い? :

0 件のコメント:

コメントを投稿