1、常用的联合仿真
HDL+C,模拟整个系统的运行。记录数据的交互过程,实现系统级的仿真。
使用到的工具modelsim、matlab和vs。
可以实现:
运行行为仿真
运行综合后仿真
运行综合后时序仿真
运行实现后的功能仿真
运行实现后时序仿真
实测过程中发现用modelsim对真双口RAM仿真时,只有运行行为仿真时结果是正常的,其他模式时序都存在问题,但是实测和行为仿真时结果一致。
2、vivado单独仿真
使用vivado仿真的时候,暂时没法利用matlab的edalink实现和vivado互动,因此可以利用1中的HDL+C在行为仿真模式下进行正常的系统级仿真,并记录下HDL与C的交互数据。在用vivado仿真的时候,用HDL读入交互数据(激励数据),模拟联合仿真时的运行过程。
实测表明用vivado仿真时,每种仿真模式下,仿真结果都是正常的。
3、利用实际的中间数据仿真
中间数据的获取有三种方式:a、利用原先做好的usb3.0将运行过程中的中间数据从开始记录下来,然后再提取出中间数据供仿真用;b、ila内置逻辑分析仪,加触发,获取相应的数据,如果通过观看波形不能解决问题,可以将数据用csv格式导出,然后转换成激励数据,对比仿真和实测时的差异;c、如果数据在ps端也能获取,可以在ps端设置相应的断点,然后通过tcl命令将相应数据存储到电脑上,之后转换成激励数据。