• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

串行进位和并行进位加法器Verilog代码Vivado仿真

06/25 08:18
577
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2401061346333P.doc

共1个文件

名称:串行进位和并行进位加法器Verilog代码Vivado仿真

软件:Vivado

语言:Verilog

代码功能:

回顾1位全加器的设计,自学串行进位和并行进位加法器。在此基础之上设计串行进位和并行进位的32位加法器,使用 Verilog实现该设计,并写出相应的 testbench对其进行测试。

请观察并定量分析不同种加法器的计算延时情况。(参考资料:课本5.2.1章:加法器)

要求提交实验报告,包括:

1.两种加法器的 verilog代码。

2.测试数据及输出结果。

3.计算延时的分析与讨论。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

串行加法器

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 时序仿真图

6. 延时分析

并行加法器

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 时序仿真图

6. 延时分析

可见并行的延迟小于串行

部分代码展示:

//将4个加法器并联组成16位并行加法器
module adder_16(adder_A, adder_B, CIN, COUT, S);
   input [15:0]  adder_A;//输入A
   input [15:0]  adder_B;//输入B
   input         CIN;//输入进位
   
   output        COUT;//输出进位
   output [15:0] S;//输出和
   
   //定义中间进位
   wire          CIN_1;
   wire          CIN_2;
   wire          CIN_3;
   
   wire          COUT_signal;
   wire [15:0]   S_signal;
   
   assign COUT = COUT_signal;//输出进位
   assign S = S_signal;//输出和
   
   //调用4位加法器
   adder_4bit i1_adder_4bit
   (
   .A(adder_A[3:0]), 
   .B(adder_B[3:0]), 
   .CIN(CIN), 
   .COUT(CIN_1), 
   .S(S_signal[3:0])
   );
   
   //调用4位加法器
   adder_4bit i2_adder_4bit
   (
   .A(adder_A[7:4]), 
   .B(adder_B[7:4]), 
   .CIN(CIN_1), 
   .COUT(CIN_2), 
   .S(S_signal[7:4])
   );
   
   //调用4位加法器
   adder_4bit i3_adder_4bit
   (
   .A(adder_A[11:8]), 
   .B(adder_B[11:8]), 
   .CIN(CIN_2), 
   .COUT(CIN_3), 
   .S(S_signal[11:8])
   );
   
   //调用4位加法器
   adder_4bit i4_adder_4bit
   (
   .A(adder_A[15:12]), 
   .B(adder_B[15:12]), 
   .CIN(CIN_3), 
   .COUT(COUT_signal), 
   .S(S_signal[15:12])
   );
   
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=510

  • 2-2401061346333P.doc
    下载

相关推荐