1.实验目的:
算术赋值语句
2.实验内容:
参照verilog书中的教程代码,做带进位与溢出符的n位加法器和n位加法器的简化实现。
3.实验原理:
根据书上的代码和老师的教学步骤进行仿真
4.实验代码:
module addern(carryin,X,Y,S,carryout,overflow);
parameter n=32;
input carryin;
input [n-1:0]X,Y;
output reg [n-1:0]S;
output reg carryout,overflow;
reg [n:0] Sum;
always @(X,Y,carryin)
begin
Sum={1’b0,X}+{1’b0,Y}+carryin;
S=Sum[n-1:0];
carryout=Sum[n];
overflow=(X[n-1]&Y[n-1]&S[n-1])|(X[n-1]&~Y[n-1]&S[n-1]);
end
endmodule
n为加法器的简化实现:
module addern(carryin,X,Y,S,carryout,overflow);
parameter n=32;
input carryin;
input [n-1:0]X,Y;
output reg [n-1:0]S;
output reg carryout,overflow;
always @(X,Y,carryin)
begin
{carryout,S}=X+Y+carryin;
overflow=(X[n-1]&Y[n-1]&S[n-1])|(X[n-1]&~Y[n-1]&S[n-1]);
end
endmodule
5.实验工具:
modlsim软件
6.实验截图:
7.实验视频:
请下载哔哩哔哩动画打开此网址:
【带进位和溢出符的n位加法器-哔哩哔哩】https://b23.tv/B6Uu1v
【n位加法器-哔哩哔哩】https://b23.tv/xW1lkF