Logic design error diagnosis and correction

Logic verification tools are often used to verify a gate-level implementation of a digital system in terms of its functional specification. If the implementation is found not to be functionally equivalent to the specification, it is important to correct the implementation automatically. This paper describes a formal method for the diagnosis and correction of logic design errors in an incorrect gate-level implementation. We use Boolean equation techniques to search for potential error locations. An efficient search and pruning algorithm is developed by introducing the notion of immediate dominator set. Two correction procedures are proposed. Gate correction corrects errors such as wrong gate type, missing inverters, etc.; line correction corrects errors such as missing wires and wrong connections. Our method is robust and covers all, simple design errors described by Abadir et al. (1988). Experimental results for a set of ISCAS and MCNC benchmark circuits demonstrate the effectiveness of the proposed techniques. >

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

[2]  Don E. Ross,et al.  Functional approaches to generating orderings for efficient symbolic representations , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[3]  Fu-Min Yeh,et al.  Building BDDs with ordering-reshuffle strategy , 1993 .

[4]  Carl Ebeling GeminiII: a second generation layout validation program , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[5]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[6]  Robert B. Hitchcock,et al.  Timing verification and the timing analysis program , 1988, DAC 1982.

[7]  Louise Trevillyan,et al.  Functional comparison of logic designs for VLSI circuits , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[8]  Srinivas Devadas,et al.  On the verification of sequential machines at differing levels of abstraction , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  David Hung-Chang Du,et al.  On the General False Path Problem in Timing Analysis , 1989, 26th ACM/IEEE Design Automation Conference.

[10]  Janak H. Patel,et al.  Efficient variable ordering heuristics for shared ROBDD , 1993, 1993 IEEE International Symposium on Circuits and Systems.

[11]  Jerry R. Burch,et al.  Using bdds to verify multipliers , 1991, 28th ACM/IEEE Design Automation Conference.

[12]  Ibrahim N. Hajj,et al.  ACCORD : Automatic Catching and Correction of Logic Design Errors in Combinational Circuits , 1992, Proceedings International Test Conference 1992.

[13]  Masahiro Tomita,et al.  An algorithm for locating logic design errors , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[14]  Jacob A. Abraham,et al.  Probabilistic design verification , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[15]  Edmund M. Clarke,et al.  Sequential circuit verification using symbolic model checking , 1991, DAC '90.

[16]  E. J. Aas,et al.  Quantifying design quality: a model and design experiments , 1992, Proceedings Euro ASIC '92.

[17]  Ibrahim N. Hajj,et al.  Switch-Level Timing Simulation of Mos VLSI Circuits , 1988 .

[18]  Yahiko Kambayashi,et al.  The Transduction Method-Design of Logic Networks Based on Permissible Functions , 1989, IEEE Trans. Computers.

[19]  Sarma Sastry,et al.  Edge-valued binary decision for multi-level hierarchical verification , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[20]  Liaw Heh-Tyan,et al.  Efficient automatic diagnosis of digital circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[21]  Seh-Woong Jeong,et al.  Extended BDD's: trading off canonicity for structure in verification algorithms , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[22]  C. L. Berman,et al.  Functional comparison of logic designs for VLSI circuits , 1989, ICCAD 1989.

[23]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[24]  Vishwani D. Agrawal,et al.  A Statistical Theory of Digital Circuit Testability , 1990, IEEE Trans. Computers.

[25]  Olivier Coudert,et al.  Automating the diagnosis and the rectification of design errors with PRIAM , 1989, ICCAD 1989.

[26]  Yung-Te Lai,et al.  Edge-valued binary decision diagrams for multi-level hierarchical verification , 1992, DAC '92.

[27]  Georg Pelz,et al.  Circuit comparison by hierarchical pattern matching , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[28]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[29]  Fabio Somenzi,et al.  Extended BDDs: Trading of canonicity for structure in verification algorithms , 1991, Formal Methods Syst. Des..