contents.gifindex.gif

Feedbacks Specified Without Dot Extensions

When a registered signal is specified with no feedback dot extension as a reference, the results depend on the type of device that is selected for fitting. If the device selected has multiple feedback paths (for example, registered and combinational, or register and pin) then the feedback is ambiguous, and the results can be difficult to determine.

For example, consider the following simple counter design.

module count
q0,q1 pin istype 'reg';
clock pin;
reset pin;
equations
[q1,q0].clk = clock;
[q1,q0] := ([q1,q0] + 1) & !reset;

test_vectors
([clock,reset]->[q1,q0])
[ .c. , 1 ]->[ 0, 0];
[ .c. , 0 ]->[ 0, 1];
[ .c. , 0 ]->[ 1, 0];
[ .c. , 0 ]->[ 1, 1];
[ .c. , 0 ]->[ 0, 0];
[ .c. , 0 ]->[ 0, 1];
[ .c. , 1 ]->[ 0, 0];
end

Since the q0 and q1 signals have not been referenced in the equations with feedback dot extensions, the operation of the circuit can differ depending on the device selected.

Note: The Xilinx CPLD fitter will always use the pin feedback path when mapping unspecified feedbacks to devices.


See Also

Feedback - .Q and .FB

Feedback Normalization

State Diagram Feedback in Equations