为什么我在automake.log文件中收到有关“找到组合循环”的警告?

长期以来一直不鼓励使用组合环路,因为它们会在设计中引起显着的稳定性和可靠性问题。
组合循环行为通常取决于循环逻辑的相对传播延迟。
通常,组合循环会蔓延到设计中以处理棘手的异步问题。
组合循环本质上是隐含或推断锁存器的实现。推断锁存器是组合反馈环路的示例,因为该功能必须由LUT构建,因为FPGA寄存器没有锁存模式。。当锁存器在LUT中实现时,时序分析工具无法检查这些电路的设置和保持时间要求。。采用组合环路的大多数设计问题都可以通过标准寄存器来解决,设计将更加稳健和稳定。 。组合循环警告通常是非严格组合的“组合”逻辑代码的结果。。这些组合循环通常与“Case”结构或“IF / Then / Else”结构中的错误相关联。 。(例如,未完全指定的“案例陈述”)。。一个建议是将寄存器保持在与组合逻辑不同的进程中。。这使得更容易判断推断的锁存器是否真的是一个错误。 。您应该研究任何组合循环并对RTL实施修复以删除意外的锁存器,或者重新设计电路以便不需要锁存器。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 10:18:34 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它