0

シミュレーションのためだけに Verilog で ALU を作成しています。しかし、2 つの 16 ビット入力を分割する方法がわかりません。通常の AA=B/Cは機能しません (ここで、B,C は ainput[15:0]で、A は ですoutput reg[15:0])。同様にA=B%C

分割回路モジュールを個別に実装する必要がありますか? 除算は非常に複雑な操作であり、それが実際の方法であることは理解していますが、シミュレーションのためにのみ行っています。2 つの 16 ビット入力を分割するより短い方法はありませんか?

4

1 に答える 1

2

あなたのコードは現在これを行っています:

initial begin
  out1=in1/in2; out2=in1%in2;
end

これは何もしません。initialブロックはシミュレーションの開始時に 1 回実行され、in1in2がであり、とが X にX設定されてから停止します。ロジックを次のように変更します。out1out2

   always
      @* begin
         out1=in1/in2; 
         out2=in1%in2;
      end

これは毎回in1またはin2変更するたびに実行されます。

于 2013-04-22T10:44:52.380 に答える