遇见BUG(2)去掉你的增量编译使能!

在使用Verilog进行项目开发的时候会遇到各种各样的错误,语法错误还好,容易排查,但是遇到了逻辑错误以及其他隐形的错误总是让人头大,下面这个问题,用一种非人类语言提示的错误,着实让人望而生畏,不过也并非不能解决,这得益于前人遇到过这种问题,并给出了解决方案,见文末参考链接。

行为仿真时错误提示:

[VRFC 10-3032] 'xbip_pipe_v3_0_5.xbip_pipe_v3_0_5_viv_comp' failed to restore

[VRFC 10-213] Registering Dependencies Error: The primary unit 'xbip_pipe_v3_0_5_viv_comp' could not be found during restore

这些莫名其妙的东西,代码中肯定是没有的,定位到IP核的问题。

https://www.xilinx.com/search/support-keyword-search.html#q=E=&B=&T=VRFC%3A10-3032

搜索解决方案:

Re: Vivado 2018.3 IP core simulation error

Please try this once:

In Settings of Vivado GUI, you can find IP project setting. Disable the option " Use Precompiled IP simulation libraries ". 

Also, go to Simulation in IP project setting. Go to Advanced and disable incremental compilation.

Hope that works for you.

意思是进行如下设置:

不要勾选预编译:

不要勾选增量编译:

保存更改,之后执行行为仿真,问题得到了解决。

至于为什么呢?咱也不敢说,咱也不敢问。

就这样吧。

参考链接:https://forums.xilinx.com/t5/Simulation-and-Verification/Vivado-2018-3-IP-core-simulation-error/m-p/932068#M24783

 

 

  • 20
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: 是的,如果你的 VM 模板中存在 bug,我们可以尝试检查出它。 首先,你需要确保已经正确安装了调试工具,如 GDB 或者 lldb。这些工具可以帮助你检查程序运行时的状态,并且可以让你单步执行程序,查看每一步执行时的变量值和内存布局。 其次,你需要使用这些工具来检查你的程序。可以先在调试器中设置断点,然后运行程序,当程序运行到断点处时,调试器会暂停执行。你可以使用调试器的命令来查看当前的状态,并且可以单步执行程序,查看每一步执行时的变量值和内存布局。 通过这种方式,你可以发现 bug 的位置,并且可以使用调试器的命令来查看 bug 引起的影响。这样,你就可以找出 bug 的原因,并且可以修复它。 ### 回答2: VM模板是一种虚拟机的快照,它记录了一个虚拟机在某个特定时间点的状态和配置。虽然VM模板本身并不能直接检测出其中的bug,但它在一定程度上可以帮助我们发现和分析bug。 首先,通过使用VM模板,我们可以在同样的环境中复制和部署虚拟机,避免了重新配置和安装操作系统的过程。这样可以减少人为因素引入的错误,例如操作系统设置不一致、遗漏安装的软件等。 其次,利用VM模板,我们可以轻松地回滚到之前的状态,这对于排查和调试系统bug非常有帮助。如果我们在某个虚拟机中发现了bug,可以很容易地创建一个VM模板,然后还原至之前的状态进行分析。这样可以避免了因为调试操作引入新的错误而导致bug更加复杂难以修复。 此外,VM模板还可以作为验证软件补丁或更新程序的工具。通过在一个基准虚拟机上应用补丁并创建新的VM模板,我们可以将这个模板应用于其他虚拟机,从而验证补丁的可靠性。如果在这个过程中发现了系统错误或兼容性问题,即可初步判断补丁存在bug或不适用于系统。 总之,VM模板本身并不能直接检测出bug,但它提供了多种功能,如复制、还原、验证等,这些功能可以帮助我们更好地定位、分析和修复系统中的bug,提高软件开发的效率和质量。 ### 回答3: VM模板本身不能直接检查出bug,因为它只是一个虚拟机的镜像文件,不具备能力进行代码逻辑的检查。 但是,在VM模板的创建和使用过程中,可以采取一些措施来帮助检查出潜在的bug。 首先,可以在创建模板时,使用一些静态代码分析工具,如SonarQube等,来分析编码规范、潜在的bug和安全隐患等。这些工具能够扫描代码,识别出可能存在的问题,并提供相应的建议和警告。 其次,可以在使用VM模板生成虚拟机实例时,进行集成测试和回归测试。集成测试可以检查模板在不同环境下的运行情况,验证其功能是否正常。回归测试可以在对模板进行更改后,重新测试其原有功能,以确保修改没有引入新的bug。 此外,可以进行代码审查和一些审查工具的使用,如FindBugs等,通过人工或工具的方式,检查模板内部代码的可读性、可维护性和潜在的错误。 最后,还可以通过持续集成和自动化测试的方式,对VM模板进行频繁地构建和测试,以及与其他组件或系统进行集成测试,及时发现和解决可能存在的bug。 总之,VM模板本身并不能直接检查出bug,但可以通过一系列的静态分析、测试、审查和持续集成等措施,提高模板的质量,减少潜在bug的产生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李锐博恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值