|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 towardt 于 2015-3-18 15:33 编辑
超前进位加法器(没有cin),为什么这样设计结果有些正确有些错误?
module carry_adder(
input [8:1] x,
input [8:1] y,
output reg [8:1] s,
output reg carry_out
);
reg [4:0] i;
reg [8:1] p;
reg [8:1] G;
reg [8:0] c;
assign carry_out=c[8];
always @(*)
begin
c[0]=0;
for(i=1;i<=8;i=i+1)
begin
p=x^y;
G=x&y;
c=(p&c[i-1])|G;
s=p^c;
end
end
endmodule
|
|