Races in sequential circuits Races in sequential switching circuits occur when the circuit programme requires the transition
between two states, the codes of which are not logically adjacent - i.e. they differ in more than
one bit. It means that a race may happen only when for describing internal states there is needed
more than one state variable.
Races occur either as momentary or permanent errors in the state variables values and are the
result of a delay time caused by different paths through which a signal and its complementation
control at least two memory blocks (devices), as shown (in the simplified form) in the picture
When a race results only in some momentary errors, but a circuit eventually reaches an expected
state, such a race is called non-critical (NCR).
If a race causes permanent errors - i.e. a circuit does not react accordingly to its programme and
goes to the wrong state, such a race is called critical (CR).
The third type of race, so-called controlled race (CTR), often offers a solution for encountered
problems. The controlled race happens when a designer consciously changes some unstable
states in such a way that the possibility of requiring not adjacent transition is avoided.
As no-critical race results only in momentary errors, then when a circuit works independently and
these errors cannot influence the behaviour of any other elements, it usually is left as it is.
The problem of critical race, however, has to be solved always if we want to ensure the correct
work of the whole circuit.
In general, the ways of avoiding the critical race are two (but not always both are possible to use):
the change of encoding of internal states and introducing a controlled race.
The special case of the change of encoding is introducing an additional state variable when the
solution for the given number of variables is not possible to achieve.
All these cases will be shown in examples.
... zobacz całą notatkę