Parallelizing CAD: A timely research agenda for EDA

The relative decline of single-threaded processor performance, coupled with the ongoing shift towards on chip parallelism requires that CAD applications run efficiently on parallel microprocessors. We believe that an ad hoc approach to parallelizing CAD applications will not lead to satisfactory results: neither in terms of return on engineering investment nor in terms of the computational efficiency of end applications. Instead, we propose that a key area of CAD research is to identify the design patterns underlying CAD applications and then build CAD application frameworks that aid efficient parallel software implementations of these design patterns. Our initial results indicate that parallel patterns exist in a broad range of CAD problems. We believe that frameworks for these patterns will enable CAD to successfully capitalize on increased processor performance through parallelism.

[1]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[2]  Prabhakar Goel,et al.  PODEM-X: An Automatic Test Generation System for VLSI Logic Structures , 1981, 18th Design Automation Conference.

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

[4]  Rob A. Rutenbar,et al.  A Scanline Data Structure Processor for VLSI Geometry Checking , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  K. Keutzer DAGON: Technology Binding and Local Optimization by DAG Matching , 1987, 24th ACM/IEEE Design Automation Conference.

[6]  Albert R. Wang,et al.  Logic verification using binary decision diagrams in a logic synthesis environment , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[7]  Sharad Malik,et al.  Delay computation in combinational logic circuits: theory and algorithms , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

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

[9]  Robert K. Brayton,et al.  Graph algorithms for clock schedule optimization , 1992, ICCAD.

[10]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[12]  Sharad Malik,et al.  Computation of floating mode delay in combinational circuits: practice and implementation , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[14]  Ed Anderson,et al.  LAPACK Users' Guide , 1995 .

[15]  Logic decomposition during technology mapping , 1995, ICCAD.

[16]  Yoji Kajitani,et al.  VLSI module placement based on rectangle-packing by the sequence-pair , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Prithviraj Banerjee,et al.  Actor based parallel VHDL simulation using time warp , 1996, Workshop on Parallel and Distributed Simulation.

[18]  Szu-Tsung Cheng,et al.  Synthesizing multi-phase HDL programs , 1996, Proceedings. IEEE International Verilog HDL Conference.

[19]  Jack Dongarra,et al.  LAPACK Users' guide (third ed.) , 1999 .

[20]  Jason Cong,et al.  DUNE: a multi-layer gridless routing system with wire planning , 2000, ISPD '00.

[21]  J. Kukula,et al.  Symbolic RTL simulation , 2001, DAC '01.

[22]  Robert K. Brayton,et al.  Using SAT for combinational equivalence checking , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[23]  Andries Stam A Framework for Coordinating Parallel Branch and Bound Algorithms , 2002, COORDINATION.

[24]  Jonathan Schaeffer,et al.  From patterns to frameworks to parallel programs , 2002, Parallel Comput..

[25]  Yao-Wen Chang,et al.  TCG-S: orthogonal coupling of P*-admissible representations for general floorplans , 2004, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[26]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[27]  Sunil P. Khatri,et al.  A robust algorithm for approximate compatible observability don't care (CODC) computation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[28]  Timothy G. Mattson,et al.  Patterns for parallel programming , 2004 .

[29]  Yao-Wen Chang,et al.  Modern floorplanning based on fast simulated annealing , 2005, ISPD '05.

[30]  Yao-Wen Chang,et al.  IMF: interconnect-driven multilevel floorplanning for large-scale building-module designs , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[31]  Charles E. Leiserson,et al.  Retiming synchronous circuitry , 1988, Algorithmica.

[32]  David Z. Pan,et al.  RADAR: RET-aware detailed routing using fast lithography simulations , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[33]  Andrew B. Kahng,et al.  Fast and efficient phase conflict detection and correction in standard-cell layouts , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[34]  Joseph R. Shinnerl,et al.  mPL6: a robust multilevel mixed-size placement engine , 2005, ISPD '05.

[35]  Chris C. N. Chu,et al.  Fast and accurate rectilinear steiner minimal tree algorithm for VLSI design , 2005, ISPD '05.

[36]  Sani R. Nassif,et al.  An Accurate Sparse Matrix Based Framework for Statistical Static Timing Analysis , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[37]  Fast and Robust Quadratic Placement Combined with an Exact Linear Net Model , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[38]  Tung-Chieh Chen,et al.  A High-Quality Mixed-Size Analytical Placer Considering Preplaced Blocks and Density Constraints , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[39]  Robert K. Brayton,et al.  DAG-aware AIG rewriting: a fresh look at combinational logic synthesis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[40]  Majid Sarrafzadeh,et al.  Dragon2006: blockage-aware congestion-controlling mixed-size placer , 2006, ISPD '06.

[41]  Igor L. Markov,et al.  Solving hard instances of floorplacement , 2006, ISPD '06.

[42]  Andrew B. Kahng,et al.  A faster implementation of APlace , 2006, ISPD '06.

[43]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[44]  Jaijeet S. Roychowdhury,et al.  Interdependent Latch Setup/Hold Time Characterization via Euler-Newton Curve Tracing on State-Transition Equations , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[45]  Kun Yuan,et al.  BoxRouter 2.0: architecture and implementation of a hybrid and robust global router , 2007, 2007 IEEE/ACM International Conference on Computer-Aided Design.

[46]  Chris C. N. Chu,et al.  RQL: Global Placement via Relaxed Quadratic Spreading and Linearization , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[47]  Jonathan W. Berry,et al.  Challenges in Parallel Graph Processing , 2007, Parallel Process. Lett..

[48]  Chris C. N. Chu,et al.  FastPlace 3.0: A Fast Multilevel Quadratic Placement Algorithm with Placement Congestion Control , 2007, 2007 Asia and South Pacific Design Automation Conference.

[49]  Sanjay J. Patel,et al.  Implicitly Parallel Programming Models for Thousand-Core Microprocessors , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[50]  Chris C. N. Chu,et al.  FastRoute 2.0: A High-quality and Efficient Global Router , 2007, 2007 Asia and South Pacific Design Automation Conference.

[51]  Yu Hu,et al.  DpRouter: A Fast and Accurate Dynamic-Pattern-Based Global Routing Algorithm , 2007, 2007 Asia and South Pacific Design Automation Conference.