Verilog运算问题

1、-4'd12/3等于多少?

答案:32'd1431655761

分析:算式中的3没有指定位宽,会自动扩展成32bit,-4'd12也会自动变成32bit的无符号数。

查看代码
module tb1;
    initial begin
        $display (-4'd12/3);    //1431655761
        $display (-4'd12/1);    //4294967284
        $display (-4'd12+1);    //4294967285
        $finish;
    end
endmodule

注意,当寄存器指定位宽后,结果则是不一样的,下面i的结果是81,被截断成8bit。

查看代码
 module tb2;
  reg [7:0] i;
    initial begin
        i = -4'd12/3;
        $display (i);
        $finish;
    end
endmodule
posted @ 2024-02-20 22:37  NEWICER  阅读(19)  评论(0)    收藏  举报