深度学习 FPGA 深入浅出玩转fpga_触发器

一、需求分析到模块划分

1.需求分析:根据需求,完成芯片选型
2.模块划分:浩大工程分多模块完成,分工明确,便于后期维护

二、设计输入到综合优化

1.设计输入:可以是代码输入或原理图输入,复杂应用一般用代码输入。
2.综合优化:将高层输入代码转化为底层与门、非门、RAM、触发器等基本单元。
3.行为仿真:不涉及时序上的延时,单纯验证功能正确性,通过测试脚本TesetBech的编写模拟FPGA与外围电路的时序。

三、实现到时序收敛

1.添加时序约束:对工程进行全局约束+IO时序约束+需要的地方例外约束。
2.实现:翻译、映射、布局布线。
3.查看时序报告:添加时序约束前后变化最大的是布局布线。一般设计者会先看映射后的时序报告,该报告逻辑延时完全准确,而布线延时却是估计出来的。由于布局布线的编译工作需要大量时间,所以设计者会先看映射后的时序报告,时序裕量足够的情况下再进行布局布线,最后布局布线的时序报告最接近板级时序分析结果。

四、仿真测试到板级调试

电路烧写到FPGA上之后,通过仿真器输入测试激励,接受并回放波形观察某段时间的运行结果是否正确。

深度学习 FPGA 深入浅出玩转fpga_触发器_02


1.行为仿真:采用testbench验证verilog设计代码的逻辑正确性。

2.功能仿真:综合后的功能仿真将verilog设计代码映射到门级网表,此时还不包括布局布线延迟信息(plus:Xilinx公司的集成开发环境ISE中并不支持综合后仿真,而是使用映射前门级仿真代替)

3.时序仿真:功能仿真基础上加入电路延时信息,最接近板级调试。

4.板级调试:验证最终功能是否实现。常用的调试方法有在线逻辑分析仪,信号探针等方法。