首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >假“检测到组合回路”

假“检测到组合回路”
EN

Stack Overflow用户
提问于 2022-03-21 23:34:35
回答 1查看 257关注 0票数 2

当将复杂记录(基于键值对的绑定)传递为CombLoopException并使用asUInt()和asTypeOf(.)将UInt转换回记录时,我得到了错误的“UInt”。

在没有UInt转换步骤的情况下直接连接两条记录时,不存在CombLoopException。我花了几天时间试图解决这个问题。这就是为什么我确信不应该有CombLoopException。

不幸的是,我无法提供小的代码片段来重现错误,因为我正在进行火箭芯片生成器的自定义修改,问题只发生在对Bundle的复杂修改上。

我的问题是:如何使用“--不检查梳状循环”选项来避免CombLoopException?有办法在build.sbt中添加此选项吗?

如果需要的话,我也想详细描述一下这个特殊的案例,以帮助解决这个罕见的问题:禁用检查组合循环的FIRRTL通行证

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-21 23:50:35

这显然取决于您的特定代码,但我仍然建议避免创建错误的组合循环。这很可能是一个错误的循环,但是像Verilator这样的工具也可能会遇到困难。

尽管如此,您可以通过将--no-check-comb-loops传递给编译的FIRRTL步骤(也称为Verilog生成步骤)来禁用检查。在火箭芯片中,它取决于您正在执行的模拟目录,但在vsim中是这里,在模拟器中是这里

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71565366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档