Design partitioning for large-scale equivalence checking and functional correction

Equivalence checking and functional correction are important steps ensuring design correctness. Direct verification of large industrial designs is challenging and often requires a divide-and-conquer approach. The 2015 CAD Contest at ICCAD poses the challenge of large-scale equivalence checking and functional correction. This paper reports our work in the competition. An algorithm to identify cut-points in both equivalent and inequivalent circuit pairs is proposed for design partitioning. To obtain high quality cuts, we take into consideration their proximity information in cone sizes and circuit depths. Experiments on the contest benchmarks show our method achieves top quality results among all contestants.

[1]  Kei-Yong Khoo,et al.  ICCAD-2015 CAD contest in large-scale equivalence checking and function correction and benchmark suite , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[2]  Andreas Kuehlmann,et al.  Equivalence checking using cuts and heaps , 1997, DAC.

[3]  Shih-Chieh Chang,et al.  Logic Synthesis for Engineering Change , 1999, 32nd Design Automation Conference.

[4]  Slawomir Pilarski,et al.  Efficient equivalence checking with partitions and hierarchical cut-points , 2004, Proceedings. 41st Design Automation Conference, 2004..

[5]  Robert K. Brayton,et al.  ABC: An Academic Industrial-Strength Verification Tool , 2010, CAV.

[6]  Jie-Hong Roland Jiang,et al.  Inductive equivalence checking under retiming and resynthesis , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[7]  C. A. J. van Eijk,et al.  Sequential Equivalence Checking Based on Structural Similarities , 2000 .

[8]  Shao-Lun Huang,et al.  Match and replace — A functional ECO engine for multi-error circuit rectification , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[9]  R. Brayton,et al.  Improvements to Combinational Equivalence Checking , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[10]  Andreas Kuehlmann,et al.  Equivalence checking combining a structural SAT-solver, BDDs, and simulation , 2000, Proceedings 2000 International Conference on Computer Design.

[11]  Carl-Johan H. Seger,et al.  CLEVER: Divide and Conquer Combinational Logic Equivalence VERification with False Negative Elimination , 2001, CAV.

[12]  Zurab Khasidashvili,et al.  An enhanced cut-points algorithm in formal equivalence verification , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

[13]  Robert K. Brayton,et al.  LEC: Learning Driven Data-path Equivalence Checking , 2013, DIFTS@FMCAD.

[14]  R. Brayton,et al.  FRAIGs: A Unifying Representation for Logic Synthesis and Verification , 2005 .