I'm currently stuck trying to understand two things related to race conditions.
Issue 1:
I have been presented with the following question:
We consider the digital circuit and the value of its inputs a,
and b as given below. For all logic gates, we assume that
there is a gate delay of exactly one time unit (i.e. the gate
delay equals the time between two dotted lines in the
diagram). Give the values of c, d, e, f in the digital circuit for
every point of time between 0 and 8.
And the answer given is as follows:
How exactly is this achieved? This is what I think so far:
- c starts at 1 because a start at 0
- d starts at 0 because b start at 1
- When time is equal to 2 a becomes 1... there is a propogation delay of 1 for c to switch over to 0 hence it becomes 0 at 3 time units
- Same logic applies to d
- e and f are meant to be constant 1 or 0 but seem to be affected by something.
What's really going on here? Is it related to a boolean function or soemthing. If so what?
Issue 2:
Does anyone have a simple way or logical approach in which to produce a simple circuit (using XOR, AND, OR, NOT, NAND boolean functions with:
- static race condition - when the value is meant to be constant
- dynamic race condition - when a value is expected to change
Many thanks in advance!