FPGA编程入门:Quartus II 设计1位全加器

FPGA编程入门:Quartus II 设计1位全加器

  • 一、半加器和1位全加器原理
    • (一)半加器
    • (二)1位全加器
  • 二、实验目的
  • 三、Quartus II设计半加器
    • (一)新建工程
    • (二)创建原理图
    • (三)将设计项目设置成可调用的元件
    • (四)半加器仿真
  • 四、Quartus II设计全加器
    • (一)新建原理图
    • (二)将设计项目设置成顶层文件
    • (三)全加器仿真
  • 五、硬件下载测试
    • (一)引脚绑定
    • (二)硬件测试
  • 六、总结
  • 七、参考资料

一、半加器和1位全加器原理

(一)半加器

如果A、B两数分别表示被加数和加数,用S表示A与B的本位和,用O表示向高一位的进位数。A与B相加可归纳如下四种情况:
在这里插入图片描述
把这四种情况,可归纳为真值表如下
FPGA编程入门:Quartus II 设计1位全加器_第1张图片
根据真值表,可以写出逻辑式
在这里插入图片描述
可见本位和S的逻辑关系为“异或”逻辑,进位数image.png为“与”逻辑。MOS加法器,这种只考虑A、B两敬相加及向高位进位,而不考虑由低位向此位进位的加法电路,称为半加器。图3-12(a)为半加器逻辑图;38-12(b)为半加器电路图
FPGA编程入门:Quartus II 设计1位全加器_第2张图片

(二)1位全加器

若两个多位数相加,除了要考虑对应位的数相加外,还必须考虑与低一位的进位数相加。MOS加法器,因此,两个多位数相加时,每位加法器需要有三个输入端和两个输出端,这种加法器称为全加器。

FPGA编程入门:Quartus II 设计1位全加器_第3张图片
FPGA编程入门:Quartus II 设计1位全加器_第4张图片
根据真值表,当然也可以列出卡诺图进行化简得出
在这里插入图片描述

FPGA编程入门:Quartus II 设计1位全加器_第5张图片

二、实验目的

通过1位全加器的详细设计,掌握原理图输入以及Verilog的两种设计方法。
软件基于quartusII 13.0版本,开发板基于Intel DE2-115。

三、Quartus II设计半加器

1位全加器可以用两个半加器及一个或门连接而成, 因此需要先完成半加器的设计

(一)新建工程

1.File->
FPGA编程入门:Quartus II 设计1位全加器_第6张图片
2.点击Next
FPGA编程入门:Quartus II 设计1位全加器_第7张图片
3.设置工程的存储位置和项目名称
FPGA编程入门:Quartus II 设计1位全加器_第8张图片
4.选择Next
FPGA编程入门:Quartus II 设计1位全加器_第9张图片

5.选择目标芯片:cyclone IV E系列的EP4CE115F29C7FPGA编程入门:Quartus II 设计1位全加器_第10张图片
6.EDA Tool Setting设置,直接Next
FPGA编程入门:Quartus II 设计1位全加器_第11张图片
7.点击finish
FPGA编程入门:Quartus II 设计1位全加器_第12张图片
之后界面上会出现顶层文件名和项目名:
FPGA编程入门:Quartus II 设计1位全加器_第13张图片

(二)创建原理图

1file->new
FPGA编程入门:Quartus II 设计1位全加器_第14张图片
2.Design Files->Block Diagram/Schematic File ->OK
FPGA编程入门:Quartus II 设计1位全加器_第15张图片
3.点击按纽 Symbol Tool或直接双击原理图空白处
FPGA编程入门:Quartus II 设计1位全加器_第16张图片
4.从Symbol窗中选择需要的符号,或者直接在name文本框中键入元件名
FPGA编程入门:Quartus II 设计1位全加器_第17张图片
5.分别调入元件and2,xnor和输入输出引脚input和output。并如图用点击拖动的方法连接好电路。输入各引脚名:a、b, co和s。FPGA编程入门:Quartus II 设计1位全加器_第18张图片
6.保存文件,选择菜单File - Save As,选择刚才为自己的工程建立的目录…\adder下,将已设计好的原理图文件取名为:half_adder.bdf(注意默认的后缀是.bdf),并存盘在此文件夹内
FPGA编程入门:Quartus II 设计1位全加器_第19张图片
FPGA编程入门:Quartus II 设计1位全加器_第20张图片
7.编译,点击图标进行编译,若无错误则可进行下一步,若有错进行原理图修改
在这里插入图片描述
FPGA编程入门:Quartus II 设计1位全加器_第21张图片

(三)将设计项目设置成可调用的元件

为了构成全加器的项层设计,必预将以上设计的半加器half_adder.bdf设置成可调用的元件

选择FileCreate/UpdateCreate Symbol Files for Current File
FPGA编程入门:Quartus II 设计1位全加器_第22张图片

(四)半加器仿真

1.新建波形文件filenewuniversity program VWF,选择后点击OK
FPGA编程入门:Quartus II 设计1位全加器_第23张图片
2.点击空白处,选择insert node or busnode finder
FPGA编程入门:Quartus II 设计1位全加器_第24张图片
FPGA编程入门:Quartus II 设计1位全加器_第25张图片
3.点击List,左面出现则触发器中所有的输入输出引脚。再在该界面上点击>>,则把左边所有的端口都选择到右边,点击两次OK,进入波形,
FPGA编程入门:Quartus II 设计1位全加器_第26张图片
FPGA编程入门:Quartus II 设计1位全加器_第27张图片
4.设置波形后保存
FPGA编程入门:Quartus II 设计1位全加器_第28张图片

5.点击仿真编译按钮
在这里插入图片描述
报错
FPGA编程入门:Quartus II 设计1位全加器_第29张图片

解决办法:
(1)点击Toolslaunch Simulation Library Complier
FPGA编程入门:Quartus II 设计1位全加器_第30张图片

(2)配置相关设置

注意Output Directory一定要选择到simulation\qsim目录底下,不然还会报错

FPGA编程入门:Quartus II 设计1位全加器_第31张图片

(3)出现以下提示就说明可以了
FPGA编程入门:Quartus II 设计1位全加器_第32张图片
最终结果如图
FPGA编程入门:Quartus II 设计1位全加器_第33张图片
5.时序仿真,点击时序仿真按钮
在这里插入图片描述
FPGA编程入门:Quartus II 设计1位全加器_第34张图片

四、Quartus II设计全加器

(一)新建原理图

三、(二)新建原理图相同
以full_adder.bdf名将此全加器设计存在同一路径的文件夹中。3个input(ain,bin,cin),2个 output(cout,sum),2个half_adder,1个or2,连线如下

FPGA编程入门:Quartus II 设计1位全加器_第35张图片

(二)将设计项目设置成顶层文件

1.选择projectset as top_level entity
FPGA编程入门:Quartus II 设计1位全加器_第36张图片

2.如图
FPGA编程入门:Quartus II 设计1位全加器_第37张图片

(三)全加器仿真

1.编译无错
FPGA编程入门:Quartus II 设计1位全加器_第38张图片
2.功能仿真图
与半加器仿真类似
FPGA编程入门:Quartus II 设计1位全加器_第39张图片
3.时序仿真图:
FPGA编程入门:Quartus II 设计1位全加器_第40张图片

五、硬件下载测试

(一)引脚绑定

引脚绑定前先要确定具体硬件电路,即目标芯片与外围电路(输入、输出显示等)的连接情况。实验室使用的ED2-115开发板,除了核心FPGA芯片外,还自带一些外围输入输出电路。我们就是利用这些输入输出电路来进行硬件测试
FPGA编程入门:Quartus II 设计1位全加器_第41张图片

如全加器引脚绑定,可以这样设计:开发板上的18个拨码开关选其中三个,SW0,SW1,SW2分别接ain、bin、c(开关向上拨和向下拨分别显示输入是高还是低电平);LED0,LED1分别接co和sum,灯亮表示输出为“1”,灯灭
表示输出为“0”。

1.查看引脚
硬件设计好后,还需要查引脚图(引脚图见附录)进行引脚绑定。从 附 录 “ 表 4-1 拨 动 开 关 引 脚 配 置 ” 中 找 到 输 入 的 三 个 开 关SW0,SW1,SW2,再找到对应的“FPGA引脚号”。如图:
FPGA编程入门:Quartus II 设计1位全加器_第42张图片
相应的,在附录的表 4-3 中查找到 LED 的引脚配置。
FPGA编程入门:Quartus II 设计1位全加器_第43张图片
2.从菜单中选择assignmentspin planner
FPGA编程入门:Quartus II 设计1位全加器_第44张图片3.调出引脚绑定窗口,然后从下拉窗口中选择相应的输入输出端口,再在location栏填入对应的 FPGA 引脚即可,如图
FPGA编程入门:Quartus II 设计1位全加器_第45张图片
4.选定了引脚之后原理图文件一定要再编译一次,才能真正把引脚绑定上。引脚绑定好并编译过的文件如图:
FPGA编程入门:Quartus II 设计1位全加器_第46张图片

(二)硬件测试

1.下载到硬件
把开发板接上电源,USB 接口接电脑。打开电源开关(注意不用下载时请一定关闭开关,以免烧坏板子)。点击软件工具栏上的按钮
在这里插入图片描述
2.则出现下载界面。第一次下载需安装硬件。即在下载界面中点击按钮“hardware setup…”,然后在弹出的对话框中选择“USB blaster”,再点击“ok”,则硬件被安装上
FPGA编程入门:Quartus II 设计1位全加器_第47张图片
3.安装好硬件的界面如图。然后在下载的.sof 文件后面的复选框中打勾,再点击”start”,
当进度条达到 100%时,即下载成功,可以进行硬件观测
FPGA编程入门:Quartus II 设计1位全加器_第48张图片
4.硬件观测图

ain bin cin sun cout
1 1 1 1 1

六、总结

本次实验储备了解了Quartus II仿真实现的过程,了解如何用其进行模拟仿真和硬件仿真。通过半加器和全加器的设计实现,更加了解它们的原理结构。

七、参考资料

MOS加法器(半加器、全加器)的原理及区别

你可能感兴趣的:(FPGA学习笔记,fpga开发)