设计流程
一般来说,FPGA的设计流程包括设计输入、RTL仿真、设计综合、布局布线、时序仿真、时序分析等,如下图所示。
①设计输入:通过某些规范的描述方式,将工程师电路构思输入给EDA工具,常用的设计输入方法有原理图、HDL、IP核等。
②分析综合:分析设计所描述的逻辑功能,并报告设计中的语法和逻辑错误,将设计输入翻译成逻辑连接(网表),最终输出网表文件。
③功能仿真:使用仿真软件验证电路功能是否符合要求,也称作前仿真。
④布局布线:将逻辑网表中的硬件原语或者底层单元合理地适配到FPGA内部的固有硬件结构上,利用FPGA内部的各种连线资源,合理正确连接各个元件的过程。
⑤时序仿真:将布局布线的时延信息反标注到设计网表中,再次进行仿真,目的在于发现时序违规(即不满足时序约束条件或器件固有时序规则),也称作后仿真。
⑥时序分析:为了保证设计的可靠性,在时序仿真后还要做一些验证,如静态时序分析等。
⑦板级验证:将生成的配置文件下载到芯片中,看在实际硬件电路中是否能达到预期效果。
⑧板级调试:在硬件电路板上进行调试,排查问题,使用逻辑分析仪和示波器等工具进行引脚输出波形测试,解决问题。
任何仿真或验证步骤出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。