在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2006|回复: 7

[求助] 求大神帮我综合一个verilog程序

[复制链接]
发表于 2013-12-7 20:47:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我现在找到了verilog程序,我需要综合看电路图,求大神帮忙



module ALU_Demo_1(
A,B,Ci,//
D,//
Fc,//
cf,zf,sf,of//
);
input [15:0] A,B;
input Ci;
output[15:0] D;
input [ 2:0] Fc;
output cf,zf,sf,of;
reg [15:0] G,P;
wire [16:0] C;
// Fc G P Cp Descript
// 000 A & B A | B 0 A + B
// 001A & (~ B) A | (~ B)  1A - B
// 010 A & B A | B Ci A + B + Ci
// 011A & (~ B) A | (~ B) (~ Ci) A - B - Ci
//  100 A & B 0 X A & B
//  1010 A | B X A | B
//  110 A & B A | B X A ^ B
//  111A & B A | B X A ^ B
//----generat the G
always @(Fc or A or B)
casex(Fc)
3'b000: G = A & B;
3'b001: G = A & (~ B);
3'b010: G = A & B;
3'b011: G = A & (~ B);
3'b100: G = A & B;
3'b101: G = {16{1'b0}};
3'b110: G = A & B;
3'b111: G = A & B;
default: G = A & B;
endcase
//----generat the P
always @(Fc or A or B)
casex(Fc)
3'b000: P = A | B;
3'b001: P = A | (~ B);
3'b010: P = A | B;
3'b011: P = A | (~ B);
3'b100: P = {16{1'b0}};
3'b101: P = A | B;
3'b110: P = A | B;
3'b111: P = A | B;
default: P = A | B;
endcase
//----generat the C in leading carry link
wire Cp;
wire [ 3:0] Gl,Pl;
wire [ 4:1] Cx;
wire [16:1] Ct;
assign Cp = ((Ci & Fc[1]) ^ Fc[0]);
Carry_Leading_4 CL0 (G[ 3: 0],P[ 3: 0],Cp ,Ct[ 4: 1],Gl[0],Pl[0]);
Carry_Leading_4 CL1(G[ 7: 4],P[ 7: 4],Cx[1],Ct[ 8: 5],Gl[1],Pl[1]);
Carry_Leading_4 CL2 (G[11: 8],P[11: 8],Cx[2],Ct[12: 9],Gl[2],Pl[2]);
Carry_Leading_4 CL3 (G[15:12],P[15:12],Cx[3],Ct[16:13],Gl[3],Pl[3]);
Carry_Leading_4 CLX (Gl[ 3:0],Pl[ 3:0],Cp,Cx[ 4:1],,);
//assign C = {Ct,Cp};
assign C = {Cx[4],Ct[15:13],Cx[3],Ct[11:9],Cx[2],Ct[7:5],Cx[1],Ct[3:1],Cp};
//----generate the result
assign D = G ^ P ^ ((~ Fc[2]) ? C[15:0] : {16{1'b0}});
assign cf = (C[16] ^ Fc[0]) & (~ Fc[2]);
assign zf = ! D;
assign sf = G[15] ^ P[15] ^ ((~ Fc[2]) & C[16]);
assign of = (C[15] ^ C[16]) & (~ Fc[2]);
endmodule
module Carry_Leading_4 (G,P,Ci,C,Gl,Pl);
input [ 3:0] G,P;
output [ 4:1] C;
input Ci;
output Gl,Pl;
wire [ 3:0] G,P;
wire [ 4:1] C;
wire Ci;
wire Gl,Pl;
assign C[1] = G[0] | P[0] & Ci;
assign C[2] = G[1] | P[1] & G[0] | P[1] & P[0] & Ci;
assign C[3] = G[2] | P[2] & G[1] | P[2] & P[1] & G[0] | P[2] & P[1] & P[0] & Ci;
assign C[4] = Gl | Pl & Ci;
assign Gl = G[3] | P[3] & G[2] | P[3] & P[2] & G[1] | P[3] & P[2] & P[1] & G[0];
assign Pl = P[3] & P[2] & P[1] & P[0];
endmodule
发表于 2013-12-7 21:27:42 | 显示全部楼层
RTL.jpg 是需要这个模型吗?
发表于 2013-12-8 10:08:33 | 显示全部楼层
发表于 2013-12-8 10:42:07 | 显示全部楼层
synopsys?
发表于 2013-12-8 12:10:09 | 显示全部楼层
Xilinx ISE Design Suite 13.4
发表于 2013-12-8 12:11:22 | 显示全部楼层
回复 3# zcs841017 Xilinx ISE Design Suite 13.4
 楼主| 发表于 2013-12-9 13:33:25 | 显示全部楼层
回复 2# 德风劲草


   非常感谢!!!
发表于 2013-12-9 22:24:37 | 显示全部楼层
回复 7# 真我个性
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-21 06:08 , Processed in 0.032542 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表