Parallel logic simulation of VLSI systems

Fast, efficient logic simulators are an essential tool in modern VLSI system design. Logic simulation is used extensively for design verification prior to fabrication, and as VLSI systems grow in size, the execution time required by simulation is becoming more and more significant. Faster logic simulators will have an appreciable economic impact, speeding time to market while ensuring more thorough system design testing. One approach to this problem is to utilize parallel processing, taking advantage of the concurrency available in the VLSI system to accelerate the logic simulation task. Parallel logic simulation has received a great deal of attention over the past several years, but this work has not yet resulted in effective, high-performance simulators being available to VLSI designers. A number of techniques have been developed to investigate performance issues: formal models, performance modeling, empirical studies, and prototype implementations. Analyzing reported results of these techniques, we conclude that five major factors affect performance: synchronization algorithm, circuit structure, timing granularity, target architecture, and partitioning. After reviewing techniques for parallel simulation, we consider each of these factors using results reported in the literature. Finally we synthesize the results and present directions for future research in the field.

[1]  F. Ozguner,et al.  Parallel logic and fault simulation algorithms for shared memory vector machines , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[2]  Gershon Kedem,et al.  Parallel mixed-level simulation of digital circuits using virtual time , 1990 .

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

[4]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[5]  Mark A. Franklin,et al.  Discrete-event simulation on hypercube architectures , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[6]  Naraig Manjikian,et al.  High performance parallel logic simulations on a network of workstations , 1993, PADS '93.

[7]  Charles L. Seitz,et al.  Variants of the Chandy-Misra-Bryant Distributed Discrete-Event Simulation Algorithm , 1988 .

[8]  Randal E. Bryant,et al.  COSMOS: a compiled simulator for MOS circuits , 1987, DAC '87.

[9]  Daniel G. Saab,et al.  VLSI logic and fault simulation on general-purpose parallel computers , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Jeff S. Steinman,et al.  SPEEDES - A multiple-synchronization environment for parallel discrete-event simulation , 1992 .

[11]  Karem A. Sakallah,et al.  Ravel: assigned-delay compiled-code logic simulation , 1992, ICCAD.

[12]  Roger D. Chamberlain,et al.  Performance of synchronous parallel discrete-event simulation , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

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

[14]  Moon-Jung Chung,et al.  Data Parallel Simulation Using Time-Warp on the Connection Machine , 1989, 26th ACM/IEEE Design Automation Conference.

[15]  Mary L. Bailey A delay-based model for circuit parallelism , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Kenji Iwata,et al.  Logic simulation system using simulation processor (SP) , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[17]  Michael J. Flynn,et al.  Very high-speed computing systems , 1966 .

[18]  Randal E. Bryant,et al.  SIMULATION OF PACKET COMMUNICATION ARCHITECTURE COMPUTER SYSTEMS , 1977 .

[19]  Mario J. Gonzalez Deterministic Processor Scheduling , 1977, CSUR.

[20]  Soon Myoung Chung,et al.  Parallel logic simulation using Time Warp on shared-memory multiprocessors , 1994, Proceedings of 8th International Parallel Processing Symposium.

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

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

[23]  R.D. Chamberlain,et al.  Analysis of parallel mixed-mode simulation algorithms , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[24]  Mary L. Bailey How circuit size affects parallelism , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[26]  Sang-Heon Lee,et al.  High speed VLSI logic simulation using bitwise operations and parallel processing , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[27]  Anura P. Jayasumana,et al.  A logic simulation engine based on a modified data flow architecture , 1992, ICCAD.

[28]  Tom Blank,et al.  Parallel logic simulation on general purpose machines , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[29]  Rob A. Rutenbar,et al.  Massively parallel switch-level simulation: a feasibility study , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[30]  Jack V. Briner A Framework for Analyzing Parallel Discrete Event Simulation , 1988, Int. CMG Conference.

[31]  Edward H. Frank Exploiting Parallelism in a Switch-Level Simulation Machine , 1986, DAC 1986.

[32]  Gershon Kedem,et al.  Taking advantage of optimal on-chip parallelism for parallel discrete-event simulation , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

[33]  W. I. Baker,et al.  A logic simulation engine based on a modified data flow architecture , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[34]  Herbert Bauer,et al.  On Distributed Logic Simulation Using Time Warp , 1991, Conference on Advanced Research in VLSI.

[35]  Edward Harrison Frank A data-driven multiprocessor for switch-level simulation of vlsi circuits , 1985 .

[36]  R.D. Chamberlain,et al.  Hierarchical discrete-event simulation on hypercube architectures , 1990, IEEE Micro.

[37]  Bill Underwood,et al.  An Analysis of Parallel Logic Simulation on Several Architectures , 1988, ICPP.

[38]  Boris D. Lubachevsky,et al.  Efficient distributed event-driven simulations of multiple-loop networks , 1988, CACM.

[39]  Nobuhiko Koike,et al.  HAL II: A Mixed Level Hardware Logic Simulation System , 1986, 23rd ACM/IEEE Design Automation Conference.

[40]  Larry Soulé,et al.  Statistics for Parallelism and Abstraction Level in Digital Simulation , 1987, 24th ACM/IEEE Design Automation Conference.

[41]  Prathima Agrawal Concurrency and Communication in Hardware Simulators , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[42]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[43]  David M. Nicol,et al.  STATISTICAL APPROACH TO DYNAMIC PARTITIONING. , 1985 .

[44]  Moon-Jung Chung,et al.  Efficient parallel logic simulation techniques for the Connection Machine , 1990, Proceedings SUPERCOMPUTING '90.

[45]  Herbert Bauer,et al.  Corolla partitioning for distributed logic simulation of VLSI-circuits , 1993, PADS '93.

[46]  Nobuhiko Koike,et al.  HAL II: A Mixed Level Hardware Logic Simulation System , 1986, DAC 1986.

[47]  Jayadev Misra,et al.  Distributed discrete-event simulation , 1986, CSUR.

[48]  Anoop Gupta,et al.  Parallel logic simulation: an evaluation of centralized-time and distributed-time algorithms , 1992 .

[49]  Mark A. Franklin,et al.  Collecting Data About Logic Simulation , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[50]  Laura A. Sanchis,et al.  Multiple-Way Network Partitioning , 1989, IEEE Trans. Computers.

[51]  Mary L. Bailey A time-based model for investigating parallel logic-level simulation , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[52]  R. M. Fujimoto,et al.  Parallel discrete event simulation , 1989, WSC '89.

[53]  Biswajit Nandy,et al.  On a parallel partitioning technique for use with conservative parallel simulation , 1993, PADS '93.

[54]  Christopher J. Terman Simulation tools for digital LSI design , 1983 .

[55]  Richard M. Fujimoto,et al.  Performance Measurements of Distributed Simulation Strategies. , 1987 .

[56]  Ken Wong,et al.  Load and Communications Balancing on Multiprocessor Logic Simulation Engines , 1987 .

[57]  Eric Paul Kronstadt,et al.  Design and implementation of a software simulation engine , 1983 .

[58]  Daniel G. Saab,et al.  Design of a scalable parallel switch-level simulator for VLSI , 1990, Proceedings SUPERCOMPUTING '90.

[59]  Mark A. Franklin,et al.  Performance analysis and design of a logic simulation machine , 1987, ISCA '87.

[60]  Vishwani D. Agrawal,et al.  Performance Analysis of Synchronized Iterative Algorithms on Multiprocessor Systems , 1992, IEEE Trans. Parallel Distributed Syst..

[61]  Yun Sik Lee,et al.  Gateways: a technique for adding event-driven behavior to compiled simulations , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[62]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[63]  Richard M. Fujimoto,et al.  Time Warp on a Shared Memory Multiprocessor , 1989, ICPP.

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

[65]  Roger D. Chamberlain,et al.  Parallel Logic Simulation of VLSI Systems , 1995, 32nd Design Automation Conference.

[66]  David M. Lewis A hierarchical compiled code event-driven logic simulator , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[67]  P. R. Menon,et al.  Special-purpose computer for logic simulation using distributed processing , 1982, The Bell System Technical Journal.

[68]  Roger D. Chamberlain,et al.  Evaluating the use of pre-simulation in VLSI circuit partitioning , 1994, PADS '94.

[69]  Karem A. Sakallah,et al.  Ravel: assinged-delay compiled-code logic simulation , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[70]  Gershon Kedem,et al.  Breaking the barrier of parallel simulation of digital systems , 1991, 28th ACM/IEEE Design Automation Conference.

[71]  Prathima Agrawal,et al.  A hardware logic simulation system , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[72]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.

[73]  F. Brglez,et al.  A neutral netlist of 10 combinational benchmark circuits and a target translator in FORTRAN , 1985 .

[74]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[75]  Robert J. Smith Fundamentals of Parallel Logic Simulation , 1986, DAC 1986.

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

[77]  Mark A. Franklin,et al.  Statistics on Logic Simulation , 1986, DAC 1986.

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

[79]  Mehdi R. Zargham,et al.  Distributed and parallel demand driven logic simulation , 1991, DAC '90.

[80]  Leonhard Hering,et al.  Closed (C2- and C3-continuous) Bézier and B-spline curves with given tangent polygons , 1983 .

[81]  Herbert Bauer,et al.  Reducing Rollback Overhead In Time-warp Based Distributed Simulation With Optimized Incremental State Saving , 1993, [1993] Proceedings 26th Annual Simulation Symposium.

[82]  G.F. Pfister,et al.  The IBM Yorktown simulation engine , 1986, Proceedings of the IEEE.