This paper makes the idea of memory shadowing (Bryant and Velev, 1997) applicable to symbolic ternary simulation. Memory shadowing, an extension of Burch and Dill's (1994) pipeline verification method to the bit level, is a technique for providing on-the-fly identical initial memory state to two different memory execution sequences. We also present an algorithm which compares the final states of two memories for ternary correspondence, as well as an approach for generating efficiently the initial state of memories. These techniques allow us to verify that a pipelined circuit has behavior corresponding to that of its unpipelined specification by simulating two symbolic ternary execution sequences and comparing their memory states. Experimental results show the potential of the new ideas.
['Miroslav N. Velev', 'Randal E. Bryant']
Verification of pipelined microprocessors by correspondence checking in symbolic ternary simulation