An industrial view of electronic design automation

The automation of the design of electronic systems and circuits [electronic design automation (EDA)] has a history of strong innovation. The EDA business has profoundly influenced the integrated circuit (IC) business and vice-versa. This paper reviews the technologies, algorithms, and methodologies that have been used in EDA tools and the business impact of these technologies. In particular, we focus on four areas that have been key in defining the design methodologies over time: physical design, simulation/verification, synthesis, and test. We then look briefly into the future. Design will evolve toward more software programmability or some other kind of field configurability like field programmable gate arrays (FPGAs). We discuss the kinds of tool sets needed to support design in this environment.

[1]  Stan Y. Liao,et al.  An efficient implementation of reactivity for modeling hardware in the scenic design environment , 1997, DAC.

[2]  Dwight D. Hill,et al.  Multi-Level Simulation for VLSI Design , 1980 .

[3]  Denis Martin,et al.  A simulation-based protocol-driven scan test design rule checker , 1994, Proceedings., International Test Conference.

[4]  Ning Nan,et al.  The chip layout problem: an automatic wiring procedure , 1988, 25 years of DAC.

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

[6]  Tom Blank,et al.  A Survey of Hardware Accelerators Used in Computer-Aided Design , 1984, IEEE Design & Test of Computers.

[7]  Michael Keating,et al.  Reuse Methodology Manual , 1999 .

[8]  Mark H. Decker,et al.  Simulation of IBM Enterprise System/9000 Models 820 and 900 , 1992, IBM J. Res. Dev..

[9]  H. K. Chaudhry,et al.  Mixed 2-4 state simulation with VCS , 1997, Proceedings of Meeting on Verilog HDL (IVC/VIUF'97).

[10]  Ron Miller,et al.  Behavioral Synthesis Methodology for HDL-Based Specification and Validation , 1995, 32nd Design Automation Conference.

[11]  Alberto L. Sangiovanni-Vincentelli,et al.  A New Symbolic Channel Router: YACR2 , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  Melvin A. Breuer,et al.  A class of min-cut placement algorithms , 1988, DAC '77.

[13]  Bryan Preas,et al.  Placement Algorithms for Arbitrarily Shaped Blocks , 1979, 16th Design Automation Conference.

[14]  Andrew B. Kahng,et al.  Recent directions in netlist partitioning: a survey , 1995, Integr..

[15]  Edmund M. Clarke,et al.  Efficient generation of counterexamples and witnesses in symbolic model checking , 1995, DAC '95.

[16]  Anant Agarwal,et al.  Virtual wires: overcoming pin limitations in FPGA-based logic emulators , 1993, [1993] Proceedings IEEE Workshop on FPGAs for Custom Computing Machines.

[17]  K. Mani Chandy,et al.  Asynchronous distributed simulation via a sequence of parallel computations , 1981, CACM.

[18]  Don MacMillen,et al.  ISIS: a system for performance driven resource sharing , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[19]  Robert J. Smith,et al.  Fundamentals of Parallel Logic Simulation , 1986, 23rd ACM/IEEE Design Automation Conference.

[20]  Michael Burstein,et al.  Hierarchical Channel Router , 1983, 20th Design Automation Conference Proceedings.

[21]  R. C. Pixley,et al.  INTEGRATING MODEL CHECKING INTO THE SEMICONDUCTOR DESIGN FLOW , 1999 .

[22]  Richard L. Rudell Tutorial: Design of a Logic Synthesis System , 1996, DAC.

[23]  C. Y. Lee An Algorithm for Path Connections and Its Applications , 1961, IRE Trans. Electron. Comput..

[24]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

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

[26]  Andrew B. Kahng,et al.  Recent developments in netlist partitioning: a survey , 1995 .

[27]  Georg Sigl,et al.  GORDIAN: VLSI placement by quadratic programming and slicing optimization , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[28]  Nripendra N. Biswas,et al.  Minimization of Boolean Functions , 1971, IEEE Transactions on Computers.

[29]  M. Ray Mercer,et al.  Iddq test: sensitivity analysis of scaling , 1996, Proceedings International Test Conference 1996. Test and Design Validity.

[30]  Richard Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD.

[31]  Willard Van Orman Quine,et al.  The Problem of Simplifying Truth Functions , 1952 .

[32]  Angus R. Mckay Comment on "Computer-Aided Design: Simulation of Digital Design Logic" , 1969, IEEE Trans. Computers.

[33]  Larry N. Dunn IBM'S Engineering Design System Support for VLSI Design and Verification , 1984, IEEE Design & Test of Computers.

[34]  Taewhan Kim,et al.  Arithmetic optimization using carry-save-adders , 1998, DAC.

[35]  M. Ray Mercer,et al.  Delay Testing Quality in Timing-Optimized Designs , 1991, 1991, Proceedings. International Test Conference.

[36]  D. Gregory,et al.  SOCRATES: A System for Automatically Synthesizing and Optimizing Combinational Logic , 1986, 23rd ACM/IEEE Design Automation Conference.

[37]  Pierre Bricaud,et al.  Reuse methodology manual for system-on-chip designs , 1998 .

[38]  A. Sangiovanni-Vincentelli,et al.  Pleasure: a computer program for simple/multiple constrained unconstrained folding of programmable logic arrays , 1988, 25 years of DAC.

[39]  D. Hightower,et al.  A solution to line routing problems on the continuous plane , 1988 .

[40]  Narendra V. Shenoy,et al.  Retiming: Theory and practice , 1997, Integr..

[41]  Daniel L. Ostapko,et al.  MINI: A Heuristic Approach for Logic Minimization , 1974, IBM J. Res. Dev..

[42]  Ernest S. Kuh,et al.  Proud: a fast sea-of-gates placement algorithm , 1988, DAC '88.

[43]  R. Leon Price,et al.  Development and application of a designer oriented cyclic simulator , 1976, DAC '76.

[44]  Frank O. Hadlock,et al.  A shortest path algorithm for grid graphs , 1977, Networks.

[45]  Joseph Varghese,et al.  An efficient logic emulation system , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[46]  James Gateley UltraSPARC™ -I Emulation , 1995, DAC 1995.

[47]  Olivier Coudert,et al.  New algorithms for gate sizing: a comparative study , 1996, DAC '96.

[48]  Allen Newell,et al.  Computer Structures: Readings and Examples, , 1971 .

[49]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[50]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[51]  Takao Uehara,et al.  Optimal Layout of CMOS Functional Arrays , 1978, 16th Design Automation Conference.

[52]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[53]  Gordon L. Smith,et al.  Boolean Comparison of Hardware and Flowcharts , 1982, IBM J. Res. Dev..

[54]  Louise Trevillyan,et al.  Logic Synthesis Through Local Transformations , 1981, IBM J. Res. Dev..

[55]  Akihiko Yamada,et al.  AUTOMATIC SYSTEM LEVEL TEST GENERATION AND FAULT LOCATION FOR LARGE DIGITAL SYSTEMS , 1978, DAC '78.

[56]  Lawrence Snyder,et al.  An empirical study of on-chip parallelism , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[57]  Naveed A. Sherwani,et al.  Algorithms for VLSI Physical Design Automation , 1999, Springer US.

[58]  Stephen A. Szygenda TEGAS2—anatomy of a general purpose TEST GENERATION AND SIMULATION system for digital logic , 1972, DAC '72.

[59]  Pierre Marchal,et al.  Field-programmable gate arrays , 1999, CACM.

[60]  Gary W. Clow A Global Routing Algorithm for General Cells , 1984, 21st Design Automation Conference Proceedings.

[61]  M.M. Denneau The Yorktown Simulation Engine , 1982, 19th Design Automation Conference.

[62]  Daniel K. Beece,et al.  The IBM engineering verification engine , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[63]  Stan Y. Liao,et al.  Hardware synthesis from C/C++ , 1999, DATE '99.

[64]  Robert K. Brayton,et al.  MIS: A Multiple-Level Logic Optimization System , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[65]  Enrico Gobbetti,et al.  Encyclopedia of Electrical and Electronics Engineering , 1999 .

[66]  John P. Blanks Near-Optimal Placement Using a Quadratic Objective Function , 1985, 22nd ACM/IEEE Design Automation Conference.

[67]  Martyn Edwards,et al.  Logic synthesis , 1994, Microprocessors and microsystems.

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

[69]  Sheldon B. Akers On the Use of the Linear Assignment Algorithm in Module Placement , 1981, 18th Design Automation Conference.

[70]  A. Sangiovanni-Vincentelli,et al.  The TimberWolf placement and routing package , 1985, IEEE Journal of Solid-State Circuits.

[71]  Dwight D. Hill,et al.  SABLE: A Tool for Generating Structured, Multi-Level Simulations , 1979, 16th Design Automation Conference.

[72]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[73]  Al Dewey The VHSIC Hardware Description Language (VHDL) Program , 1984, 21st Design Automation Conference Proceedings.

[74]  Shankar Krishnamoorthy,et al.  Boolean Matching of Sequential Elements , 1994, 31st Design Automation Conference.

[75]  Wayne Wolf,et al.  High-Level VLSI Synthesis , 1991 .

[76]  G. Persky,et al.  LTX-A system for the directed automatic design of LSI circuits , 1988, 25 years of DAC.

[77]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

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

[79]  Klaus Eckl,et al.  A practical approach to multiple-class retiming , 1999, DAC '99.

[80]  Youn-Long Lin,et al.  Recent developments in high-level synthesis , 1997, TODE.

[81]  Thomas W. Williams,et al.  A logic design structure for LSI testability , 1977, DAC '77.

[82]  J. Paul Roth,et al.  Diagnosis of automata failures: a calculus and a method , 1966 .

[83]  Albert Ren Rui Wang Algorithms for multilevel logic optimization , 1991 .

[84]  M. Correia,et al.  Design automation in IBM , 1981 .

[85]  Robert S. Fisher A Multi-Pass, Multi-Algorithm Approach to PCB Routing , 1978, 15th Design Automation Conference.

[86]  Vishwani D. Agrawal,et al.  Chip Layout Optimization Using Critical Path Weighting , 1984, 21st Design Automation Conference Proceedings.

[87]  Kurt Keutzer,et al.  Getting to the bottom of deep submicron , 1998, ICCAD '98.

[88]  Brion L. Keller,et al.  Delay Test: The Next Frontier for LSSD Test Systems , 1992, Proceedings International Test Conference 1992.

[89]  E.S. Kuh,et al.  PROUD: a sea-of-gates placement algorithm , 1988, IEEE Design & Test of Computers.

[90]  Donald E. Thomas,et al.  The Verilog® Hardware Description Language , 1990 .

[91]  Narendra V. Shenoy,et al.  A robust solution to the timing convergence problem in high-performance design , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[92]  M. Ray Mercer,et al.  Statistical delay fault coverage and defect level for delay faults , 1988, International Test Conference 1988 Proceeding@m_New Frontiers in Testing.

[93]  Gary D. Hachtel,et al.  BOLD: The Boulder Optimal Logic Design system , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume 1: Architecture Track.

[94]  Richard D. Eldred Test Routines Based on Symbolic Logical Statements , 1959, JACM.

[95]  Ron Miller,et al.  Scheduling using behavioral templates , 1995, DAC '95.

[96]  Anoop Gupta,et al.  An evaluation of the Chandy-Misra-Bryant algorithm for digital logic simulation , 1991, TOMC.

[97]  Jonathan Allen,et al.  Macromodeling CMOS circuits for timing simulation , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[98]  David N. Deutsch,et al.  A “DOGLEG” channel router , 1976, DAC '76.