实验要求:一、把加法器的输出信号改成4比特位宽,编译,波形仿真。观察输出结果,说出输出和输入的对应关系。
二、把加法器的输入信号改成8比特位宽,编译,波形仿真。观察加法器的输出延迟,和4比特输入位宽的情况对比,你有什么结论,为什么?
一、无符号加法器输出信号为4比特位宽代码
module Unsigned_adder_4bit(
IN1 ,
IN2 ,
OUT );
input[3:0] IN1, IN2;
output[3:0] OUT;
reg[3:0] OUT;
always@(IN1 or IN2) begin
OUT = IN1 + IN2;
end
endmodule
无符号加法器输出信号为4比特位宽时序仿真图
通过观察输出和输入的对应关系可以看出:
当两个加数相加不产生向最高位进位时,所得和就是两个加数相加的和;
当两个加数相加产生向最高位进位时,所得和就与正常相加所得和差16,也就是最高位产生了溢位。
二、无符号加法器输出信号为8比特位宽
module Unsigned_adder_8bit(
IN1 ,
IN2 ,
OUT );
input[3:0] IN1, IN2;
output[7:0] OUT;
reg[7:0] OUT;
always@(IN1 or IN2) begin
OUT = IN1 + IN2;
end
endmodule
无符号加法器输出信号为8比特时序仿真图
通过观察输出和输入的对应关系可以看出:
输出为8bit位宽的无符号加法器没有产生溢位,并且输出为8bit位宽的无符号加法器和输出为4bit位宽的无符号加法器输出延迟时间相差不大
我的结论是信号输出宽度的大小影响计算结果,但是不会影响信号的延迟时间的长短。