【verilog】6位二进制数加法器

这篇具有很好参考价值的文章主要介绍了【verilog】6位二进制数加法器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验目的

1:掌握无符号二进制数加法器的设计方法。

2:掌握使用Modelsim对verilog程序进行仿真和验证的方法。

实验原理与内容

实验原理

二进制加法器由全加器构成,全加器功能和电路图如下图所示。

【verilog】6位二进制数加法器

全加器对两个1位二进制数和1位来自低位的进位做加法运算,产生1位和和1位向更高位的进位。图中(a)是全加器的真值表,描述了全加器输入和输出之间的加法运算关系。图(b)为根据真值表得到的卡诺图和逻辑表达式。图(c)是全加器的门电路结构。

由多个全加器可以构成多位二进制数加法器,其电路图如下图所示。图中每一位全加器的低位进位输入连接更低位的相邻全加器的进位输出,每一位全加器的进位输出连接更高位相邻全加器的进位输入。通过全加器串联的方式实现了两个n位二进制数的加法操作。

【verilog】6位二进制数加法器

实验内容

本实验使用verilog描述、modelsim仿真调试、Quartus II综合下载来完成设计实现6位二进制数加法器电路的内容。该加法器对两个6位二进制数输入进行加法操作,求和结果输出为7位二进制数。2个6位二进制数通过12个拨码开关来输入,7位二进制数的和通过LED灯输出。

实验过程

Modelsim

1 打开Modelsim软件,新建一个工程。

2 建完工程之后,再新建一个verilog文件,打开verilog编辑器对话框。

3 按照所设计电路结构,在verilog编辑窗口编写verilog程序。编写完verilog程序后,保存起来,代码如下图。

【verilog】6位二进制数加法器

 【verilog】6位二进制数加法器

4 对自己编写的verilog功能模块,用verilog编写测试模块,可以和功能模块在同一个文件里,也可以新建一个verilog文件。测试模块语句如下图。

【verilog】6位二进制数加法器

5 测试模块产生功能模块的输入的全部取值组合,并对功能模块实例化。进行编译仿真调试,观察仿真波形,根据功能模块输入和输出的对应关系来判断程序是否出错。对程序的错误进行修改,直到仿真波形正确为止,仿真波形图如下图。

【verilog】6位二进制数加法器

 QUARTUSII

  1. 打开QUARTUSII软件,新建一个工程。
  2. 编译综合工程,依照拨码开关和LED灯与FPGA的管脚连接表(参照实验箱用户手册)进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
  3. 建完工程之后,把用Modelsim仿真调试正确的功能模块文件加入该工程(注意这里不需要加测试模块,它仅用于Modelsim仿真)。

【verilog】6位二进制数加法器

        4.用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的设计思想一致。

        【verilog】6位二进制数加法器

【verilog】6位二进制数加法器

实验总结

通过实验原理得出逻辑表达式,编写Verilog硬件代码,然后通过了ModelSim的波形仿真,在Quartus中再次进行仿真后,将引脚分配好,然后将程序下载至硬件,通过拨动拨动开关,给出两个6位二进制数进行加法运算,能够通过LED灯的显示得到一个7位的二进制数,实现了六位加法器的要求,这里测试了多个实例,得出的结果均为正确,完成了实验任务。文章来源地址https://www.toymoban.com/news/detail-460295.html

到了这里,关于【verilog】6位二进制数加法器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog实现超前进位加法器

    在CPU等对性能要求较高的电路中,一般都会采用超前进位加法器,因为超前进位加法器的延时相对来说比较小。下面讲述超前进位加法器的原理: 我们知道,一个三输入,二输出的全加器,其逻辑关系为 S = A ⊕ B ⊕ C i n S=Aoplus Boplus C_{in} S = A ⊕ B ⊕ C in ​ C o u t = ( A B ) ∣

    2023年04月08日
    浏览(38)
  • 用Verilog设计一个8位二进制加法计数器,带异步复位端口,进行综合和仿真。

    点此处编译 这里还需将rst置1才有效 可以在clk=0;后加rst=1; 或者在clk=0;后加rst=0; 并且在#DELY clk=~clk;后加#(DELY*20) rst=~rst; 仿真即可

    2024年02月04日
    浏览(43)
  • 【FPGA】Verilog:BCD 加法器的实现 | BCD 运算 | Single-level 16 bit 超前进位加法器 | 2-level 16-bit 超前进位加法器

    0x00 BCD 运算 在 BCD 中,使用4位值作为操作数,但由于只表示 0 到 9 的数字,因此只使用 0000 到 1001 的二进制数,而不使用 1010 到 1111 的二进制数(don\\\'t care)。 因此,不能使用常规的 2\\\'complement 运算来计算,需要额外的处理:如果 4 位二进制数的运算结果在 1010 到 1111 的范围

    2024年02月05日
    浏览(45)
  • verilog全加器和四位加法器

    半加器: 保存为half_addr.bsf之后,可以在该项目中添加半加器 全加器: 通过RTL-Viewer查看半加器和全加器 添加全加器到项目 在process里面先后执行start fitter 和start time analyzer 生成testbench模板 修改testbench文件: 添加到项目 注意在联合modelsim时让generate functinal simulation netlist值为

    2024年02月07日
    浏览(46)
  • 各种加法器的比对分析与Verilog实现(1)

            接下来几篇博客,我将介绍常见的几种加法器设计,包括超前进位、Kogge-Stone、brent-kung、carry-skip、Conditional-Sum等加法器的原理及Verilog实现。        本文将介绍行波进位加法器、超前进位加法器的原理及Verilog实现。 1.1 原理        从下方原理图即可看出,

    2024年02月08日
    浏览(46)
  • 各种加法器的比对分析与Verilog实现(2)

          本文将介绍Kogge-Stone加法器和brent-kung加法器的原理,在下一篇博客中我将用Verilog进行实现。 目录 1. 并行前缀加法器(Parallel-Prefix Adder, PPA)  2. Kogge-Stone加法器原理 3. brent-kung加法器原理        为了减少AND门的深度,PPA对CLA进行了进一步优化。不过PPA和CLA进行的计算

    2024年02月07日
    浏览(53)
  • verilog数组的定义、转换和加法器的实现

    看了别人的博客有的人也称reg [31:0] add0[0:12]这样的数组为二维数组,其实中二维数组不是真正意义上的数组,而是由多个寄存器组成的ROM或者RAM。我觉得这样理解好记一点:这个是一维数组,一共有0到12共13组数据,每组数据的宽度是0到31一共32个位宽。 优势:简单易于编程

    2024年02月11日
    浏览(41)
  • Verilog数字系统设计——带进位的8位加法器

    试分别使用门级原语和always 语句设计带进位的8位加法器,要求编制测试模块对实现的逻辑功能进行完整的测试; 使用门级原语设计时注意先在草稿上做出该加法器的门级设计; 如有余力可以进一步使用门级原语设计出带超前进位链的8位加法器(期末有加分); 实验提交

    2024年02月15日
    浏览(48)
  • FPGA学习笔记(1):使用Verilog实现常见的加法器

    本文使用VerilogHDL实现一些简单的加法器,本人水平有限,希望大佬能够多指证 Quartus Prime(18.0) Modelsim 半加器可以用于计算两个单比特二进制数的和,C表征进位输出,S表述计算的结果。 半加器的真值表 化简以后的逻辑表达式可以表达为: s = a’b+ab’ c = ab Verilog 代码块 全加

    2024年02月09日
    浏览(43)
  • Verilog设计4位CLA加法器电路,并仿真测试

    使用Quartus+modelsim完成本次设计 对于超前进位加法器 (CLA)加法器,它不同于普通加法器。如果对于两个1024位的数字进行相加,那么普通的串行加法器因为只有算出 C x C_{x} C x ​ 才能继续计算 C x + 1 C_{x+1} C x + 1 ​ ,这会导致整体的效率非常低。如果使用超前进位加法器,那

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包