FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

来源野火的线上视频教学,使用的是野火的Altera cycloneⅣ EP4CE10开发板,使用的硬件语言是Verilog。Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。使用的软件是Quartus II

 

2.1 设计流程学习:点亮一个LED灯

介绍:以点亮一个led灯为例子,介绍FPGA的基本设计流程,包括:① 规划设计、② 波形绘制、③ 代码编写、④ 代码编译、⑤ 仿真文件编写及代码仿真、⑥ 管脚绑定、

⑦ 综合编译、⑧ 上板验证、⑨ 程序固化等步骤。

 

① 规划设计:使用按键Key1点亮Led6,Key1→Led6

根据硬件电路图(如2-1-1所示),按键按下时,输出的是低电平,按键未按下时,输出的是高电平。

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

 

而对于Led灯,当输出为高电平时,两端没有电压差,Led灯不被点亮;当输出为低电平时,两端有电压差,此时Led灯被点亮。如图2-1-2所示。

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

 

② 波形绘制

    绘制波形有利于代码的编写,以及仿真时候的波形验证。新建一个led的文件夹存放工程文件,里面新建四个文件夹:doc,quartus.prj,rtl,sim。在doc内存放绘图文件,新建一个绘图编辑如下图2-1-3

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

   

③ 代码编写

    rtl内存放代码文件,在rtl文件夹内新建一个led.v文件,点击打开,进行代码的编写。如下:

module  led

(

    input     wire    key_in,

    output    wire    led_out

);

 

assign  led_out = key_in;

 

endmodule  

//module与endmodul成对出现,module后接的模块名应与文件名相同

 

④ 代码编译

    新建工程之后,进行代码的编译,如下图2-1-4和图2-1-5所示,代码编译通过,没有错误。

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

 

⑤ 代码仿真

    编写仿真测试文件(本次不编写,使用已做好的仿真文件),将仿真测试文件加入到工程中,使用Modelsim软件进行仿真,如下图2-1-6所示。

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

 

    ⑥ 管脚绑定

    打开管脚绑定页面,如下图2-1-7所示,进行硬件的管脚的绑定。

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

 

    ⑦ 综合编译

    综合编译会生成网表文件,在硬件中有实际的电路,如图2-1-8所示,综合编译结果通过。

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

 

    ⑧ 上板验证

    在工程中添加led.sof文件,连接开发板,按下key1,观察led6是否被点亮,如图2-1-9所示,led6被点亮,上板验证通过。

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)

 

 

    ⑨ 程序固化

    程序固化是为了掉电之后,重新上电后依然可以执行该程序。需要生成jic文件,添加到工程中。如图2-1-10所示,生成jic文件

FPGA学习—通过点亮一个LED灯来学习FPGA的设计流程(Quartus II)