微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 射频工程师文库 > 应用EDA仿真技术解决FPGA设计开发中故障的方法

应用EDA仿真技术解决FPGA设计开发中故障的方法

时间:03-01 来源: 点击:

\

图5 ModelSim环境下复现的出错数据

把图5和图1进行比较,可见通过这种方法我们在仿真环境下建立了bug出错时的环境,得到相同的输出出错数据。

  ③修改程序后在仿真环境验证修改是否成功

  修改程序后,我们只要使用同样的环境进行仿真,并且有针对性的观察bug是否解决。本例中出现bug的原因是使用了异步FIFO,改成同步 FIFO后,问题应该就会解决,我们可以通过仿真验证。修改程序后仿真的波形如图6所示。

\

图6 修改程序后相同条件下的输出数据

由图6可见,修改后相同的条件FIFO读出4个数,说明没有读空,符合要求,bug解决。图7为版本编译后上板使用SignalTap抓取的信号波形,以作比较。

\

图7 修改程序后SignalTap抓的信号

比较后易见,波形完全相同,说明方法可行。

总结

  文中描述的方法可针对各种的故障的解决。在故障出现时,只需定位出错的模块,这些模块内嵌一些子模块也无妨;抓信号时将故障模块的输入输出信号抓出即可;利用输入信号重建故障环境,若仿真输出信号和所抓输出信号相同,说明故障环境建立正确;用这个仿真平台就可以具体定位是哪个子模块、哪个信号出错,而不需要在SignalTap中把这些信号抓出来;并且在修改代码后可以验证是否修改成功,节省时间,很明确的证明故障真的被解决了,事半功倍。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top