Efficient equivalence checking of multi-phase designs using phase abstraction and retiming

Equivalence checking of finite state machines (FSMs) traditionally assumes single phase machines where a single clock (implicit or explicit) synchronizes the state of the FSM. We extend the equivalence checking paradignm to FSMs with multi-phase clocks. Such designs are becoming increasingly popular in high performance microprocessors since they result in lower synchronization overhead. In addition, aggressive pipelining and the use of “sparse” encodings results in designs where the ratio of steady states to the total state space is very low. In this paper, we show that automatically transforming such designs to ones that have more “dense” encodings can result in significant benefits in using implicit BDD-based techniques for their verification. We explore two such techniques: phase abstraction and retiming and demonstrate their utility in the context of FSM equivalence checking. The main contributions of our work are: —We show that a multi-phase FSM can be transformed to a functionally equivalent one phase FSM and this phase abstraction leads to significant improvement in the size of FSMs that can be checked for equivalence. —We show that min-latch retiming preserves equivalence and can be performed efficiently in multi-phase designs, even when latch borrowing and discarding is allowed at the primary inputs and outputs. —We demonstrate the utility of our approach on several controller FSMs from the industry.

[1]  Narendra V. Shenoy,et al.  Efficient implementation of retiming , 1994, ICCAD.

[2]  Robert K. Brayton,et al.  Implicit state enumeration of finite state machines using BDD's , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[3]  Prithviraj Banerjee,et al.  An implicit algorithm for finding steady states and its application to FSM verification , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[4]  Carl Pixley,et al.  A theory and implementation of sequential hardware equivalence , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[6]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[7]  Robert K. Brayton,et al.  The Validity of Retiming Sequential Circuits , 1995, 32nd Design Automation Conference.

[8]  Luciano Lavagno,et al.  Verification and synthesis of counters based on symbolic techniques , 1997, Proceedings European Design and Test Conference. ED & TC 97.

[9]  Robert K. Brayton,et al.  Design replacements for sequential circuits , 1996 .

[10]  Sachin S. Sapatnekar,et al.  An improved algorithm for minimum-area retiming , 1997, DAC.

[11]  Robert K. Brayton,et al.  Computing the initial states of retimed circuits , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Olivier Coudert,et al.  A unified framework for the formal verification of sequential circuits , 1990, ICCAD 1990.