Abstract Formal verification methods are used in the integrated circuit design process to guarantee equivalence between circuit specifications and implementations at the same or differing levels of abstraction. Equivalence checking between two finite-state automata or two combinational logic circuits is precisely defined and supported by a body of theoretical work. Algorithms that can determine the equivalence of large sequential and combinational logic circuits exist, and are in use today. In contrast, verifying that a logic-level description correctly implements a behavioral specification is considerably less developed. One major hindrance toward a precise notion of behavioral verification has been that parallel, serial or pipelined implementations of the same behavioral description can be implemented in finite-state automata with different input/output behaviors. In this paper, we use ϵ-moves to model the degree freedom that is afforded parallelism in a behavioral description that also contains complex control. Given some assumptions, we show how the set of finite automata derivable from a behavioral description can be presented compactly as an input-programmed automaton (p-Automaton). The p-Automaton is named such due to the fact that during its derivation, we program meta-input variables in the p-Automaton that are not present in the original description. The logic-level implementation is deemed to be equivalent to the behavioral description if and only if the p-Automaton is equivalent to the logic-level finite automaton under some assignment to the meta-input variables. The above method allows for extending the use of finite-state automatan equivalence-checking algorithms to the problem of behavioral verification. It is particularly useful for verifying descriptions with a moderate amount of parallelism and complex control. We present experimental results obtained using our approach.
[1]
Srinivas Devadas,et al.
On the verification of sequential machines at differing levels of abstraction
,
1988,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[2]
Orna Grumberg,et al.
Research on Automatic Verification of Finite-State Concurrent Systems
,
1987
.
[3]
Kenneth J. Supowit,et al.
A New Method for Verifying Sequential Circuits
,
1986,
DAC 1986.
[4]
Jeffrey D. Ullman,et al.
Introduction to Automata Theory, Languages and Computation
,
1979
.
[5]
Alice C. Parker,et al.
An Abstract Model of Behavior for Hardware Descriptions
,
1983,
IEEE Transactions on Computers.
[6]
Edmund M. Clarke,et al.
Sequential circuit verification using symbolic model checking
,
1991,
DAC '90.
[7]
Srinivas Devadas,et al.
Verification of interacting sequential circuits
,
1991,
DAC '90.
[8]
Srinivas Devadas,et al.
Approaches to Multi-Level Sequential Logic Synthesis
,
1989,
26th ACM/IEEE Design Automation Conference.