集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2116|回复: 2

采用kogge-stone tree 的32位超前进位加法器

[复制链接]
老怪甲 该用户已被删除
老怪甲 发表于 2010-5-26 08:54:15 | 显示全部楼层 |阅读模式
采用kogge-stone tree 的32位超前进位加法器

经modlesim验证正确,并可以用dc综合!
module cla32 (a,b,cin,sum,co);
input [31:0] a,b;
input cin;
output [31:0] sum;
output co;
reg [31:0] G1,P1,G2,P2,G3,P3,G4,P4,G5,P5;
reg [31:0] cout;
wire[31:0] sum,G0,P0;
assign P0=a^b;
assign G0=a&b;
assign sum=P0^{cout[31:0],cin};
assign co=cout[31];
always @(P0 or G0 or P1 or G1 or P2 or G2 or P3 or G3 or P4 or G4 or P5 or G5 )
begin
P1[31:1]=P0[31:1]&0[30:0];
G1[31:1]=G0[31:1]|P0[31:1]&G0[30:0];
G1[0]=G0[0];
P1[0]=P0[0];
P2[31:2]=P1[31:2]&1[29:0];
G2[31:2]=G1[31:2]|P1[31:2]&G1[29:0];
G2[1:0]=G1[1:0];
P2[1:0]=P1[1:0];
P3[31:4]=P2[31:4]&2[27:0];
G3[31:4]=G2[31:4]|P2[31:4]&G2[27:0];
G3[3:0]=G2[3:0];
P3[3:0]=P2[3:0];
P4[31:8]=P3[31:8]&3[23:0];
G4[31:8]=G3[31:8]|P3[31:8]&G3[23:0];
G4[7:0]=G3[7:0];
P4[7:0]=P3[7:0];
P5[31:16]=P4[31:16]&4[15:0];
G5[31:16]=G4[31:16]|P4[31:16]&G4[15:0];
G5[15:0]=G4[15:0];
P5[15:0]=P4[15:0];
cout=G5|P5&cin;
end
endmodule

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
墨香奶茶 发表于 2011-3-11 18:35:10 | 显示全部楼层
太感谢啦!!!
fpga_feixiang 发表于 2021-12-1 13:39:13 | 显示全部楼层
66666666666666666666
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-18 07:57 , Processed in 0.072102 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表