Quartus/Modelsim调试仿真技巧

本文分享了几个实用的调试技巧,包括使用SystemSourcesandProbesEditor设置虚拟按键,解决信号被综合优化的问题,以及ModelSim仿真中的常用命令和频率查看方法。

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

 前几天李主任跟我分享了一些特别好用的调试技巧:

1)System Sources and Probes Editor

    类似于人为设置触发条件,创建虚拟按键的功能,这段时间一直在做一个电机的驱动,板上没有额外加按键触发,如果初始化时间不够长,串口调试助手一直捕捉不到上电初始化的数据发送,这个功能在这里就大放光芒了,可以随意设置触发时间,相当于虚拟IO口。

   具体操作步骤就是生成对应的ip核,然后在顶层文件对此ip核进行例化即可,具体可参考https://blog.youkuaiyun.com/huan09900990/article/details/78893435

生成的source就是类似en使能信号,这里我打了两拍再进行引用。

2)如何避免在signaltab中观测信号给综合优化掉?

  有的信号在signaltab中观测时会给优化掉,变成红色,不利于我们观测,最好用的方法就是将信号定义为信号,是不是很简单,李主任真是厉害!

如上图所示的send_control信号,它在signaltab中会直接给综合掉,因此可以将它拉出来定义为output信号。

3)modelsim仿真中 的work路径不见了?

用快捷命令 vlib work,这个命令我经常忘记,不过真的是仿真必备。

4)如何查看modelsim输出仿真频率?

 

然后点击左下方的界面,就能直接观测到modelsim的输出仿真频率了

 

 

 

转载于:https://www.cnblogs.com/tanqiqi/p/11242785.html

UVM DVE是UVM(Universal Verification Methodology)的一部分,用于调试和验证设计中的问题。步调是一种调试技术,允许我们以逐步的方式运行代码,以便更好地追踪问题和理解代码的执行过程。 在UVM DVE中,步调功能使我们能够一次执行一个仿真周期,并观察每个步骤的结果。它通常用于定位和解决我们测中遇到的交互问题、时序问题或复杂的调用流程。 使用UVM DVE进行步调通常需要以下步骤: 1. 准备仿真环境:首先,我们需要编写和配置UVM测环境,包括各种测组件,例如工厂类、测类、环境类等。 2. 启动仿真:我们使用仿真工具(如ModelSim、VCS等)启动仿真进程,并加载所有需要的源代码以及UVM DVE库。 3. 进入UVM DVE:一旦仿真流程启动,我们可以在交互模式下进入UVM DVE。这将打开一个仿真控制台,提供了丰富的命令和选项供我们使用。 4. 设置断点:在UVM DVE中,我们可以设置断点,以便在特定代码位置停止仿真。这些断点可以在特定的类、方法或时间点上设置。 5. 步执行:一旦断点设置完成,我们可以使用步执行命令来逐步运行代码。这使我们可以观察代码每一步的运行情况,包括变量值和信号波形。 6. 观察结果:通过步执行,我们可以仔细观察代码执行过程中产生的结果。我们可以检查变量值、调用堆栈、对象创建和销毁等信息,从而更好地理解代码行为。 总结起来,UVM DVE的步调功能提供了一种强大的方式来解决和调试设计中的问题。通过逐步执行代码并仔细观察运行结果,我们能够更好地定位问题,理解代码行为,并最终提高我们的测和验证效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值