Logic Race Conditions

Race condition: defines a condition when a device's output depends on two [or more] nearly simultaneous events to occur at the input(s) of a device and cause the device's output to switch. Which input occurred first causes the device to change, the arrival of the other input may cause the output to switch back or simply be ignored. Each IC will have a different propagation delay which will be some number between it's minimum and maximum delay provided in the data sheet. The problem is that the fixed propagation delay will vary each time the circuit is built. So it may work the first time because of the propagation delay, but with different chips it may not work the second time the circuit is constructed. Or if the race condition is so close in time, the output may be unpredictable even with a single circuit.

One way to design in a race condition is to use the same signal to perform two [opposing] functions. In some cases a race condition could also be a logic Hazard. Another case for a race condition could be caused from floating inputs. Multiple floating inputs which perform the same function could rise to a logic one at random times. So as two floating inputs rise from a logic 0 to a logic 1, they will race against each other. Floating inputs rise based on the pins leakage current, and pin capacitance. Once the wrong input rise to a valid logic level first, the resultant output of the IC becomes permanent.



 
PC motherboard
Home

Distributor rolodex Electronic Components Electronic Equipment EDA CDROM Software Engineering Standards, BOB card Cabled Computer Bus Electronic Engineering Design Table Conversion DB9-to-DB25.
DistributorsComponents Equipment Software Standards Buses Design Reference