Hazard
checking algorithm version 1.2 9/26/2002
1.
[Done]
Color all states with R or F based on the Boolean evaluation of the node under
consideration.
2.
[Done]
Speed Independent edge stabilization. Means finding the state->state
transitions where the output changes and seeing if the path from my node of
interest to the output can propagate. If so, then color the edge with a 0 or 1,
depending on the Boolean evaluation. Store these edges in a linked list for propagation
later.
3. Find
points where the state graph has state-to-state transitions from R->F or
F->R (this is where there is a change in evaluation on my node under
consideration). For each one of these, do the following:
4. Find
the edge transition at which this occurs (i.e. a+, b-, etc.).
5. Set
this as the reference point.
6. Find
the maximum delay from this reference point to the node of interest in my
decomposition.
a. What about timing on this reference node in my
decomposition? Or is this a relative timing problem where I assume the
reference point is at time 0 and I just add delays until I reach my node of
interest?
7. Find
the zone associated with the state following the reference transition and make
a copy of it.
8. For
each edge transition out of this state:
9. Find the causal event for this transition (for
now, assume it’s the previous transition).
10. Add this event to the zone.
11. Modify zone with new <lower upper>
information.
12. Canonicalize zone.
13. Extract new timing information from zone.
14.
Compare
the minimum elapsed time in the zone with the maximum delay through my
decomposition.
15.
If
the minimum elapsed time is equal to or greater than delay through my
decomposition, color this edge with a stable color (1 if color was Rising, 0 if
color was Falling). Go to step 3.
16. If I reach a
termination point, I cannot stabilize the edge. Go to step 3. A termination
point is when I find an edge enabled in the opposite direction of my reference
transition or I reach an edge previously stabilized.
17. Propagate the
stable edges from the SI hazard check and the timed hazard check.
18. Propagate coloring
from the start state.
19. Check for and
report coloring inconsistencies.