A robust functional ECO engine by SAT proof minimization and interpolation techniques

Functional rectification in late design stages has been a crucial process in modern complex system design. This paper proposes a robust functional ECO engine, which applies SAT proof minimization and interpolation techniques to automate patch construction to make old implementation and golden specification functionally equivalent. The SAT proof minimization technique provides a sound and efficient way of fixing easy errors, and the interpolation technique provides a complete and robust way of fixing remaining errors. Experimental results show that our engine performs robustly to generate small patches in fixing various design rectification instances.

[1]  Massoud Pedram,et al.  Symmetry Detection and Boolean Matching Utilizing a Signature-Based Canonical Form of Boolean Functions , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

[3]  Jianwen Zhu,et al.  Toward Automated ECOs in FPGAs , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Ibrahim N. Hajj,et al.  Design error diagnosis and correction via test vector simulation , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Niklas Een,et al.  MiniSat v1.13 - A SAT Solver with Conflict-Clause Minimization , 2005 .

[6]  M. Marek-Sadowska,et al.  Logic synthesis for engineering change , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Stephen Dean Brown,et al.  Post-placement bdd-based decomposition for FPGAs , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[8]  Ruchir Puri,et al.  DeltaSyn: An efficient logic difference optimizer for ECO synthesis , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[9]  Shi-Yu Huang,et al.  Error correction based on verification techniques , 1996, 33rd Design Automation Conference Proceedings, 1996.

[10]  Jie-Hong Roland Jiang,et al.  Scalable exploration of functional dependency by interpolation and incremental SAT solving , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[11]  Thomas Kropf,et al.  Efficient design error correction of digital circuits , 2000, Proceedings 2000 International Conference on Computer Design.

[12]  Shao-Lun Huang,et al.  Interpolant generation without constructing resolution graph , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[13]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

[14]  Igor L. Markov,et al.  Fixing Design Errors with Counterexamples and Resynthesis , 2007, 2007 Asia and South Pacific Design Automation Conference.

[15]  Ibrahim N. Hajj,et al.  A fast algorithm for locating and correcting simple design errors in VLSI digital circuits , 1997, Proceedings Great Lakes Symposium on VLSI.