• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:verilog で「*」を使って2の補数形式の乗算って・・・)

verilogで2の補数形式の乗算をする方法

このQ&Aのポイント
  • 加算器、減算器がうまくいった後、乗算器を作成したいです。しかし、verilogで2の補数形式の乗算をする際に文法エラーが発生してしまいます。
  • 具体的には、q = (~a + 1) * (~b + 1);という式がエラーとなります。(mul.v,28|16): expecting a semicolon(';')というエラーメッセージが表示されます。
  • また、always@(a[15] or b[15])というように書き換えるとシミュレーションはできますが、結果が正しくありません。正しい方法を教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

最後の "else if" が "elseif" になっているためにエラーになるのでは。 でもそれだと、 >ちなみにalways@(a[15] or b[15])のように書き換えるとシミュレーションできるのですが、結果があっていません。 というのがわからないのですが。。。 ちなみに、上記のように記述を訂正してシミュレータ(Icarus Verilog)に かけたところ通りました。結果はきちんと見ていませんが、それらしい値が 出ているようでした。

関連するQ&A

専門家に質問してみよう