【FPGA实验一】半加器全加器实现

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



全加器

输入原理图实现

半加器

什么是半加器?

半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路。

半加器的真值表

用半加器实现全加器,fpga开发
半加器表达式:

用半加器实现全加器,fpga开发
半加器电路图:

用半加器实现全加器,fpga开发
建立原理图

启动 Quartus II 软件,选择File->New Project Wizard,在出现的界面下先Next,填写工程的路径和名称,然后接着Next,直到出现下面界面并进行相应操作。接着一路Next,直到Finish,完成工程的创建。
用半加器实现全加器,fpga开发

用半加器实现全加器,fpga开发

用半加器实现全加器,fpga开发

现在,你已经可以创建了一个工作空间,让我们开始绘制原理图吧。
从以下路径可以添加一张原理图的画布:首先选择File->New,进入后选择Block Diagram/Schematic File
用半加器实现全加器,fpga开发
在画框的上方可以添加你想要的逻辑门器件。
用半加器实现全加器,fpga开发
输入逻辑门的英文名则可以查找对应器件。
用半加器实现全加器,fpga开发
添加其余部件,绘制半加器的原理图。

用半加器实现全加器,fpga开发
保存并编译得到一张漂亮的原理图。用半加器实现全加器,fpga开发

模拟仿真:

创建一个向量波形文件,选择菜单项 File→New->VWF。
用半加器实现全加器,fpga开发
在波形文件编辑器左端大片空白处双击,出现“insert node or bus”对话框,点击“node finder”按钮。

用半加器实现全加器,fpga开发
添加信号

”>>“选项可以一键添加信号。

用半加器实现全加器,fpga开发
编辑信号:
选中一段波形,再点击按钮,可以改变电平。
用半加器实现全加器,fpga开发
保存文件并启动功能仿真,用半加器实现全加器,fpga开发
结果如下
用半加器实现全加器,fpga开发

全加器

全加器真值表:
用半加器实现全加器,fpga开发

用半加器实现全加器,fpga开发
全加器电路图:

用半加器实现全加器,fpga开发

绘制原理图

前文已经制作了一个半加器,接下来,我们将要利用它作为可以调用的原件绘制全加器的原理图。

用半加器实现全加器,fpga开发

在选择器件的位置搜索半加器的文件名,则可以调用我们制作的半加器原理图。
用半加器实现全加器,fpga开发
添加其余部件,绘制原理图:

用半加器实现全加器,fpga开发

将全加器设置为顶层文件,改变顶层实体后要重新进行综合,然后才能对当前顶层实体进行波形仿真等操作。

保存编译,可以查看原理图

用半加器实现全加器,fpga开发
按照前文的步骤进行仿真模拟:
用半加器实现全加器,fpga开发

Verilog编程实现

新建一个项目。
用半加器实现全加器,fpga开发

代码:

module full_adder(
	//输入信号,ain表示被加数,bin表示加数,cin表示低位向高位的进位
	input ain,bin,cin,
	//输出信号,cout表示向高位的进位,sum表示本位的相加和
	output reg cout,sum

);
reg s1,s2,s3;
always @(ain or bin or cin) begin
	sum=(ain^bin)^cin;//本位和输出表达式
	s1=ain&cin;
	s2=bin&cin;
	s3=ain&bin;
	cout=(s1|s2)|s3;//高位进位输出表达式
end
endmodule

保存编译,查看原理图
用半加器实现全加器,fpga开发
模拟仿真:

用半加器实现全加器,fpga开发

烧录

查看开发板引脚图,找到相关引脚,将需要使用的引脚,绑定到原理图上对应的输入处

用半加器实现全加器,fpga开发

绑定引脚

用半加器实现全加器,fpga开发
用半加器实现全加器,fpga开发
绑定成功。

把开发板接上电源,USB 接口接电脑。打开电源开关(注意不用下载时请一定关闭开关,以免烧坏板子)。点击软件工具栏上的按钮 ,则出现下载界面。第一次下载需安装硬件。即在下载界面中点击按钮“hardware setup…”,然后在弹出的对话框中选择“USBblaster”,再点击“ok”,则硬件被安装上。

安装好硬件后,在下载的.sof文件后打钩,再点击start,看到100%(successful),下载成功

用半加器实现全加器,fpga开发

用半加器实现全加器,fpga开发

4位全加器

原理图

将1位全加器保存为元件,搭建4位全加器,添加其余部件完成4位全加器原理绘制。

用半加器实现全加器,fpga开发
保存编译,查看原理图

用半加器实现全加器,fpga开发

模拟仿真。
用半加器实现全加器,fpga开发

Verilog编程实现

代码:

module full_adder4(
    input[3:0] a,b,
    input cin,
    output[3:0] sum,
    output cout
);
    assign{cout,sum} = a+b+cin;
endmodule

保存编译查看原理图。

用半加器实现全加器,fpga开发
模拟仿真

用半加器实现全加器,fpga开发


总结与参考

加深了对Quantus的认识,在实验过程中,有遇到无法查找到目标芯片,无法查找到Modelsim从而造成的无法模拟仿真等问题,在寻求帮助以及查找资料过后都一一解决,极大地提高了我的耐心,加深了对半加器,全加器的认识。


https://blog.csdn.net/qq_43279579/article/details/115480406

https://zhuanlan.zhihu.com/p/150674799文章来源地址https://www.toymoban.com/news/detail-523490.html

到了这里,关于【FPGA实验一】半加器全加器实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • FPGA实现1位全加器和4位全加器

    1、基于Quartus件完成一个1位全加器的设计,分别采用:1)原理图输入 以及 2)Verilog编程 这两种设计方法。 2、在此基础上,用原理图以及Verilog 编程两种方式,完成4位全加器的设计,对比二者生成的 RTL差别;使用modelsim验证逻辑设计的正确性。 num1和num2是加数,cin是低位进

    2024年02月05日
    浏览(29)
  • FPGA——1位全加器和4位全加器的实现

    1、半加器 半加器是实现两个一位二进制数加法运算的器件。它具有两个输入端(被加数A和加数B)及输出端Y。 是数据输入被加数A、加数B,数据输出S和数(半加和)、进位C。 A和B是相加的两个数,S是半加和数,C是进位数。 所谓半加就是不考虑进位的加法,它的真值表如下 (见表

    2024年02月04日
    浏览(51)
  • FPGA-1位全加器的实现

    1.半加器的定义 半加器是能够对两个一位的二进制数进行相加得到半加和以及半加进位的组合电路。 2.半加器的真值表 A,B表示二进制数,C表示半加进位,S表示半加和 A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 3.输出表达式 S = A ˉ B + A B ˉ = A ⊕ B C = A B 1.1位全加器的真值表 Ain表示被加数

    2024年02月03日
    浏览(31)
  • FPGA编程入门——实现一位全加器

    然后通过4个1位全加器的串行级联,完成一个4位全加器的原理图设计;再改用 Verilog编程(3种模式:门电路、数据流和行为级描述),完成这个4位全加器设计,并观察Verilog代码编译综合后生成的 RTL电路,与之前电路图设计的4位全加器电路进行对比 。 如果仿真波形的逻辑功

    2024年02月04日
    浏览(27)
  • Quartus-II利用两个半加器实现简单全加器

    软件基于 quartusII 13.1 版本,开发板基于Intel DE2-115 。 1.新建并命名工程 2.选择芯片型号 3.新建半加器原理图

    2023年04月08日
    浏览(29)
  • 【无标题】FPGA编程入门——实现一位全加器

    1、首先基于Quartus 软件采用原理图输入方法完成一个1位全加器的设计。然后通过4个1位全加器的串行级联,完成一个4位全加器的原理图设计;再改用 Verilog编程(3种模式:门电路、数据流和行为级描述),完成这个4位全加器设计,并观察Verilog代码编译综合后生成的 RTL电路,

    2024年02月03日
    浏览(31)
  • 【基础知识】~ 半加器 & 全加器

    半加器,就是不考虑进位的加法器,只有两个输入和两个输出:输入A和B,输出和数sum和进位cout,半加器真值表如下: 全加器就是在半加器的基础上引入一个进位输入,总共三个输入两个输出。全加器真值表如下: 这里的输出一共有两个,一个sum,一个进位cout。sum的值是

    2024年02月11日
    浏览(28)
  • 一位全加器及四位全加器————FPGA

    环境: 1、Quartus18.0 2、vscode 3、基于Intel DE2-115的开发板 全加器简介: 全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。

    2024年02月03日
    浏览(36)
  • FPGA基础——全加器

    全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。 一位全加器为例 Ain表示被加数,Bin表示加数,Cin表示低位进位,Cou

    2024年02月09日
    浏览(28)
  • 北邮22级信通院数电:Verilog-FPGA(6)第六周实验:全加器(关注我的uu们加群咯~)

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.verilog 代码 add.v 二.管脚分配 三.实验效果 3.1说明 ​编辑 3.2实验

    2024年02月06日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包