今まで組み込み回路の設計はverilogを使用していましたが、ここ最近、VHDLを扱う機会が急激に増えてきてverilogの楽さを実感しています。
VHDLはルールが細かいというか、融通が利かないというか。。。
通信用の基地局や車の制御など、きっちり設計しないといけないものには良いのもしれませんね。
さて、今回はそんなVHDLを扱っていて、困惑した演算子についてverilogとVHDLの違いをメモしておこうと思います。
verilogとVHDLで同じ演算子でも意味が全くちがうものもあり混乱してしまいますね。
verilog | VHDL | 説明 | |
算術演算 | + | + | 加算 |
– | – | 減算 | |
* | * | 乗算 | |
/ | / | 除算 | |
** | ** | べき乗 | |
% | mod | 剰余 | |
論理演算 | && | and | AND |
|| | or | OR | |
! | not | NOT | |
等号演算 | == | = | 等号 |
!= | /= | 不等号 | |
関係演算 | < | < | 左辺が小さい |
<= | <= | 左辺が小さいか等しい | |
> | > | 左辺が大きい | |
>= | >= | 左辺が大きいか等しい | |
連接 | { A, B} | A&B | AとBを1つの信号にまとめる |
一覧を表にまとめてみました。
VHDLは上に記載したものがよく使う演算子はほぼほぼ網羅しているかなという感じですが、Verilogではこれに加えて、ビット演算子やリダクション演算子、シフト演算子など、他の演算子も多用している印象です。
それらは別の記事にまとめようと思います。
コメント