A technique for observability based coverage of a design under test (DUT) is
presented.
A conventional simulation signal is augmented to include a "tag value." In the
course of a simulation, assignment statements (for which observability-based coverage
is desired) "inject" tag values on their output signals. A tag value contains an
identifier uniquely identifying the assignment statement that produced it. A tag
value also contains a "tag history." The tag history contains copies of the tag
values for assignment statements earlier in the flow of control or in the flow
of data. If a tag propagated through the DUT appears at an observable output, the
circuit designer knows that the assignment statements it identifies have satisfied
observability based coverage.