LNT-30017: Register Output Driving Its Own Asynchronous Control Signal Directly or Through Combinational Logic
Description
Violations of this rule identify registers with asynchronous control signals that are driven by the register's output, either directly or through combinational logic.
Structures such as these can cause instability and unreliability in the circuit, because the output of each violating register is a signal race back to itself with no guarantee that it will stabilize before each clock edge.
The register and any downstream combinational logic feeding its asynchronous port can be visualized by right-clicking the violation and selecting "Locate Node->Locate in RTL Viewer".
Recommendation
Restructure the netlist to break the dependency of the register's asynchronous control signal on its output, either by cutting edges or by inserting register stages.Severity
Medium
Tags
Tag | Description |
---|---|
nonstandard-timing | Design rule checks related to topologies which have unique timing analysis methodologies and may prove problematic. |
Device Family
- Intel Agilex®
- Intel Agilex®
- Intel Agilex®
- Intel®Stratix® 10
- Intel®Arria® 10
- Intel®Cyclone® 10 GX