Compiler

Register Output Should Not Drive Register's Control Signal Directly or Through Combinatorial Logic (Design Assistant Rule)



A design should not contain any combinatorial loops where the output of a register directly drives one of its own control signals (for example, the register's preset signal or asynchronous load signal), or the output of the register drives combinatorial logic that drives one of the register's control signals.

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

The following image shows an example of a combinatorial loop where the output of a register directly drives one of its own control signals:

The following image shows an example of a combinatorial loop where the output of a register drives combinatorial logic that drives one of the register's control signals:


Back to Top

- PLDWorld -

 

Created by chm2web html help conversion utility.