联合仿真模式(主要用来测试HDL)总结

本文探讨了HDL+C联合仿真与Vivado单独仿真的应用,特别是在真双口RAM的行为仿真与时序仿真中遇到的问题及解决策略。介绍了如何利用中间数据进行精确的仿真,包括从USB3.0获取数据、使用ILA内置逻辑分析仪和PS端断点设置等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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命令将相应数据存储到电脑上,之后转换成激励数据。

### ISE与ModelSim集成用于FPGA设计仿真的方法 对于FPGA的设计开发流程,在无线基带系统中的FPGA设计、开发和验证工作通常涉及到多个工具的协同使用[^1]。ISE(Integrated Software Environment)是由Xilinx提供的一款综合环境,支持从HDL代码编写到最终比特流文件生成的一系列操作;而ModelSim作为一款广泛使用的硬件描述语言(HDL)模拟器,则可以用来对所编写的逻辑电路进行功能测试。 为了实现ISE与ModelSim之间的有效集成以便于开展FPGA设计仿真活动: - **创建项目**:首先需在ISE中建立新的工程或者打开已有的工程项目。 - **配置仿真设置**:通过ISE Project Navigator菜单下的“Processes for Sources in Active Project”,找到并展开Simulation选项卡内的Process列表,这里可以选择不同的仿真阶段如行为级仿真(Behavioral Simulation),然后双击该条目来启动相应过程。此时会弹出对话框询问是否要指定其他仿真程序,默认情况下是指向Xilinx自带的ISim,但可以通过修改路径指向ModelSim可执行文件的位置来进行更改[^4]。 - **调整ModelSim版本兼容性**:确保安装了适当版本的ModelSim,并且其许可证允许运行所需规模的设计。不同版本之间可能存在接口差异,因此建议参照官方文档确认最佳实践指南[^5]。 - **利用脚本自动化流程**:当频繁切换工具时,考虑编写Tcl/Tk脚本来简化重复性的任务,比如自动加载库、编译源码以及调用特定命令等动作都可以被封装成批处理指令集,从而提高工作效率[^6]。 ```bash vsim -c -do "log /*; run all" ``` 上述命令展示了如何以非交互模式(non-GUI mode `-c`)启动ModelSim,并通过-do参数传递一系列待执行的操作给虚拟平台(vsim),其中`run all`表示让仿真持续直到遇到$stop或$finish语句为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值