首先要明确几个概念:FPGA代表可编程逻辑器件。市面上有形形色色的FPGA开发板,开发板提供硬件支持,当然你也可以买一些外设(比如摄像头等)拓展开发板功能。开发板的软件部分需要用户进行编程设计,常用的编程语言有Verilog、VHDL,我比较喜欢VHDL,因为VHDL的形式看起来更严谨。常用的开发环境是Quartus II。

Quartus II的安装网上有很多教程,我这里直接提供一个最简单的、傻瓜式的安装。

http://download.altera/akdlm/software/acdsinst/18.1std/625/ib_installers/QuartusLiteSetup-18.1.0.625-windows.exe

http://download.altera/akdlm/software/acdsinst/18.1std/625/ib_installers/ModelSimSetup-18.1.0.625-windows.exe

http://download.altera/akdlm/software/acdsinst/18.1std/625/ib_installers/cyclone-18.1.0.625.qdz

Quartus的安装有三大部分:编程IDE主体(也就是Quartus II)、仿真模块、器件库。主体不说了,仿真是FPGA开发的很重要的一个步骤,就没见过玩FPGA板子不仿真的。仿真就是在虚拟环境下验证输入输出的关系,有点像平时我们用的IDE里的Debug模式。器件库也很重要,器件库取决于你的FPGA开发板型号。我给出的器件库是Cyclone IV型号的。

安装的时候切记遇到选择功能时要全选,否则会给后续仿真带来很大的麻烦。建议各位安装包不要删,要留到你确认自己完全会用这个软件的时候。

下面介绍新手入门需要自己探索学会的知识点:

1.学习一门FPGA语言。比如VHDL。要求掌握基本语法,能够写声明、条件、赋值等语句。理解其中的重要概念,比如并行语句和顺序语句的区别和应用。这一阶段会稍微漫长,主要是尽量地排除将来debug遇到的一些坑。建议找一本教材系统地学一下。

2.学会使用Quartus自带的仿真功能。仿真真是太重要了,如果不会仿真,对后期的模块调试是非常致命的。尤其是当你的工程量很大的时候(尤其是多模块)。

3.学着使用顶层图进行上层设计。这是FPGA编程与C、JAVA最大的不同,你可以在一张顶层图上看到自己设计的各个模块。

4.学习设置管脚。这里有很大的坑——如果你的管脚资料不权威,下载验证会很痛苦。

5.【进阶】学习设置虚拟管脚。

6.【进阶】学习顶层图的“隔空”连线技巧。

7.学会看编程反馈的Error。

基本上,学会1-4点就可以玩得很顺。但是这些点都有很多细节,这里我就不一一展开说了。只要实践得够多,你就可以完全驾驭住FPGA开发。

最后,补充几条开发经验:

1.先设计顶层,自顶向下设计,预留调试接口。

2.注重功能封装,切忌无脑乱码。

更多推荐

【FPGA开发】Quartus II新手入门需克服的几个问题