To prove system correctness, assumptions made in verifying a block must be cleared by verifying that the block‘s environment guarantees them. Conversely, guarantees enforced by a block may be used as assumptions for its environment. Block level interface specifications thus serve as both assumptions and guarantees in compositional verification. Traditionally, such specifications have been represented as monitors or checkers. In this paper, we propose an alternative representation using generators. Novel algorithms are presented for simulation and formal verification. We argue that for simulation, representation as a generator can be more efficient than as a checker - both asymptotically and practically. We also identify a subset of generators that can he efficiently handled using formal techniques. Experimental results are given for some benchmark examples and industrial case studies.
[1]
Jiang Long,et al.
Formal property verification by abstraction refinement with formal, simulation and hybrid engines
,
2001,
Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).
[2]
Kenneth L. McMillan,et al.
A Compositional Rule for Hardware Design Refinement
,
1997,
CAV.
[3]
Alan J. Hu,et al.
Monitor-Based Formal Specification of PCI
,
2000,
FMCAD.
[4]
Thomas A. Henzinger,et al.
MOCHA: Modularity in Model Checking
,
1998,
CAV.
[5]
David L. Dill,et al.
Deriving a simulation input generator and a coverage metric from a formal specification
,
2002,
DAC '02.
[6]
Orna Grumberg,et al.
Model checking and modular verification
,
1994,
TOPL.