skip to main content
article
Free Access

Parallel logic simulation of VLSI systems

Published:01 September 1994Publication History
Skip Abstract Section

Abstract

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.

References

  1. ACKLAND, B. D., AHW& S. R., LINDSTROM, T. L., ant) ROMERO~ 7). J. 1985. CEMU--A concurrent timing simulator. In Proceedings of the IEEE International Conference on Computer-Aided Design. IEEE, New York, 122-124.Google ScholarGoogle Scholar
  2. AG~^WAb, P. 1986. Concurrency and communication in hardware simulators. IEEE Trans. Comput. A~ded Des. Integr. Ctrc. Syst. CAD-5, 4 (Oct.), 617 623.Google ScholarGoogle Scholar
  3. AaR^W^L, V. D. anD CH^KR~DHAR, S. T. 1992. Performance analysis of synchronized iterative lgorithm on multiprocessor systems. IEEE Trans. Parall. Dtstrib. Syst. 3, 6 (Nov.), 739 745. Google ScholarGoogle Scholar
  4. AGRAWAL, P. AND DALLY, W.J. 1990. A hardware logic simulation system. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 9, 1 (Jan.), 19-29.Google ScholarGoogle Scholar
  5. ARNOLD, J. 1985. Parallel simulation of digital circuits. MS thesis, Massachusetts Institute of Technology, Cambridge, Mass.Google ScholarGoogle Scholar
  6. ARNOLD, J. AND TERMAN, C. 1985. A multiprocessor implementation of a logic-level timing simulator. In Proceedmgs of the IEEE InternatLonal Conference on Computer-Aided Design. IEEE, New York, 116 118.Google ScholarGoogle Scholar
  7. ARWND, D. K. AND SMART, C.R. 1991. A unified framework for parallel event-driven logic simulation In Proceedings of the SCS Summer Simulation Conference. SCS, San Diego, Calif., 92-97.Google ScholarGoogle Scholar
  8. BAILEY, M.L. 1993. A delay-based model for circuit parallelism. IEEE Trans. Comput. Azded Des. Integr. Circ. Syst. 12, 12 (Dec.), 1903-1912.Google ScholarGoogle Scholar
  9. BAILEY, M. L. 1992a. How circuit size affects parallelism IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 11, 2 (Feb), 208-215.Google ScholarGoogle Scholar
  10. BAILEY, M.L. 1992b. A time-based model for investIgatmg parallel logic-level simulation. IEEE Trans. Comput. Aided Des. Integr Czrc. Syst. 11, 7 (July), 816 824.Google ScholarGoogle Scholar
  11. BAILEY, M. L. AND SNYOER, L. 1988. An empirical study of on-chip parallelism. In Proceedings of the 25th ACM/IEEE Design Automatton Conference. New York, 160 165. Google ScholarGoogle Scholar
  12. BAILEY, M. L. AND LIN, Y.-B. 1993. Synchronization strategies for parallel logic-level simulation. Int. J. Comput. Simul. 3, 3, 211 230.Google ScholarGoogle Scholar
  13. BATAINEH, A., (~ZGiJNER, F., AND SZAUTR, I. 1992. Parallel logic and fault simulation algorithms for shared memory vector machines. In Proceedings of the IEEE International Conference on Computer-Aided Design. IEEE, New York, 369-372 Google ScholarGoogle Scholar
  14. BAUER, H. AND SPORRER, C. 1993. Reducing rollback overhead in Time-Warp based distributed simulation with optimized incremental state saving. In Procee&ngs of the 26th Annual S~muIation Symposmm. IEEE Computer Society PressGoogle ScholarGoogle Scholar
  15. BAUER, H., SPOaaER, C., AND KRODEL, T.H. 1991. On distributed logic simulation using T~me Warp. In Procee&ngs o/the Internatzonal Conference on Very Large Scale Integration VLSI 91. North-Holland, Amsterdam, 127-136.Google ScholarGoogle Scholar
  16. BEECE, D. E, DEILBERT, G., PAPP, G., AND VILLANTE, F 1988. The IBM engineering verification engane. In Procee&ng~ of the 25th ACM/IEEE Destgn Automatzon Conference. IEEE, New York, 218-224. Google ScholarGoogle Scholar
  17. BILLOWITCH, W.D. 1993. IEEE 1164: Helping designers share VHDL models. IEEE Spectr. 30, 6 (June), 37.Google ScholarGoogle Scholar
  18. BLANK, T. 1984. A survey of hardware architectures used in computer-aided design. IEEE Des Test Camput. 1, 4, 21 39Google ScholarGoogle Scholar
  19. BRGLEZ, F. AND FUJIWARA, H. 1985. A neutral netlist of 10 combinational benchmark circuits and target translator in Fortran. IEEE International Symposium on Circuits and Systems. IEEE, New York.Google ScholarGoogle Scholar
  20. BROLEZ, F., BRYAN, D., AND KOZMINSKL K. 1989. Combinational profiles of sequential benchmark circuits. In Proceedmgs of the 1989 IEEE International Symposium on Circmts and Systems IEEE, New York.Google ScholarGoogle Scholar
  21. BRINER, J. V., JR. 1990. Parallel mixed-level simulat/on of digatal circmts using virtual time. Ph.D. thesis, Duke Univ., Durham, N.C. Google ScholarGoogle Scholar
  22. BRINER, J. V., JR. 1988. A framework for analyzing parallel discrete event simulation. In Pro~ ceedings of the Computer Measurement Group. CMG, Dallas, Tex., 180-185.Google ScholarGoogle Scholar
  23. BRINER, J. V., JR., ELLIS, J. L., AND KEDEM, G. 1988 Taking advantage of optimal on-chip parallelism for parallel discrete event simulation. In Proceedings of the IEEE InternatLonal Conference on Computer-Aided Design. IEEE, New York, 312 315.Google ScholarGoogle Scholar
  24. BRINER, J. V., JR., ELLIS, J. L., AND KEDEM, G. 1991. Breaking the barrier of parallel simulation of digital systems. In Proceedmgs of the 28th ACM/IEEE Design Automation Conference. IEEE, New York, 223 226. Google ScholarGoogle Scholar
  25. BBY~Z~T, R E 1977. Simulation of packet communication architecture computer systems. Tech Rep MIT-LCS-TR-188, Massachusetts Institute of Technology, Cambridge, Mass Google ScholarGoogle Scholar
  26. BRYANT, R. E., BEATrY, D, BRACE, K., Cue, K., AND SHEFFLER, T 1987. Cosmos: A compiled simulator for MOS circuits. In Proceedtngs of the 24th ACM/IEEE Design Automation Con/~rence. ACM, New York, 9 16. Google ScholarGoogle Scholar
  27. CHAMBERLAIN, R. D. AND FRANKLIN, M. A. 1991. Analysis of parallel mixed-mode simulation algomthms. In Proceedzngs of the 5th International Parallel Processing Sympostum. IEEE, New York, 155-160.Google ScholarGoogle Scholar
  28. CHAMBERLAIN, R. D AND FRANKLIN, M. A. 1990 Hierarchical discrete-event simulation on hypercube architectures IEEE Micro 10, 4 (Aug.), 10-20. Google ScholarGoogle Scholar
  29. CHAMBERLAIN, R. D. AND FRANKLIN, M. A. 1988. Discrete-event simulation on hypercube architectures. In Proceedings of the 1988 IEEE International CoTzference on Computer-Aided Destgn. IEEE, New York, 272 275.Google ScholarGoogle Scholar
  30. CHAMBERLAIN, R. D. AND FRANKLIN, M. A. 1986. Collecting data about logic simulation. IEEE Trans. Comput. Azded Des. Integr. Circ. Syst. CAD-5, 3 (July), 405-412.Google ScholarGoogle Scholar
  31. CHAMBERLAIN, R. D. AND HENDERSON, C. 1994. Evaluating the use of pre-mmulation in VLSI circuit partitioning. In Proceedings of the 8th Workshop on Parallel and Distributed Simulation. SCS, 139-146. Google ScholarGoogle Scholar
  32. CHANDY, K. M AND MISRA, J. 1981. Asynchronous distributed simulation via a sequence of parallel computations. Commun. ACM 24, 11 (Apr.), 198 206. Google ScholarGoogle Scholar
  33. CHUNG, M. J. AND CHUNG, Y. 1990. Efficient parallel logic simulation techniques for the Connection Machine. In Supercomputing '90. IEEE Computer Society, Washington, D.C., 606-614. Google ScholarGoogle Scholar
  34. CHUNG, M. J. AND CHUNG, Y. 1989. Data parallel simulation using Time-Warp on the Connection Machine. In Proceedings of the 26th ACM/IEEE Design Automation Conference. IEEE, New York, 98-103. Google ScholarGoogle Scholar
  35. DAVOREN, M. 1989. A structural mapping for parallel digital logic simulation. In Proceedings of the SCS Multiconference on Distributed Stmulatwn. SCS, San Diego, Calif., 179 182.Google ScholarGoogle Scholar
  36. DEY, S., BRGLEZ, F., AND KEDEM, G. 1990. Corolla based circuit partitioning and application to logic synthesis. Tech. Rep. TR90-40, MCNC Research Triangle Park, N.C.Google ScholarGoogle Scholar
  37. DENNEAU, M., KRONSTADT, E., AND PFISTER, G. 1983. Design and implementation of a software simulation engine. Comput. Aided Des. 15, 3 (May), 123-130.Google ScholarGoogle Scholar
  38. FIDUCCIA, C. M. AND MATTHEYSES, R.M. 1982. A linear-time heuristic for improving network partitions. In Proceedings of the 19th ACM/ IEEE Design Automation Conference. ACM, New York, 175 181. Google ScholarGoogle Scholar
  39. FLYNN, M. J. 1966. Very high-speed computing systems. Prec. IEEE 54, 1901 1909.Google ScholarGoogle Scholar
  40. FRANK, E. H. 1986. Exploiting parallelism in a switch-level simulation machine. In Proceedings of the 23rd ACM/IEEE Design AutomatLon Conference. IEEE, New York, 20-26. Google ScholarGoogle Scholar
  41. FRANK. E.H. 1985. A data-driven multiprocessor for switch-level simulation of VLSI circuits. Ph.D. thesis, Carnegie-Mellon Univ., Pittsburgh, Pa. Google ScholarGoogle Scholar
  42. FUJIMOTO, R. M. 1990. Parallel discrete event simulation. Commun. ACM 33, 10 (Oct.), 30-53. Google ScholarGoogle Scholar
  43. FUJIMOTO, R. M. 1989. Performance measurements of distributed simulation strategies. Trans. Soc. Comput. Simul. 6, 3 (July), 211 239. Google ScholarGoogle Scholar
  44. GAFNI, A. 1988. Rollback mechanisms for optimistic distributed simulation. In Proceedings of the SCS Mult~conference on D~str~buted Simulation. SCS, San Diego, Calif., 61-67.Google ScholarGoogle Scholar
  45. GOERINC, R. 1988. Simulation accelerators used in CAD. Comput. Des. (Mar. 15).Google ScholarGoogle Scholar
  46. GONZALEZ, M. J, JR. 1987. Deterministic processor scheduling'. ACM Comput. Surv. 9, 3, 171 204. Google ScholarGoogle Scholar
  47. HAHN, W. 1989. The Munich simulation computer: Design principles and performance prediction. In {-1-arclware Accelerators for Electrtcal CAD, T. Ambler, P. Agrawal, and W. Moore, Eds. Adam Hilger, Bristol, U.K.Google ScholarGoogle Scholar
  48. HILLIS, W. D. 1986. The Connection Machine. MIT Press, Cambridge, Mass. Google ScholarGoogle Scholar
  49. JEFFERSON, D. R. 1985. Virtual Time. ACM Trans. Program. Lang. Syst. 7, 3, 404-425. Google ScholarGoogle Scholar
  50. JUN, Y.-H., HA J J, I. N., LEE, S.-H., AND PARK, S.-B. 1990. High speed VLSI logic simulation using bitwise operations and parallel processing. In Proceedings of the IEEE International Conference on Computer Design. IEEE, New York, 171-174.Google ScholarGoogle Scholar
  51. KERNIGHAN, B. W. AND LIN, S. 1970 An efficient heuristm procedure for partitioning graphs. Bell Syst. Tech. J. 49, 2, 291 307.Google ScholarGoogle Scholar
  52. K~M, H. K. AND C~UNG, S. M. 1994. Parallel logic simulation using Time Warp on sharedmemory multiprocessors In Proceedings of the 8th International Parallel Processing Symposium. IEEE Computer Society Press, 942 948 Google ScholarGoogle Scholar
  53. KRAVITZ, S. A. AND ACKLAND, B. D. 1988. Static vs. dynamic partitioning of circuits for a MOS timing sinqulator on a message-based processor. In Proceedings of the SCS Multwonference on D~stributed Simulation. SCS, San Diego, Calii:, 136-140.Google ScholarGoogle Scholar
  54. KRAV~TZ, S. A., BRYANT, R. E., AND RUTENBAR, R. A. 1991. Massively parallel switch-level simulation: A ibasibility study. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 10, 7, 871 894.Google ScholarGoogle Scholar
  55. LEVENDEL, Y. H., MENON, P. R., AND PATEL, S. H. 1982. Special-purpose computer for logic simulation using distributed processing. Bell Syst. Tech. J. 61, 10, 2873 2909.Google ScholarGoogle Scholar
  56. LEWIS, D.M. 1991. A hierarchical compiled code event-driven simulator. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 10, 6 (June), 726-737.Google ScholarGoogle Scholar
  57. LIN, Y.-B. AND LAZOWSKA, E.D. 1991. Processor scheduling for Time Warp parallel simulation. In Proceedings of the SCS Multiconference on Dzstrtbuted S~mulation. SCS, San Diego, Calif., 11 14.Google ScholarGoogle Scholar
  58. LUBACHEVSKY, B. D. 1989. Efficient distributed event-driven simulations of multiple-loop networks. Commun. ACM 32, 1 (Jan.), 111-123. Google ScholarGoogle Scholar
  59. MAHMOOD, A., BAKER, W. I., HERATH, J., AND JAYA- SUMANA, A. 1992. A logic simulation engine based on a modified data flow architecture. In Proceedtngs of the IEEE International Conference on Computer-Aided Design. IEEE, New York, 377-380. Google ScholarGoogle Scholar
  60. MAANJ~KIAN, N. AND LOUCKS, W. M. 1993. High performance parallel logic simulation on a network of workstations. In Proceedings of the 7th Workshop on Parallel and Distributed Simulation. SCS, 76-84. Google ScholarGoogle Scholar
  61. MAURER, P. M. AND LEE, Y.S. 1994. Gateways: A technique for adding event-driven behavior to compiled simulations. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 13, 3 (Mar.), 338 352.Google ScholarGoogle Scholar
  62. MISRA, J. 1986. Distributed discrete-event simulation. ACM Comput. Surv. 18, 1, 39-65. Google ScholarGoogle Scholar
  63. MUELLER-THuNS, R. B., SAAB, D. G., AND ABRAH~i, J. A. 1990. Design of a scalable parallel switch-level simulator for VLSI. In Supcrcom putmg '90. IEEE Computer Society, Washington, D C., 615-624. Google ScholarGoogle Scholar
  64. MUELLER-THUNS, R. B., SAAB, D. G., DAMIANO, R. F., AND ABRAHAM, J. A. 1993. VLSI logic and fault simulation on general-purpose parallel computers. IEEE Trans. Comput. Aided Des. Integr. Czrc. Syst. 12, 3 (Mar.), 446 460.Google ScholarGoogle Scholar
  65. NANDY, B. AND LOUCKS, W. M 1993. On a parallel partitianing technique for use with conservative parallel simulation. In Proceedings of the 7th Workshop on Parallel and Distributed Simulatmn. SCS, 43 51. Google ScholarGoogle Scholar
  66. NANDY, B. AND LOUCKS, W. M. 1992. An algorithm for pamtionmg and mapping conservative parallel mmulation onto multicomputers. In Proceedings of the 6th Workshop on Parallel and D~str~buted S~mulation. SCS, 139-146.Google ScholarGoogle Scholar
  67. N~COL, D. M AND REYNOLDS, P. R., JR. 1985 A statistical approach to dynamic partitioning In Proceedings of the SCS Multtconferenee on Distributed Simulation SCS, San Diego, Calif', 53-56Google ScholarGoogle Scholar
  68. PF~STER, G. F 1986. The IBM Yorktown simulation engine. Proe. IEEE 74, 6 (June), 850 860.Google ScholarGoogle Scholar
  69. SAITOH, M. 1988. Logic simulation system using simulation processor (SP). In ProceedLngs of the 25th ACM/IEEE Design Automation Conference. IEEE, New York, 225-230. Google ScholarGoogle Scholar
  70. SANCtuS, L. 1989. Multiple-way network partitioning. IEEE Trans. Comput. 38, 1 (Jan.l, 62-81. Google ScholarGoogle Scholar
  71. SHRIVER, E. J. AND SAKALLAH, K.A. 1992. Ravel: Assigned-delay compfied-code logic simulation. In Proceedings of the IEEE Internatmnal Conference on Computer-Azded Design. IEEE, New York, 364 368. Google ScholarGoogle Scholar
  72. SMITH, R. J., II. 1986. Fundamentals of parallel logic simulation. In Proceedings of the 23rd ACM/IEEE Design Automatmn Conference. IEEE, New York, 2-12. Google ScholarGoogle Scholar
  73. SMITH, S. P., UNDERWOOD, B., AND MERCER, M. R. 1987. An analysis of several approaches to circuit partitioning for parallel logic simulation. In Proceedings of the 1987 International Conference on Computer Design. IEEE, New York, 664-667.Google ScholarGoogle Scholar
  74. ~MITH, ~. P., UNDERWOOD, B., AND NEWI~IAN, J. 1988. An analysis of parallel logic simulation on several architectures. In Proceedings of the 1988 Internattonal Conference on Parallel Processzng. Penn State University Press, University Park, Pa., 65-68.Google ScholarGoogle Scholar
  75. SOKOL, L. M., BmscoE, D. P, AND WIELAND, A. P 1988. MTW: A strategy for scheduling discrete simulation events for concurrent execution. In Proceedings of the SCS Multtconference on Dzstr,buted S~mulatmn SCS, San Diego, Calif., 34-42.Google ScholarGoogle Scholar
  76. SOULE, L.P. 1992 Parallel logic simulation' An evaluatmn of centralized-time and distributed algorithms. Ph D. thesis, Stanford Univ, Stanford, Calif. Google ScholarGoogle Scholar
  77. SOULE, L. AND BLANK, T. 1988 Parallellogic simulatmn on general-purpose machines In Proceedmgs of the 25th ACM/IEEE Design Automatzon Conference ACM, New York, 166 171 Google ScholarGoogle Scholar
  78. SOULE, L. AND BLANK, T 1987. Statistics for parallelism and abstractmn levels in digital s~mulation In Proceedings of the 24th ACM/IEEE Destgn Automation Conference ACM, New York, 588-591. Google ScholarGoogle Scholar
  79. SOUI,E, L. AND GUPTA, A. 1992 An evaluatmn of the Chandy-Misra-Bryant algorithm for digital logic simulatmn In Proceedings of the 6th Workshop on Parallel and D~stributed Szmulation. SCS, 129 138.Google ScholarGoogle Scholar
  80. SORRER, C. AND BAUEr, H. 1993. Corolla partitioning fbr distributed logic simulation of VLSI-circuits. In Proceedings of the 7th Workshop on Parallel and Dzstrtbuted Stmulatzon. SCS, 85-92. Google ScholarGoogle Scholar
  81. Su, W -K. AND SE~TZ, C.L. 1989. Variants of the Chandy-Misra-Bryant distributed discreteevent simulation algorithm. In Proceedings of' the SCS Multzconference on D~strzbuted Szmulatmn. SCS, San Diego, Cahf., 38 43.Google ScholarGoogle Scholar
  82. SUBRAMANIAN, K. AND ZARGHAM, M.a. 1990. Parallel logic simulation on general-purpose machines. In Proceedings of the 27th ACM/IEEE Design Automation Conference. ACM, New York, 485 490. Google ScholarGoogle Scholar
  83. TAKASAKI, S., SASAKI, T., NOMIZU, N, ISHIKURA, H, AND KOIKE, N. 1986. HAL II: A mixed level hardware logic simulation system. In Proceedings of the 23rd ACM/IEEE Design Automaton Conference. IEEE, New York, 581-587 Google ScholarGoogle Scholar
  84. TERMAN, C.J. 1983 Simulation tools for digital LSI design. Ph.D thesis, Massachusetts Institute of Technology, Cambridge, MassGoogle ScholarGoogle Scholar
  85. WON~;, K. AND FRANKLIN, M. A 1987a Performance analysis and design of a logic simulation machine In Proceedings of the 14th Annual Internatmnal Sympostum on Computer Architecture IEEE, New York, 49 55. Google ScholarGoogle Scholar
  86. WONG~ K. AND FRANIiLIN1 M A. 1987b. Load and communications balancing on multiprocessor logic simulation engines In Hardware Accelerators for Electrical CAD, T. Ambler and W. Moore, Eds. Adam Hilger, Bristol, UK.Google ScholarGoogle Scholar
  87. WONG, K. F, FRANKLIN, M. A., CHAMBERLAIN, R. D., AND StuNG, B. L. 1986. Statistics on logic simulation. In Proceedings of the 23rd ACM/ IEEE Design Automatton Conference. IEEE, New York, 13 19. Google ScholarGoogle Scholar

Index Terms

  1. Parallel logic simulation of VLSI systems

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader