FPGA系统性学习笔记连载_Day2-3开发流程篇之Quartus prime 18.0
本系列为FPGA系统性学习学员学习笔记整理分享,如有学习或者购买开发板意向,可加交流群联系群主。
连载《叁芯智能fpga设计与研发-第2-3天》 【工程建立、verilog代码编写、分析综合、仿真、程序下载、程序固化】之 《quartus prime 18.0》
原创作者:紫枫术河 转载请联系群主授权,否则追究责任
这篇文章记录《Intel Cyclone IV》 系列的基本开发流程(我用的是quartus prime 18.0)
一、建立工程
1、打开quartus 18.0的新建工程向导
2、点击下一步
3、选择工程位置,输入工程名
4、点击下一步
5、点击下一步
6、选择芯片(EP4CE6E22C8),他属于Cyclone IV E系列,封装QFP,引脚数量144
7、选择仿真工具ModelSim-Altera,和工程的HDL语言Verilog HDL
8、点击Finish完成
9、现在工程里没有任何文件如下
10、点击file的new
11、在弹出的对话框,选择verilog HDL
12、刚创建的文件还没有保存,首先进行保存
13、另存为and_gate2_1.v 并保存在rtl文件夹下面
14、编写一个2输入与门的verilog代码,如下:
代码语言:javascript复制module and_gate2_1(
input wire a,
input wire b,
output wire y
);
assign y = a && b;
endmodule
15、点击左侧Complie Desing->Analysis&Synthesis的分析综合选项,对刚写的Verilog代码进行分析综合
如果无误,会提示0 error,中间会提示该代码使用了1个逻辑单元、3个引脚、和FPGA型号EP4CE22E22C8
16、点击左侧Complie Desing->Analysis&Synthesis->Netlist Viewers->RTL Viewer选项查看生成的寄存器传输级示意图(从图片可以看出是2输入与门)
17、点击左侧Complie Desing->Fitter(Place & Route)的布局布线选项,无误也会提示0 error
18、点击左侧Complie Desing->Fitter(Place & Route)->Chip Planner的芯片规划器选项
可以按键有一块区域是蓝色的
19、双击蓝色区域里面的蓝色小区域
20、双击蓝色区域后,会显示FPGA内部使用的逻辑资源
21、编写仿真文件,创建and_gate2_1_tb.v保存在msim文件夹下面,并编写代码
代码语言:javascript复制`timescale 1ns/1ps
module and_gate2_1_tb();
reg a;
reg b;
wire y;
and_gate2_1 and_gate2_1_inst(
.a (a),
.b (b),
.y (y)
);
initial begin
a = 0;
b = 0;
# 20;
a = 0;
b = 1;
# 20;
a = 1;
b = 0;
# 20;
a = 1;
b = 1;
# 20;
end
endmodule
22、设置仿真文件
23、按照下图1-9的步骤设置使用的仿真脚本,仿真脚本就是我们写的and_gate2_1_tb.v文件
24、按照步骤15再次进行分析综合
25、进行仿真按照下图打开modsim仿真界面
26、打开的仿真波形界面如下
27、单击全局缩放按钮,对波形缩小在当前屏幕范围内,观察波形
输入 0 0 ->0 0 1 ->0 1 0->0 1 1->1,可以得出结论设计的2输入与门仿真正确
28、分配引脚,当我们设计的逻辑经过仿真没有问题,就可以分配引脚下板验证
28.1、点击工程文件左侧Complie Desing->Analysis&Synthesis->I/O Assignment Analysis->Pin Planner的引脚分配界面
28.2 我们用2 个按键模拟与门的输入信号,用1个led模拟 与门的输出信号,查看原理图得知 key0(pin91) key1(pin90) led0(pin73)
在location位置双击,输入90回车,依次类推
29、分配完成后再次执行步骤15
30、双击Assembler生成下载文件
31、打开程序烧写工具
31.1、打开烧写工具后,先检查烧写器能否正常识别,如果不能识别,需要检查硬件和驱动
31.2、添加烧写文件,单击Add file在弹出的对话框中找到qpri->output files->and_gate2_1.sof文件
31.3、单击start开始程序下载,当进度条显示100%表示下载成功
31.4、硬件验证,通过按键测试输入信号和led灯与设计一致
32、程序固化、FPGA是基于SRAM设计的,所以程序掉电丢失,需要将程序烧写进flash里
33、首先需要生成可烧写进flash的文件,quartus 是生成.jic文件
34、打开菜单的转换文件
35、选择输出的类型为.jic,在configuration device选择EPCQ16(代表16Mbit的容量),file name是输出的文件名,改成与工程名一致
36、选择cpu,EP4CE6,按照下图所示
37、添加sof文件
38、生成and_gate2_1.jic文件
39、添加and_gate2_1.jic到烧写工具
40、选中配置,再点击start,等到进度条100%即固化成功