目录
前言
本文内容:
基于 Quartus 软件完成一个 1 位全加器的设计,分别采用
1)原理图设计;
2)Verilog 编程
实现方法。软件基于 quartusII 13.0 版本,开发板基于 Intel DE2-115
一、原理图设计全加器
1.1半加器设计
1、新建工程
【File】→【New Project Wizard…
点击【Next】后进入如下界面:选择保存路径及工程名,然后点击【Next】。
点击【Next】后进入如下界面:选择【Cyclone IV E】,勾选第二个,选择【EP4CE115F29C7】系列,然后点击【Next】
点击【Next】【Finish】后即可完成创建。
2、新建原理图文件
【File】→【New…】。
选择【Block Diagram/Schematic File】后点击【OK】。
摆放元件:点击插头图样或者双击原理图空白处,调出新窗口。
在元件搜索框内输入 and2
和 xor
并摆放到图上。
分别摆放两个输入和输出。
双击【pin name】修改管脚名,然后用鼠标连接管脚。
点击保存按钮,然后点击【保存】。
点击【编译按钮】(无错误即可,忽略警告)
3、将设计项目设置成可调用的元件
在打开半加器原理图文件【Demo1.bdf】的情况下,选择菜中【File】→【Create/Update】→【Create Symbol Files for Current File】项,即可将当前文件【Demo1. bdf】变成一个元件符号存盘,以待在高层次设计中调用。
4、半加器仿真
新建波形文件:【File】→【New…】。选择【University Program VWF】,点击【OK】。
【Edit】→【Insert】→【Insert Node or Bus…】。
点击【Node Finder】→【List】→【>>】→【OK】→【OK】。
选中要改变电平的区域,然后点击左上方的 “0” “1” 图样即可。
保存 .vwf 文件。
点击编译按钮
1.2 全加器设计
1新建原理图
编辑原理图如下:
2、将设计项目设置成顶层文件并编译仿真
二、Verilog实现全加器
1、创建 Verilog 文件
【File】→【New…】。选择【Verilog HDL File】,点击【OK】。
2、编写代码
完整代码如下
module Verilog1(
//输入信号,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
3、编译
4、实验电路结果图
通过【Tools】→【Netlist Viewers】→【RTL Viewer】查看电路图。
三、下载文件到开发板上
3.1 引脚绑定
- 开发板上的18个拨码开关选其中三个:SW0、SW1、SW2 分别接 ain、bin、cin(开关向上拨和向下拨分别显示输入是高还是低电平)
- LED0、LED1 分别接 cout 和 sum,灯亮表示输出为 “1”,灯灭表示输出为 “0”。
- 开始绑定引脚:点击【Assignments】→【Pin Planner】。
- 在【location】栏填入对应的 FPGA 引脚。
-
3.2 烧录文件
- 第一次下载需安装硬件:即在下载界面中点击按钮【hardware setup…】,然后在弹出的对话框中选择【USB blaster】,再点击【ok】,则硬件被安装上。
- 勾选上,点击【Start】,烧录成功
- 真机显示
- 由于没有板子,就没有完成实验
-
四、总结
- 通过本次实验,我们深入了解了硬件加速器的原理和设计方法。通过Quartus软件,我们成功地实现了1位加速器的设计,并验证了其功能。实验过程中,我们也遇到了一些问题,如代码调试、仿真与实际测试的差异等。这些问题提醒我们在今后的实验中需要更加细心和耐心,注重理论与实践的结合。
-
五、参考文献
- 使用 Quartus-ll 两种方法仿真全加器并烧录到 Intel DE2-115 开发板中验证_quartus烧录-CSDN博客