This paper enables symbolic simulation of systems with large embedded memories. Each memory array is replaced with a behavioral model, where the number of symbolic variables used to characterize the initial state of the memory is proportional to the number of memory accesses. The memory state is represented by a list containing entries of the form 〈c, a, d〉, where c is a Boolean expression denoting the set of conditions for which the entry is defined, a is an address expression denoting a memory location, and d is a data expression denoting the contents of this location. Address and data expressions are represented as vectors of Boolean expressions. The list interacts with the rest of the circuit by means of a software interface developed as part of the symbolic simulation engine. The interface monitors the control lines of the memory array and translates read and write conditions into accesses to the list. This memory model was also incorporated into the Symbolic Trajectory Evaluation technique for formal verification. Experimental results show that the new model significantly outperforms the transistor level memory model when verifying a simple pipelined data path.
[1]
Randal E. Bryant,et al.
Formal verification by symbolic evaluation of partially-ordered trajectories
,
1995,
Formal Methods Syst. Des..
[2]
Randal E. Bryant,et al.
Exploiting Symmetry When Verifying Transitor-Level Circuits by Symbolic Trajectory Evaluation
,
1997,
CAV.
[3]
Edmund M. Clarke,et al.
Sequential circuit verification using symbolic model checking
,
1991,
DAC '90.
[4]
Randal E. Bryant,et al.
Synchronous circuit verification by symbolic simulation: an illustration
,
1990
.
[5]
Edmund M. Clarke,et al.
Representing circuits more efficiently in symbolic model checking
,
1991,
28th ACM/IEEE Design Automation Conference.
[6]
Randal E. Bryant,et al.
Formal hardware verification by symbolic ternary trajectory evaluation
,
1991,
28th ACM/IEEE Design Automation Conference.
[7]
David L. Dill,et al.
Automatic verification of Pipelined Microprocessor Control
,
1994,
CAV.