1位与4位全加器 FPGA 设计 Verilog Vivado

名称:1位与4位全加器 FPGA 设计 Verilog Vivado

软件:Vivado

语言:Verilog

功能介绍

本设计实现了 FPGA 数字逻辑基础实验中常用的 1 位全加器与 4 位全加器功能,使用 Verilog 编写并在 Vivado 环境下建立工程。1 位全加器以 A、B 和 CarryIn 作为输入,输出 Sum 与 CarryOut,可完成单个位宽的带进位二进制加法;4 位全加器则在此基础上扩展为多位加法结构,适合用于理解组合逻辑加法器的级联方式。 全加器是 CPU、ALU、计数器、累加器等数字系统中的基础运算单元。本工程适合作为 Verilog 入门、组合逻辑设计、Vivado 工程练习和 Testbench 仿真训练使用,能够帮助学习者从真值逻辑、门级表达、模块封装到仿真验证完整理解加法器设计流程。 工程内容覆盖源程序、测试文件、编译结果、仿真结果以及相关设计截图说明,既可以直接用于课程实验,也可以作为后续设计多位加法器、算术逻辑单元或更复杂运算模块的参考模板。

运行环境

开发语言:Verilog 开发软件:Vivado 工程类型:FPGA 逻辑设计工程 主要内容:1 位全加器、4 位全加器、Testbench 仿真、RTL/综合相关设计结果

设计思路

1 位全加器的核心思想是对两个输入位 A、B 以及低位进位 CarryIn 进行组合逻辑运算。和位 Sum 由三个输入的异或结果得到,即当输入中为 1 的个数为奇数时输出 1;进位 CarryOut 则在任意两个或三个输入同时为 1 时产生,因此可以通过 CarryIn&A、CarryIn&B、A&B 三项相或得到。 这种写法逻辑清晰,便于和全加器真值表对应,也便于综合工具映射为基础逻辑资源。设计中先定义中间线网 CA、CB、AB 分别表示三组进位产生条件,再通过或运算得到最终进位输出,使进位逻辑的含义直观明确。 4 位全加器可基于 1 位全加器进行扩展,将每一位的加法结果和进位输出逐级连接,低位产生的进位作为高一位的 CarryIn。通过这种级联结构,可以将单个位宽加法器扩展为多位二进制加法器,体现了模块化设计和层次化设计思想。

模块结构

主要模块包括: Full_Adder_1bit:1 位全加器模块,输入 A、B、CarryIn,输出 Sum、CarryOut。 adder_4bit:4 位全加器模块,用于实现多位加法结构。 test:1 位全加器仿真测试模块。 test_4bit:4 位全加器仿真测试模块。 glbl:Vivado 仿真全局模块。

演示视频

配套演示视频展示了 1bit、4bit 全加器工程与运行效果,可用于对照理解工程结构、仿真过程和设计结果。

仿真图/仿真说明/设计文档图片

设计文档包含工程文件、程序文件、程序编译、Testbench、仿真图、RTL 图、综合后原理图、功耗图、资源消耗和最大延迟等内容。相关图片可帮助查看 Vivado 工程编译、仿真波形、RTL 结构、综合结果以及资源/功耗分析情况。

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image9.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image8.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image7.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image6.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image10.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image5.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image4.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image3.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image2.png

1位与4位全加器 FPGA 设计 Verilog Vivado 设计文档图片 image1.png

部分代码

以下展示顶层模块 Full_Adder_1bit 的部分代码,完整源码请下载压缩包查看。

module Full_Adder_1bit(   
    input A,
    input B,
    input CarryIn,
    output Sum,
    output CarryOut
    );
    
wire CA,CB,AB;
assign CA=CarryIn & A;
assign CB=CarryIn & B;   
assign AB=A & B;     
assign CarryOut= CA | CB | AB;   
    
assign  Sum=(A^B)^ CarryIn;  
    
endmodule

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 1位与4位全加器 FPGA 设计 Verilog Vivado

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员