NSS-30011: Design Contains Combinational Loops
Combinational loop is a combinational logic that drives itself without being synchronized by a register. The following image shows an example of a combinational loop:
A particular occurrence of combinational loops involves feeding the output of a flip-flop back to an asynchronous pin (clear, preset, and load) of the same flip-flop through some combinational logic. As shown in the following figure, a combinational path exists between an asynchronous pin and the output of the flip-flop, and a loop is then created.
Recommendation
Restructure the netlist to break the combinational loop as these loops can cause significant stability and reliability problems in a design. For example, due to the following reasons, the combinational loop after fitting may not function as it was originally intended to function in the design:
- The behavior of a combinational loop often depends on the relative propagation delays of the combinational loop's logic.
- Design tools experience difficulties when handling combinational loops.
Severity
Medium
Stage
Analysis and Elaboration
Device Family
- Intel® Arria® 10
- Intel® Cyclone® 10