仿真工具:Vivado 2015.2
一、无符号数
1.高位溢出赋给一个位宽不够的数
wire [3:0] a=4'b1111;//15
wire [3:0] b=4'b0010;//2
wire [3:0] c;
assign c = a + b;//17=10001

wire [3:0] a=4'b1111;
wire [3:0] b=4'b0010;
wire [2:0] c;
assign c = a + b;

高位截断,保留低位
2.高位溢出赋给一个位宽足够的数
wire [3:0] a=4'b1111;
wire [3:0] b=4'b0010;
wire [4:0] c;
assign c = a + b;

wire [3:0] a=4'b1111;
wire [3:0] b=4'b0010;
wire [5:0] c;
assign c = a + b;
结果正确。
3.对中间结果移位
wire [3:0] a=4'b1111;
wire [3:0] b=4'b0010;
wire [3:0] c;
assign c =(( a + b) >> 1); //17=10001


最低0.47元/天 解锁文章
2588

被折叠的 条评论
为什么被折叠?



