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设置成可调用的元件

选择FileCreate/UpdateCreate Symbol Files for Current File

(四)半加器仿真

1.新建波形文件filenewuniversity program VWF,选择后点击OK

2.点击空白处,选择insert node or busnode finder


3.点击List,左面出现则触发器中所有的输入输出引脚。再在该界面上点击>>,则把左边所有的端口都选择到右边,点击两次OK,进入波形,


4.设置波形后保存

5.点击仿真编译按钮

报错

解决办法:
(1)点击Toolslaunch 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.选择projectset 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.从菜单中选择assignmentspin 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位全加器相关推荐

  1. 赛灵思FPGA编程入门指南

    (中英双语字幕精校版)赛灵思FPGA编程入门之新手指南第1集:什么是FPGA(现场可编程门阵列)--FPGA概念 什么是FPGA(现场可编程门阵列)--FPGA概念 本系列视频旨在为FPGA新人逐步讲 ...

  2. 原理图以及vhdl设计一位全加器

    原理图设计以及VHDL设计 一位加法器 全加器原理 全加器真值 输出表达式 原理图设计法 VHDL设计法 代码如下: 全加器是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器.一位全加器 ...

  3. 第三次笔记:算术逻辑单元 电路基本原理 加法器的设计 一位全加器 串行进位加法器 并行进位加法器 补码加减运算器 无符号整数加减法 标志位的生成

    文章目录 算术逻辑单元 逻辑运算 一位全加器 串行进位加法器 并行进位加法器 补码加减运算器 加法器原理 补码加法器原理 无符号整数加减法 标志位的生成 算术逻辑单元 算术逻辑单元就是运算器里面的AL ...

  4. stm32编程入门_电子设计与单片机编程书籍资料推荐

    有些同学让我推荐些入门书籍,尝试写写: 注:请多看下目录与介绍,网络上也有一些读书笔记和推荐,自行判断是否符合现有层次和水平,再决定是否购买. 针对零基础.非专业的电子爱好者,我的推荐学习步骤是: 自 ...

  5. 【FPGA学习】Quartus II中Testbench编写

    在编写FPGA的程序时,常常要在ModelSim软件上进行仿真,来验证功能 而要进行仿真,就要先编写Testbench 我们可以使用QuartusII总动生成一个Testbench的模板 选择Proc ...

  6. 【FPGA学习】Quartus II中NCO与FFT ip核的仿真

    FPGA有许多IP核使用起来很方便,本篇博客记录一下NCO以及FFT的IP核使用和学习,实验平台是Altera公司的EP4CE40F23C8N 参考资料: Altera--NCO IP核详解 ALTE ...

  7. 【FPGA学习】Quartus II新建工程流程

    一.新建工程导航流程 在菜单栏 "File -> New Project Wizard-" 1.导航配置内容简介 工程的命名以及指定工程的路径: 指定工程的顶层文件名 添加已 ...

  8. quartus ii设计电子数字时钟(原理图输入)

    总体设计思路 数字电子钟是一种直接用数字显示时间的计时装置.一般由晶体振荡器.分频器.计数 器.译码器.显示器.校时电路和电源等部分组成. 设计要求: (1)具有时.分.秒的计数功能,并且以 24 小 ...

  9. 使用modelsim设计4位全加器,并调出波形图和电路图(详细教程)

    OK , Let's begin 一.仿真 四位全加器的代码如下 add4的代码 module add_4(input[3:0] a,b,output[3:0] sum,output cout,inp ...

  10. 基于Quartus II 软件(VHDL)设计

    目录 一,基于 Quartus II 的数字系统设计流程 二,Quartus II 软件使用介绍 1. 建立工程 2. 设计输入 3. 编译 4. 时序仿真 quartus ii 安装请参考: Qua ...

最新文章

  1. asp.net 设置分页
  2. 使用Apache下poi创建和读取excel文件
  3. SAP Spartacus B2B user列表对应的Angular Component
  4. mysql table keys_MySQL Explain详解
  5. php 执行多个文件,PHP提高执行多个查询时读取一千行文件的性能
  6. REST和RESTful详解到实战
  7. 年青人应知道的几个故事
  8. 领英:经济图谱在中国,为人才就业勾画新版图
  9. BZOJ3781 小B的询问
  10. python调用win32api详解_Python调用Win32 API实现截图
  11. 一维热传导问题与C++描述
  12. ASIHTTPRequest实现https双向认证请求
  13. 苹果8硬件保修服务器,iPhone手机刷机报错,很多是硬件问题
  14. 《知识图谱》赵军 学习笔记
  15. MAX31865模块的使用-基于ZigBee_CC2530芯片 PT100测温
  16. 信息收集-CMS识别
  17. iar 预编译会把非条件的去掉_SkyIAR(简单高效的IDEAHCIRAID解决方案)v1.2 [2012.8.14]...
  18. 支持Adobe Photoshop CC 201720182019 的Coolorus 2.5.14 色环插件
  19. ios12怎么投屏电脑 苹果手机怎么投屏
  20. 哪个软件可以免费pdf转word?可以pdf转word的软件分享给你

热门文章

  1. 解决 EndNote X9 安装报错 lnstallation ended prematurely because of an error.
  2. 学计算机跨考航天航空,北京航空航天大学计算机考研辅导班:跨考考研经验
  3. 数据挖掘(七) DBSCAN聚类算法
  4. python3GUI--抖音无水印视频下载工具(附源码)
  5. 智慧城市数字政府建设【转】
  6. 微信小程序:文档下载功能
  7. 实现一个二维码支持微信和支付宝同时收付款
  8. 华为钱包扫码云闪付_Huawei Pay开通与使用银联云闪付教程
  9. python爬虫解决极验验证码问题
  10. tpac100控制器设置教程_ac100控制器设置方法