西安邮电大学Verilog 四位超前进位全加器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安邮电大学Verilog HDL实验报告(二)

——带超前进位的四位全加器

学院名称:电子工程学院

班级:电子

学生姓名:

学号:

实验题目带超前进位的四位全加器

一、实验内容

设计的一个带超前进位的四位全加器。

二、实验步骤

1、在ModelSim软件中对激励模块和设计模块进行书写和编译;

2、对编译好的模块进行仿真。

三、源代码:

1、主程序

module fulladd4(sum, c_out, a, b, c_in);

output [3:0] sum;

output c_out;

input [3:0] a,b;

input c_in;

wire p0,g0,p1,g1,p2,g2,p3,g3;

wire c4,c3,c2,c1;

xor a1(p0,a[0],b[0]);

xor a2(p1,a[1],b[1]);

xor a3(p2,a[2],b[2]);

xor a4(p3,a[3],b[3]);

and b1(g0,a[0],b[0]);

and b2(g1,a[1],b[1]);

and b3(g2,a[2],b[2]);

and b4(g3,a[3],b[3]);

and d1(e1,p0,c_in);

or f1(c1,e1,g0);

and d2(e2,p1,g0);and d3(e3,p1,p0,c_in);or f2(c2,g1,e2,e3);

A nd d4(e4,p2,g1);and d5(e5,p2,p1,g0);and d6(e6,p2,p1,c_in);or f3(c3,g2,e4,e5,e6);

and d7(e7,p3,g2);and d8(e8,p3,p2,g1);and d9(e9,p3,p2,p1,g0);and d10(e10,p3,p2,p1,p0,c_in);or f4(c4,g3,e7,e8,e9,e10);

xor m0(sum[0],p0,c_in);

xor m1(sum[1],p1,c1);

xor m2(sum[2],p2,c2);

xor m3(sum[3],p3,c3);

and n1(c_out,c4,c4);

endmodule

2、激励程序

module fulladd4_tb;

reg [3:0] A,B;

reg C_IN;

wire [3:0] SUM;

wire C_OUT;

fulladd4 fulladd_4(.sum(SUM),.a(A),.b(B),.c_in(C_IN),.c_out(C_OUT));

initial

begin

A = 4'b0000;

B = 4'b0111;C_IN = 0;#100;

A = 4'b0001;

B = 4'b0011;C_IN = 0;#100;

A = 4'b0010;

B = 4'b1011;C_IN = 0;#100;

A = 4'b0011;

B = 4'b1001;C_IN = 1;#100;

A = 4'b1111;

B = 4'b1111;C_IN = 1;#100;

end

endmodule

四、仿真结果及分析

输出结果:

结果分析:

当A=0000,B=0111,C_IN=0时,SUM=0111;

当A=0001,B=0011,C_IN=0时,SUM=0100;

当A=0010,B=1011,C_IN=0时,SUM=1101;

当A=0011,B=1001,C_IN=1时,SUM=1101;

当A=1111,B=1111,C_IN=1时,SUM=1111;

根据结果,SUMi=A i•Bi^Ci

C i+1= Ai •B i+Ci•(Ai^Bi)

进位则C_OUT = 1。

五、实验总结:

在这次实验过程中,开始时程序一直都编译不出来,总是出现错误,认真修改后,总算是编译成功了。经过这次的实验,深深的感觉到理论和实际还是很有差距的。这次实验还是给我带来了相当大的帮助。使我的理论与实际结合在一起。

更多信息↓↓↓

相关文档
最新文档