Intel® Quartus® Prime Pro Edition用户指南: 设计建议

ID 683082
日期 9/28/2020
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

2.2.2.1. 避免组合循环(Avoid Combinational Loops)

组合循环是数字设计中导致不稳定和不可靠的最常见原因。通过建立不包含寄存器的直接反馈循环,组合循环通常违反同步设计原则。

尽可能避免组合循环。在同步设计中,反馈环路应包括寄存器。例如,当算术表达式的左侧也出现在HDL代码的右侧时,就会出现组合循环。当您通过组合逻辑将寄存器的输出反馈到同一寄存器的异步管脚时,也会出现组合循环。

图 6. 通过异步控制管脚的组合循环
提示: 使用恢复和删除分析对异步端口执行时序分析,例如 Intel® Quartus® Prime软件中的clearreset

组合循环本质上是高风险的设计结构,原因如下:

  • 组合循环的行为通常取决于循环中所包括的逻辑上的相对传播延迟。如所讨论的,传播延迟可以改变,这意味着循环的行为是不可预测的。
  • 在很多设计工具中,组合循环会导致无限的计算循环。大多数工具都会打破组合循环来处理设计。设计流程中使用的各种工具可以以不同的方式打开一个特定的循环,并以与原始设计意图不一致的方式对其进行处理。