Design Should Not Contain Combinational Loops (Design Assistant Rule)

A design should not contain a combinational loop, which is combinational logic that drives itself without being synchronized by a register. The following image shows an example of a combinational loop:





These combinational loops can cause significant stability and reliability problems in a design. For example, because the behavior of a combinational loop often depends on the relative propagation delays of the combinational loop's logic, and because design tools experience difficulties when handling combinational loops, the combinational loop after fitting may not function as it was originally intended to function in the design.

Important: Important: This rule can be turned on or off as a global setting for the entire design on the Design Assistant page; or enabled or disabled for nodes, entities, or instances with Rule A101. This rule has a Critical severity level.