应用EDA仿真技术解决FPGA设计开发中故障的方法
时间:03-01
来源:
点击:
图5 ModelSim环境下复现的出错数据
把图5和图1进行比较,可见通过这种方法我们在仿真环境下建立了bug出错时的环境,得到相同的输出出错数据。
③修改程序后在仿真环境验证修改是否成功
修改程序后,我们只要使用同样的环境进行仿真,并且有针对性的观察bug是否解决。本例中出现bug的原因是使用了异步FIFO,改成同步 FIFO后,问题应该就会解决,我们可以通过仿真验证。修改程序后仿真的波形如图6所示。
图6 修改程序后相同条件下的输出数据
由图6可见,修改后相同的条件FIFO读出4个数,说明没有读空,符合要求,bug解决。图7为版本编译后上板使用SignalTap抓取的信号波形,以作比较。
图7 修改程序后SignalTap抓的信号
比较后易见,波形完全相同,说明方法可行。
总结
文中描述的方法可针对各种的故障的解决。在故障出现时,只需定位出错的模块,这些模块内嵌一些子模块也无妨;抓信号时将故障模块的输入输出信号抓出即可;利用输入信号重建故障环境,若仿真输出信号和所抓输出信号相同,说明故障环境建立正确;用这个仿真平台就可以具体定位是哪个子模块、哪个信号出错,而不需要在SignalTap中把这些信号抓出来;并且在修改代码后可以验证是否修改成功,节省时间,很明确的证明故障真的被解决了,事半功倍。
EDA FPGA Quartus II ModelSim 相关文章:
- AWR Microwave Office?软件助力ATL公司快速完成双工器设计(12-24)
- AWR设计软件助力安立快速高效地设计优化微波电路(02-03)
- 错误检测与纠正电路的设计方案(02-11)
- 仿真与测量相结合运用在射频产品设计中(08-10)
- FPGA验证技术在航空电子领域的应用(09-13)
- MIMO 系统的快速原型设计与验证(04-28)