前言
关于FPGA的相关资料,网上有很多,但是为了保持原创和便于大家理解,我就根据自己多年的工作学习经验总结一下。总结不到位或有误的地方希望大家谅解,并与我联系沟通,我好做相应的更改。 现在公司和科研院所,涉及到的常用FPGA大致可以分为Xilinx,Altera,Lattice三家公司,当然还有一些公司同样在设计生产FPGA,如ACTEL。现在随着国内的FPGA发展,也有一些厂家在设计生产FPGA,只是和国外还有较大差距。如果我们用的是Xilinx公司的FPGA,那么对应的开发软件是ISE或Vivado;如果用的是Alter公司的FPGA,那么对应的开发软件是QuartusII;如果用的是LATTICE公司的FPGA,那么我们用到的开发软件是Diamond。
FPGA大致设计流程
在做FPGA设计时,首先我们需要根据功能需求写出相应的源码(Verilog或VHDL),为了验证我们写的代码是否符合逻辑要求,我们有两种方式,第一种是通过仿真来看波形,第二种直接将源码编译成可以下载到板子上的文件来看上板的现象。当功能简单时,我们可以直接用第二种方式来验证,但是当功能复杂时,第二种方式就有很多弊端了,比如出现功能不正常时,很难发现锁定问题。所以我们一般都是先仿真,确定逻辑功能没问题后,再编译下载。为了养成良好的开发习惯,不管功能简单还是复杂我们都要先仿真。仿真一般用第三方提供的仿真软件(modelsim),可提高仿真效率。代码编写我们可以选用专门的编辑软件,如notepad++,UE等,使用上都差不多,主要看个人习惯。
准备工作
- 编译开发软件(ISE/VIVADO,QuartusII,Diamond),根据自己所选的FPGA来 安装相应的开发软件
- 仿真软件(Modelsim)
- FPGA开发板(入门的话,可以先选择一块价格相对便宜的,我选用的是小精灵FPGA开发板,如下图)
- 下载器
- 代码编辑软件(Notepad++)
- 如果有条件,可以准备一台万用表和示波器,有助于我们理解整个硬件原理
结语
好了,有了以上的条件,我们便可以开始着手学习FPGA了。加油!