Skip to main content
Log in

Speeding Up Cycle Based Logic Simulation Using Graphics Processing Units

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Verification has grown to dominate the cost of electronic system design, consuming about 60% of design effort. Among several verification techniques, logic simulation remains the major verification technique. Speeding up logic simulation results in great savings and shorter time-to-market. We parallelize logic simulation using Graphics Processing Units (GPUs). In the past, GPUs were special-purpose application accelerators, suitable only for conventional graphics applications. The new generations of GPU architecture provide easier programmability and increased generality while maintaining the tremendous memory bandwidth and computational power of traditional GPUs. We develop a parallel cycle-based logic simulation algorithm that uses And Inverter Graphs (AIGs) as design representations. AIGs have proven to be an effective representation for various design automation applications, and we obtain similar benefits for speeding up logic simulation. We develop two clustering algorithms that partition the gates in the designs into independent blocks. Our algorithms exploit the massively parallel GPU architecture featuring thousands of concurrent threads, fast memory, and memory coalescing for optimizations. We demonstrate up-to 5x and 21x speedups on several benchmarks using our simulation system with the first and second clustering algorithms, respectively. Our work ultimately results in significant reduction in the overall design cycle.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ABC web site. http://www.eecs.berkeley.edu/~alanmi/abc/

  2. AIGER Format web site. http://fmv.jku.at/aiger/

  3. Alpert C.J., Kahng A.B.: Recent directions in netlist partitioning: a survey. Int. VLSI J. 19(1–2), 1–81 (1995)

    Article  MATH  Google Scholar 

  4. Bailey M.L., Briner J.V. Jr, Chamberlain R.D.: Parallel logic simulation of VLSI systems. ACM Comput. Surv. 26(3), 255–294 (1994)

    Article  Google Scholar 

  5. Bergeron J.: Writing Testbenches—Functional Verification of HDL Models. Springer, Berlin (2003)

    MATH  Google Scholar 

  6. Brayton, R., Mishchenko, A.: ABC: an academic industrial-strength verification tool. In: Proceedings of the International Conference on Computer-Aided Verification (CAV) (2010)

  7. Catanzaro, B., Keutzer, K., Su, B.Y.: Parallelizing CAD: a timely research agenda for EDA. In: Proceedings of the Design Automation Conference (DAC), pp. 12–17. ACM (2008)

  8. Chatterjee, D., DeOrio, A., Bertacco, V.: Event-driven gate-level simulation with GP-GPUs. In: Proceedings of the Design Automation Conference (DAC), pp. 557–562 (2009)

  9. Chatterjee, D., DeOrio, A., Bertacco, V.: GCS: High-performance gate-Level simulation with GPGPUs. In: Proceedings of the Conference on Design Automation and Test in Europe (DATE), pp. 1332–1337 (2009)

  10. Chatterjee S., Mishchenko A., Brayton R.K., Wang X., Kam T.: Reducing structural bias in technology mapping. IEEE TCAD 25(12), 2894–2903 (2010)

    Google Scholar 

  11. Che S., Boyer M., Meng J., Tarjan D., Sheaffer J.W., Skadron K.: A performance study of general-purpose applications on graphics processors using CUDA. J. Parallel Distrib. Comput. 68(10), 1370–1380 (2008)

    Article  Google Scholar 

  12. Croix, J.F., Khatri, S.P.: Introduction to GPU programming for EDA. In: Proceedings of the International Conference on Computer Aided Design (ICCAD), pp. 276–280. ACM (2009)

  13. NVIDIA CUDA web site. http://www.nvidia.com/CUDA

  14. Deng, Y.S., Wang, B.D., Mu, S.: Taming irregular EDA applications on GPUs. In: Proceedings of the International Conference on Computer Aided Design (ICCAD), pp. 539–546. ACM (2009)

  15. Hering, K.: A Parallel LCC Simulation System. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS) (2002)

  16. Hering, K., Reilein, R., Trautmann, S.: Cone clustering principles for parallel logic simulatio. In: International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, pp. 93–100 (2002)

  17. IWLS 2005 Benchmarks. http://www.iwls.org/iwls2005/benchmarks.html

  18. Johannes, F.M.: Partitioning of VLSI circuits and systems. In: Proceedings of the Design Automation Conference (DAC), pp. 83–87. ACM (1996)

  19. Meister G.: A survey on parallel logic simulation Technical report. Department of Computer Engineering, University of Saarland, Saarland (1993)

    Google Scholar 

  20. Mishchenko, A., Brayton, R., Jang, S.: Global delay optimization using structural choices. In: FPGA ’10: Proceedings of the 18th Annual ACM/SIGDA International Symposium on Field Programmable Gate Arrays, pp. 181–184. ACM (2010)

  21. Mishchenko, A., Chatterjee, S., Brayton, R.: DAG-aware AIG rewriting: a fresh look at combinational logic synthesis. In: Proceedings of the Design Automation Conference (DAC) (2006)

  22. Nguyen H.: Gpu Gems 3. Addison-Wesley Professional, Reading (2007)

    Google Scholar 

  23. OpenCL web site. http://www.khronos.org/opencl/

  24. Opencores Benchmarks. http://www.opencores.org

  25. Perinkulam, A.: Logic Simulation Using Graphics Processors. Master’s thesis, University of Massachusetts Amherst (2007)

  26. Pfister, G.: The Yorktown simulation engine: introduction. In: Proceedings of the Design Automation Conference (DAC) (1982)

  27. Sen, A., Aksanli, B., Bozkurt, M., Mert, M.: Parallel cycle based logic simulation using graphics processing units. In: Proceedings of the International Symposium on Parallel and Distributed Computing (ISPDC) (2010)

  28. Zhu, Q., Kitchen, N., Kuehlmann, A., Sangiovanni-Vincentelli, A.: SAT sweeping with local observability don’t-cares. In: Proceedings of the Design Automation Conference (DAC) (2006)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alper Sen.

Additional information

This article is an extended version of a conference paper that appeared at ISPDC 2010 [27].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sen, A., Aksanli, B. & Bozkurt, M. Speeding Up Cycle Based Logic Simulation Using Graphics Processing Units. Int J Parallel Prog 39, 639–661 (2011). https://doi.org/10.1007/s10766-011-0164-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-011-0164-7

Keywords

Navigation