
Resolving Feedback Ambiguities
In the equation above (Q1 := !Q1 # Preset;), there is an ambiguous feedback
condition. The signal Q1 appears on the right side of the equation, but there is
no indication of whether that fed-back signal should originate at the register,
should come directly from the combinational logic that forms the input to the
register, or should come from the I/O pin associated with Q1. There is also no
indication of what type of register should be used (although register synthesis
algorithms could, theoretically, map this equation into virtually any register
type). The equation could be more completely specified by writing:
Q1.CLK = Clock; "Register clocked from input
Q1 := !Q1.FB # Preset; "Reg. feedback normalized to pin value
This set of equations describes the circuit completely, and specifies enough
information that the circuit will operate identically in virtually any device in
which it can be fit. The feedback path is specified to be from the register
itself, and the .CLK equation specifies that the memory element is clocked,
rather than latched.