Automated Logic Restructuring with aSPFDs

This chapter presents a comprehensive methodology to automate logic restructuring in combinational and sequential circuits. This technique algorithmically constructs the required transformation by utilizing a functional flexibility representation called Set of Pairs of Function to be Distinguished (SPFD). SPFDs can express more functional flexibility than the traditional don’t cares and have proved to provide additional degrees of flexibility during logic synthesis [21, 27]. Computing SPFDs may suffer from memory or runtime problems [16]. Therefore, a simulation-based approach to approximate SPFDs is presented to alleviate those issues. The result is called Approximate SPFDs (aSPFDs). aSPFDs approximate the information contained in SPFDs using the results of test vector simulation. With the use of aSPFDs as a guideline, the algorithm searches for the necessary nets to construct the required function. Experimental results indicate that the proposed methodology can successfully restructure locations where a previous approach that uses a dictionary model [1] as the underlying transformation template fails.

[1]  Premachandran R. Menon,et al.  Logic optimization and equivalence checking by implication analysis , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[3]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[4]  Saurabh Sinha SPFDs: A New Approach to Flexibility in Logic Synthesis , 2002 .

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

[6]  Robert K. Brayton,et al.  Implementation and use of SPFDs in optimizing Boolean networks , 1998, ICCAD.

[7]  Andreas G. Veneris,et al.  Design rewiring using ATPG , 2002, Proceedings. International Test Conference.

[8]  Robert K. Brayton,et al.  Sequential SPFDs , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[9]  Magdy S. Abadir,et al.  Logic design verification via test generation , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Robert K. Brayton,et al.  On the verification of sequential equivalence , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  D. M. H. Walker,et al.  Simulation-based design error diagnosis and correction in combinational digital circuits , 1999, Proceedings 17th IEEE VLSI Test Symposium (Cat. No.PR00146).

[12]  Jason Cong,et al.  SPFD-based global rewiring , 2002, FPGA '02.

[13]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

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

[15]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[16]  Shih-Chieh Chang,et al.  Efficient Boolean division and substitution using redundancy addition and removing , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Ibrahim N. Hajj,et al.  Diagnosis and correction of multiple logic design errors in digital circuits , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[18]  Rolf Drechsler,et al.  Utilizing don't care states in SAT-based bounded sequential problems , 2005, GLSVLSI '05.

[19]  Kwang-Ting Cheng,et al.  Combinational and sequential logic optimization by redundancy addition and removal , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[21]  Robert K. Brayton,et al.  Incremental synthesis for engineering changes , 1991, [1991 Proceedings] IEEE International Conference on Computer Design: VLSI in Computers and Processors.

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

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

[24]  Hiroshi Sawada,et al.  A new method to express functional permissibilities for LUT based FPGAs and its applications , 1996, Proceedings of International Conference on Computer Aided Design.

[25]  Andreas G. Veneris Fault diagnosis and logic debugging using Boolean satisfiability , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.

[26]  Robert K. Brayton,et al.  Automating Logic Rectification by Approximate SPFDs , 2007, 2007 Asia and South Pacific Design Automation Conference.

[27]  Malgorzata Marek-Sadowska,et al.  Perturb and simplify: multi-level boolean network optimizer , 1994, ICCAD.

[28]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

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

[30]  Shih-Chieh Chang,et al.  Perturb and simplify: multilevel Boolean network optimizer , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[31]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..