-2

2 つの入力 [32:0] ポート in1、in2 と出力 reg [32:0] out を宣言しました。

always ブロックでは、コードは次のようになります。

現在は add で問題なく動作しますが、in1=0 かつ in2=-1 の場合、out は常に 0xffffffff ではなく 0x0000ffff です。

整数 [32:0] 型を宣言しようとしましたが、適切に行っているとは思いません。

(コメントから転記:)

module adder(out, in1, in2, sub);
output reg[31:0] out;
input [31:0] in1, in2;
input [4:0] sub;

always @(*) begin
 case (sub)
  `ALU_ADD: begin out=alutemp1+alutemp2; //out=in1+in2;
   $display("in1 %x and in2 %x and out %x\n",in1,in2,out);
 end
end 

アドバイスをください、ありがとう

4

1 に答える 1