FPGA系统性学习笔记连载_Day2-3开发流程篇之Quartus prime 18.0

2021-03-31 10:14:25 浏览数 (1)

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%即固化成功

0 人点赞