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 件のコメント:

コメントを投稿