Coverage
metrics are expressed with an intuitive graphical interface based upon data flow. Coverage analysis and presentation objects are integrated to produce coverage results which enable device functionality in a
device under test to be modeled as objects, subject to event occurrence. Event objects are introspected at run-time, allowing the user to determine the
event object's attributes with specification of coverage
metrics subject to a selected combination of the
event object's attributes. The event objects are serialized into permanent storage, allowing the user to specify and execute new coverage
metrics at any time after
simulation. Operations used to describe coverage metrics are modeled as analysis objects. Such analysis objects accept event objects as inputs, using a predetermined, well-defined interface. The combination of event objects and analysis objects allows coverage metrics to be specified in a simple data flow manner. With such a coverage metric, the user attaches or wires (metaphorically) the analysis objects together in a visual builder environment. Using the analysis objects, the user specifies desired coverage metrics, such as coverage of sequences of events and / or coverage of events that occur during the same time window of a
simulation. The display functionality of the coverage tool is expandable because the presentation objects use the same
event object interface as the analysis operator objects. Coverage metrics are subject to specification either before or after event occurrence. The user specifies coverage metrics using an intuitive graphical interface based upon data flow, without any specific
programming language skills being necessary. Functional events in the
device under test are treated as event objects. Each event object may be passed to selected
analysis tools chosen by the user, such as analyzers, logic gates, and
coincidence counters.