一样平常来说,完全的FPGA设计流程包括电路设计与输入、功能仿真、综合优化、综合后仿真、布局布线、布局布线后仿真、板级仿真与验证、加载配置与在线调试等紧张步骤。
1.电路设计与输入
电路设计与输入是指通过某些规范的描述办法,将电路构思输入给EDA工具。常用的设计输入方法有硬件描述措辞和事理图设计输入方法等。事理图设计输入法在早期运用比较广泛,它根据设计哀求选用器件、绘制事理图、完成输入过程。这种方法的优点是直不雅观、便于理解、元器件库资源丰富。但是在大型设计中,该方法的可掩护性较差,不利于模块布局与重用。

目前进行大型工程设计时,常用的设计方法是硬件描述措辞设计输入法,个中影响最为广泛的HDL措辞是VHDL和Verilog HDL。它们的共同特点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与构造的不同而变革,更利于向ASIC的移植。波形输入和状态机输入方法是两种常用的赞助设计输入方法。利用波形输入法时,只要绘制出勉励波形和输出波形,EDA软件就能自动地根据相应关系进行设计。利用状态机输入法时,设计者只需画出状态转移图,EDA软件就能天生相应的HDL代码或者事理图,利用十分方便。
2.功能仿真
电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计哀求。功能仿真有时也被称为前仿真。
3.综合优化
综合优化是指将HDL措辞、事理图等设计输入翻译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标与哀求(约束条件)优化所天生的逻辑连接,输出edf和edn等标准格式的网表文件,供FPGA厂家的布局布线器实现。
4.综合后仿真
综合完成后须要检讨综合结果是否与原设计同等,做综合后仿真。在仿真时,把综合天生的标准延时文件反标注到综合仿真模型中,可估计门延时带来的影响。综合后仿真虽然比功能仿真更精确,但只能估计门延时,不能估计线延时,仿真结果与布线后的实际情形还有一定的差距,并不十分准确,这种仿真的紧张目的是检讨综合器的综合结果是否与设计输入同等。目前主流综合工具日益成熟,对付一样平常性设计,如果设计者确信自己表述明确,没有综合歧义发生,可以省略综合后仿真步骤。但是如果在布局布线后仿真创造有电路构造与设计意图不符的征象,就须要回溯到综合后仿真以确认是否是由于综合歧义造成的问题。
5.布局布线
综合结果的实质是一些由与门、或门、非门、触发器和RAM等基本逻辑单元组成的逻辑网表,其与芯片实际的配置情形具有较大差距。此时该当利用FPGA厂商供应的软件工具,根据所选芯片的型号,将综合输出的逻辑网表适配到详细的FPGA器件上,这个过程就叫实现过程。由于只有器件开拓商最理解器件的内部构造,以是实现步骤必须选用器件开拓商供应的工具。在实现过程中最紧张的过程是布局布线,所谓布局是指将逻辑网表中的硬件或底层单元合理地适配到FPGA内部的固有硬件构造上,布局的利害对设计的终极实现结果影响很大。
所谓布线是指根据布局的拓扑构造,利用FPGA内部的各种连线资源,合理精确地连接各元件的过程。FPGA的构造相对繁芜,为了得到更好的实现结果,特殊是担保能够知足设计的时序条件,一样平常采取时序驱动的引擎进行布局布线。以是对付不同的设计输入,特殊是不同的时序约束,得到的布局布线结果一样平常有较大差异。一样平常情形下,用户可以通过设置参数指定布局布线的优化准则,总之,优化目标紧张有面积和速率两个方面哀求。一样平常根据设计的紧张抵牾,选择面积、速率或平衡两者的优化目标。如果当两者冲突时,一样平常先知足时序约束哀求,此时选择速率或时序优化目标效果更好。
6.时序仿真与验证
将布局布线的时延信息反标注到设计网表中,所进行的仿真就叫时序仿真或布局布线后仿真,简称后仿真。布局布线之后天生的仿真时延文件包含的时延信息最全,不仅包含门延时,还包含实际布线延时,以是布线后仿真最准确,能较好地反响芯片的实际事情情形。一样平常来说,布线后仿真步骤必须进行,通过布局布线后仿真能检讨设计时序与FPGA实际运行情形是否同等,确保设计的可靠性和稳定性。布局布线后仿真的紧张目的在于创造时序是否违规,即是否知足时序约束条件或器件固有时序规则的情形。
7.板级仿真与验证
在有些高速设计中还须要利用第三方的板级验证工具进行仿真与验证。
8.加载配置与在线调试
设计开拓的末了步骤是在线调试或将天生的配置文件写入芯片中进行测试。示波器和逻辑剖析仪是逻辑设计的紧张调试工具。传统的逻辑功能板级验证手段是用逻辑剖析仪剖析旗子暗记,设计时哀求FPGA和PCB设计职员保留一定数量的FPGA引脚作为测试引脚,编写FPGA代码时须要不雅观察的旗子暗记作为模块的输出旗子暗记,在综合实现时再把这些输出旗子暗记锁定到测试引脚上,然后将逻辑剖析仪的探头连接到这些测试脚,设定触发条件,进行不雅观测。逻辑剖析仪的优点是专业、高速、触发逻辑可以相对繁芜,缺陷是价格昂贵、灵巧性差。PCB布线后测试脚的数量有限,不能灵巧增加,当测试脚不足用时影响测试,如果测试脚太多又影响PCB布局布线。
对付相对大略一些的设计,利用Quartus II内嵌的SignalTap II和Xilinx供应的Chip Scope工具,对设计进行在线逻辑剖析可以较好地办理上述抵牾。其紧张功能是通过JTAG口,在线、实时地读出FPGA的内部旗子暗记。基本事理是利用FPGA中未利用的Block RAM,根据用户设定的触发条件将旗子暗记实时地保存到这些BlockRAM中,然后通过JTAG口传送到打算机,末了在打算机屏幕上显示出时序波形。任何仿真或验证步骤涌现问题,就须要根据缺点的定位返回到相应的步骤变动或者重新设计。