FPGA编程入门:Quartus II 设计1位全加器
FPGA编程入门:Quartus II 设计1位全加器
- 一、半加器和1位全加器原理
- (一)半加器
- (二)1位全加器
- 二、实验目的
- 三、Quartus II设计半加器
- (一)新建工程
- (二)创建原理图
- (三)将设计项目设置成可调用的元件
- (四)半加器仿真
- 四、Quartus II设计全加器
- (一)新建原理图
- (二)将设计项目设置成顶层文件
- (三)全加器仿真
- 五、硬件下载测试
- (一)引脚绑定
- (二)硬件测试
- 六、总结
- 七、参考资料
一、半加器和1位全加器原理
(一)半加器
如果A、B两数分别表示被加数和加数,用S表示A与B的本位和,用O表示向高一位的进位数。A与B相加可归纳如下四种情况:
把这四种情况,可归纳为真值表如下
根据真值表,可以写出逻辑式
可见本位和S的逻辑关系为“异或”逻辑,进位数image.png为“与”逻辑。MOS加法器,这种只考虑A、B两敬相加及向高位进位,而不考虑由低位向此位进位的加法电路,称为半加器。图3-12(a)为半加器逻辑图;38-12(b)为半加器电路图
(二)1位全加器
若两个多位数相加,除了要考虑对应位的数相加外,还必须考虑与低一位的进位数相加。MOS加法器,因此,两个多位数相加时,每位加法器需要有三个输入端和两个输出端,这种加法器称为全加器。
根据真值表,当然也可以列出卡诺图进行化简得出
二、实验目的
通过1位全加器的详细设计,掌握原理图输入以及Verilog的两种设计方法。
软件基于quartusII 13.0版本,开发板基于Intel DE2-115。
三、Quartus II设计半加器
1位全加器可以用两个半加器及一个或门连接而成, 因此需要先完成半加器的设计
(一)新建工程
1.File
->
2.点击Next
3.设置工程的存储位置和项目名称
4.选择Next
5.选择目标芯片:cyclone IV E
系列的EP4CE115F29C7
6.EDA Tool Setting设置,直接Next
7.点击finish
之后界面上会出现顶层文件名和项目名:
(二)创建原理图
1file
->new
2.Design Files
->Block Diagram/Schematic File
->OK
3.点击按纽 Symbol Tool
或直接双击原理图空白处
4.从Symbol
窗中选择需要的符号,或者直接在name
文本框中键入元件名
5.分别调入元件and2,xnor和输入输出引脚input和output。并如图用点击拖动的方法连接好电路。输入各引脚名:a、b, co和s。
6.保存文件,选择菜单File - Save As,选择刚才为自己的工程建立的目录…\adder下,将已设计好的原理图文件取名为:half_adder.bdf(注意默认的后缀是.bdf),并存盘在此文件夹内
7.编译,点击图标进行编译,若无错误则可进行下一步,若有错进行原理图修改
(三)将设计项目设置成可调用的元件
为了构成全加器的项层设计,必预将以上设计的半加器half_adder.bdf设置成可调用的元件
选择File
→Create/Update
→Create Symbol Files for Current File
(四)半加器仿真
1.新建波形文件file
→new
→university program VWF
,选择后点击OK
2.点击空白处,选择insert node or bus
→node finder
3.点击List
,左面出现则触发器中所有的输入输出引脚。再在该界面上点击>>
,则把左边所有的端口都选择到右边,点击两次OK
,进入波形,
4.设置波形后保存
5.点击仿真编译按钮
报错
解决办法:
(1)点击Tools
→launch Simulation Library Complier
(2)配置相关设置
注意Output Directory一定要选择到
simulation\qsim
目录底下,不然还会报错
(3)出现以下提示就说明可以了
最终结果如图
5.时序仿真,点击时序仿真按钮
四、Quartus II设计全加器
(一)新建原理图
三、(二)新建原理图相同
以full_adder.bdf名将此全加器设计存在同一路径的文件夹中。3个input(ain,bin,cin),2个 output(cout,sum),2个half_adder,1个or2,连线如下
(二)将设计项目设置成顶层文件
1.选择project
→set as top_level entity
2.如图
(三)全加器仿真
1.编译无错
2.功能仿真图
与半加器仿真类似
3.时序仿真图:
五、硬件下载测试
(一)引脚绑定
引脚绑定前先要确定具体硬件电路,即目标芯片与外围电路(输入、输出显示等)的连接情况。实验室使用的ED2-115开发板,除了核心FPGA芯片外,还自带一些外围输入输出电路。我们就是利用这些输入输出电路来进行硬件测试
如全加器引脚绑定,可以这样设计:开发板上的18个拨码开关选其中三个,SW0,SW1,SW2分别接ain、bin、c(开关向上拨和向下拨分别显示输入是高还是低电平);LED0,LED1分别接co和sum,灯亮表示输出为“1”,灯灭
表示输出为“0”。
1.查看引脚
硬件设计好后,还需要查引脚图(引脚图见附录)进行引脚绑定。从 附 录 “ 表 4-1 拨 动 开 关 引 脚 配 置 ” 中 找 到 输 入 的 三 个 开 关SW0,SW1,SW2,再找到对应的“FPGA引脚号”。如图:
相应的,在附录的表 4-3 中查找到 LED 的引脚配置。
2.从菜单中选择assignments
→pin planner
3.调出引脚绑定窗口,然后从下拉窗口中选择相应的输入输出端口,再在location
栏填入对应的 FPGA 引脚即可,如图
4.选定了引脚之后原理图文件一定要再编译一次,才能真正把引脚绑定上。引脚绑定好并编译过的文件如图:
(二)硬件测试
1.下载到硬件
把开发板接上电源,USB 接口接电脑。打开电源开关(注意不用下载时请一定关闭开关,以免烧坏板子)。点击软件工具栏上的按钮
2.则出现下载界面。第一次下载需安装硬件。即在下载界面中点击按钮“hardware setup…”,然后在弹出的对话框中选择“USB blaster”,再点击“ok”,则硬件被安装上
3.安装好硬件的界面如图。然后在下载的.sof 文件后面的复选框中打勾,再点击”start”,
当进度条达到 100%时,即下载成功,可以进行硬件观测
4.硬件观测图
ain | bin | cin | sun | cout |
---|---|---|---|---|
1 | 1 | 1 | 1 | 1 |
六、总结
本次实验储备了解了Quartus II仿真实现的过程,了解如何用其进行模拟仿真和硬件仿真。通过半加器和全加器的设计实现,更加了解它们的原理结构。
七、参考资料
MOS加法器(半加器、全加器)的原理及区别
FPGA编程入门:Quartus II 设计1位全加器相关推荐
- 赛灵思FPGA编程入门指南
(中英双语字幕精校版)赛灵思FPGA编程入门之新手指南第1集:什么是FPGA(现场可编程门阵列)--FPGA概念 什么是FPGA(现场可编程门阵列)--FPGA概念 本系列视频旨在为FPGA新人逐步讲 ...
- 原理图以及vhdl设计一位全加器
原理图设计以及VHDL设计 一位加法器 全加器原理 全加器真值 输出表达式 原理图设计法 VHDL设计法 代码如下: 全加器是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器.一位全加器 ...
- 第三次笔记:算术逻辑单元 电路基本原理 加法器的设计 一位全加器 串行进位加法器 并行进位加法器 补码加减运算器 无符号整数加减法 标志位的生成
文章目录 算术逻辑单元 逻辑运算 一位全加器 串行进位加法器 并行进位加法器 补码加减运算器 加法器原理 补码加法器原理 无符号整数加减法 标志位的生成 算术逻辑单元 算术逻辑单元就是运算器里面的AL ...
- stm32编程入门_电子设计与单片机编程书籍资料推荐
有些同学让我推荐些入门书籍,尝试写写: 注:请多看下目录与介绍,网络上也有一些读书笔记和推荐,自行判断是否符合现有层次和水平,再决定是否购买. 针对零基础.非专业的电子爱好者,我的推荐学习步骤是: 自 ...
- 【FPGA学习】Quartus II中Testbench编写
在编写FPGA的程序时,常常要在ModelSim软件上进行仿真,来验证功能 而要进行仿真,就要先编写Testbench 我们可以使用QuartusII总动生成一个Testbench的模板 选择Proc ...
- 【FPGA学习】Quartus II中NCO与FFT ip核的仿真
FPGA有许多IP核使用起来很方便,本篇博客记录一下NCO以及FFT的IP核使用和学习,实验平台是Altera公司的EP4CE40F23C8N 参考资料: Altera--NCO IP核详解 ALTE ...
- 【FPGA学习】Quartus II新建工程流程
一.新建工程导航流程 在菜单栏 "File -> New Project Wizard-" 1.导航配置内容简介 工程的命名以及指定工程的路径: 指定工程的顶层文件名 添加已 ...
- quartus ii设计电子数字时钟(原理图输入)
总体设计思路 数字电子钟是一种直接用数字显示时间的计时装置.一般由晶体振荡器.分频器.计数 器.译码器.显示器.校时电路和电源等部分组成. 设计要求: (1)具有时.分.秒的计数功能,并且以 24 小 ...
- 使用modelsim设计4位全加器,并调出波形图和电路图(详细教程)
OK , Let's begin 一.仿真 四位全加器的代码如下 add4的代码 module add_4(input[3:0] a,b,output[3:0] sum,output cout,inp ...
- 基于Quartus II 软件(VHDL)设计
目录 一,基于 Quartus II 的数字系统设计流程 二,Quartus II 软件使用介绍 1. 建立工程 2. 设计输入 3. 编译 4. 时序仿真 quartus ii 安装请参考: Qua ...
最新文章
- asp.net 设置分页
- 使用Apache下poi创建和读取excel文件
- SAP Spartacus B2B user列表对应的Angular Component
- mysql table keys_MySQL Explain详解
- php 执行多个文件,PHP提高执行多个查询时读取一千行文件的性能
- REST和RESTful详解到实战
- 年青人应知道的几个故事
- 领英:经济图谱在中国,为人才就业勾画新版图
- BZOJ3781 小B的询问
- python调用win32api详解_Python调用Win32 API实现截图
- 一维热传导问题与C++描述
- ASIHTTPRequest实现https双向认证请求
- 苹果8硬件保修服务器,iPhone手机刷机报错,很多是硬件问题
- 《知识图谱》赵军 学习笔记
- MAX31865模块的使用-基于ZigBee_CC2530芯片 PT100测温
- 信息收集-CMS识别
- iar 预编译会把非条件的去掉_SkyIAR(简单高效的IDEAHCIRAID解决方案)v1.2 [2012.8.14]...
- 支持Adobe Photoshop CC 201720182019 的Coolorus 2.5.14 色环插件
- ios12怎么投屏电脑 苹果手机怎么投屏
- 哪个软件可以免费pdf转word?可以pdf转word的软件分享给你
热门文章
- 解决 EndNote X9 安装报错 lnstallation ended prematurely because of an error.
- 学计算机跨考航天航空,北京航空航天大学计算机考研辅导班:跨考考研经验
- 数据挖掘(七) DBSCAN聚类算法
- python3GUI--抖音无水印视频下载工具(附源码)
- 智慧城市数字政府建设【转】
- 微信小程序:文档下载功能
- 实现一个二维码支持微信和支付宝同时收付款
- 华为钱包扫码云闪付_Huawei Pay开通与使用银联云闪付教程
- python爬虫解决极验验证码问题
- tpac100控制器设置教程_ac100控制器设置方法