Advertisement

International Journal of Parallel Programming

, Volume 39, Issue 5, pp 639–661 | Cite as

Speeding Up Cycle Based Logic Simulation Using Graphics Processing Units

  • Alper Sen
  • Baris Aksanli
  • Murat Bozkurt
Article

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.

Keywords

Graphics processing units (GPU) Parallel logic simulation Cycle based simulation And inverter graph (AIG) 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    AIGER Format web site. http://fmv.jku.at/aiger/
  3. 3.
    Alpert C.J., Kahng A.B.: Recent directions in netlist partitioning: a survey. Int. VLSI J. 19(1–2), 1–81 (1995)MATHCrossRefGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 5.
    Bergeron J.: Writing Testbenches—Functional Verification of HDL Models. Springer, Berlin (2003)MATHGoogle Scholar
  6. 6.
    Brayton, R., Mishchenko, A.: ABC: an academic industrial-strength verification tool. In: Proceedings of the International Conference on Computer-Aided Verification (CAV) (2010)Google Scholar
  7. 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)Google Scholar
  8. 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)Google Scholar
  9. 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)Google Scholar
  10. 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. 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)CrossRefGoogle Scholar
  12. 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)Google Scholar
  13. 13.
    NVIDIA CUDA web site. http://www.nvidia.com/CUDA
  14. 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)Google Scholar
  15. 15.
    Hering, K.: A Parallel LCC Simulation System. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS) (2002)Google Scholar
  16. 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)Google Scholar
  17. 17.
  18. 18.
    Johannes, F.M.: Partitioning of VLSI circuits and systems. In: Proceedings of the Design Automation Conference (DAC), pp. 83–87. ACM (1996)Google Scholar
  19. 19.
    Meister G.: A survey on parallel logic simulation Technical report. Department of Computer Engineering, University of Saarland, Saarland (1993)Google Scholar
  20. 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)Google Scholar
  21. 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)Google Scholar
  22. 22.
    Nguyen H.: Gpu Gems 3. Addison-Wesley Professional, Reading (2007)Google Scholar
  23. 23.
  24. 24.
    Opencores Benchmarks. http://www.opencores.org
  25. 25.
    Perinkulam, A.: Logic Simulation Using Graphics Processors. Master’s thesis, University of Massachusetts Amherst (2007)Google Scholar
  26. 26.
    Pfister, G.: The Yorktown simulation engine: introduction. In: Proceedings of the Design Automation Conference (DAC) (1982)Google Scholar
  27. 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)Google Scholar
  28. 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)Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Department of Computer EngineeringBogazici UniversityIstanbulTurkey

Personalised recommendations