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

本文详细介绍了使用Verilog在Vivado平台上设计和实现的串行和并行加法器,通过16位加法器实例展示了并联结构,对比了两者在计算延时上的差异,并提供了实验报告的要求,包括代码、测试结果和延时分析。
摘要由CSDN通过智能技术生成

名称:串行进位和并行进位加法器Verilog代码Vivado仿真(文末获取)

软件:Vivado

语言:Verilog

代码功能:

回顾1位全加器的设计,自学串行进位和并行进位加法器。在此基础之上设计串行进位和并行进位的32位加法器,使用 Verilog实现该设计,并写出相应的 testbench对其进行测试。请观察并定量分析不同种加法器的计算延时情况。(参考资料:课本5.2.1章:加法器)

要求提交实验报告,包括1.两种加法器的 verilog代码2.测试数据及输出结果3.计算延时的分析与讨论

串行加法器

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
源代码

 扫描文章末尾的公众号二维码

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值