接下来很长一段时间都将进行FPGA的表述,中间也不时的发一些设计硬件电路和嵌入式开发的讲解,如果对FPGA也还不知道是什么东西的朋友可以自己上网了解,反正一个字表述就是:“强”,还有呢就是以后的表达以Verilog这个硬件描述语言进行,VHDL是真的打扰了,感觉太严谨,不适合我的编程习惯。
首先对FPGA的设计开发流程要有个了解,方便以后的了解,可看下图了解,这是以前上相关的课程时老师提供的一个图。
常用的源程序输入方式有三种:
1)原理图输入方式
优点是容易上手,看着也很直观,缺点是可读性差,复用性差,移植也困难
2)状态图输入方式
简化了状态机的设计
3)HDL软件程序的文本方式
是最普遍的输入方式,任何支持HDL的EDA工具都支持该方式的编辑与编译
感兴趣的可以去自行学习1)和2)的输入方式,我主要记录文本方式的输入。
逻辑综合就是将你以上述方式或其他方式输入的源程序转化为可以与可编程逻辑器件相映射的门级网表文件;
布线/适配就是将综合器产生的网表文件对具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化、布线与操作等,配置到指定的目标器件,产生需要的下载文件。
编程器/下载电缆是当你编译、综合、布线/适配和仿真等过程都没发现问题,则可以将产生的下载文件通过下载器写入FPGA中,注意这时候的文件是掉电就会丢失的,并没有固化。
设计时,根据不同的设计阶段,仿真可以分为三大类型,详细名称如下:
1、RTL级行为仿真(又称作为、前仿真)
这个阶段的仿真是检查代码中的语法错误和代码行为的正确与否,不含延时信息。
2、综合后门级功能仿真;
将综合后网表文件再送到仿真器进行的仿真。
3、时序仿真(又称为后仿真)。
在设计布局布线都完成后,可以提供一个时序仿真的模型,该模型含有器件信息,也会提供SDF时序标注文件(Standard Delay format Timing Anotation)。
今天主要对FPGA的一些设计流程做一个大概的了解,可能是我不太喜欢这些纯表述性的东西,感觉弄得有些不足,对于它的历史背景那些东西,就大家自己网络上看了,也很详细;之后将开始Verilog的编写,对它历史感兴趣的也可以继续上网查阅,这些多了解下也可以增加点知识,当然需要有一些准备工作~
首先接下来的一段时间是进行简单的代码仿真,然后对Verilog的语法有一定的熟悉,所以需要安装有一个Modelsim,也可以装FPGA大厂商的开发软件,比如,Xilinx的ISE、VIVADO;Inter 的Quartus ii;紫光同创的PDS等,具体的还是需要根据自己现有的板卡进行安装,没必要都进行安装,就初学者来说,有一个Modelsim和已有板卡或将拥有的板卡对应的开发软件,甚至你只需要一个Modelsim进行仿真去学习就够用了,我当初就傻傻的花了几百去买了个学习板,现在看着那板子都心塞塞的