Gate-Level Simulation with GPU Computing

Functional verification of modern digital designs is a crucial, time-consuming task impacting not only the correctness of the final product, but also its time to market. At the heart of most of today’s verification efforts is logic simulation, used heavily to verify the functional correctness of a design for a broad range of abstraction levels. In mainstream industry verification methodologies, typical setups coordinate the validation effort of a complex digital system by distributing logic simulation tasks among vast server farms for months at a time. Yet, the performance of logic simulation is not sufficient to satisfy the demand, leading to incomplete validation processes, escaped functional bugs, and continuous pressure on the EDA industry to develop faster simulation solutions. In this work we propose GCS, a solution to boost the performance of logic simulation, gate-level simulation in particular, by more than a factor of 10 using recent hardware advances in Graphic Processing Unit (GPU) technology. Noting the vast available parallelism in the hardware of modern GPUs and the inherently parallel structures of gate-level netlists, we propose novel algorithms for the efficient mapping of complex designs to parallel hardware. Our novel simulation architecture maximizes the utilization of concurrent hardware resources while minimizing expensive communication overhead. The experimental results show that our GPU-based simulator is capable of handling the validation of industrial-size designs while delivering more than an order-of-magnitude performance improvements on average, over the fastest multithreaded simulators commercially available.

[1]  Atchuthan S Perinkulam Logic Simulation Using Graphics Processors , 2007 .

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

[3]  Jiang Hu,et al.  GPU-Based Parallelization for Fast Circuit Optimization , 2011, ACM Trans. Design Autom. Electr. Syst..

[4]  Valeria Bertacco,et al.  GCS: High-performance gate-level simulation with GPGPUs , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[6]  Hai Zhou,et al.  Parallel CAD: Algorithm Design and Programming Special Section Call for Papers TODAES: ACM Transactions on Design Automation of Electronic Systems , 2010 .

[7]  Yervant Zorian,et al.  2003 technology roadmap for semiconductors , 2004, Computer.

[8]  Barry K. Rosen,et al.  HSS--A High-Speed Simulator , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Anant Agarwal,et al.  Logic emulation with virtual wires , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  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.

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

[12]  Yangdong Deng,et al.  Taming irregular EDA applications on GPUs , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

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

[14]  Ausif Mahmood,et al.  Parallel event-driven logic simulation algorithms: tutorial and comparative evaluation , 1996 .

[15]  Greg Lomow,et al.  Speeding up distributed simulation using the time warp mechanism , 1986, EW 2.

[16]  Sunil P. Khatri,et al.  Towards acceleration of fault simulation using Graphics Processing Units , 2008, 2008 45th ACM/IEEE Design Automation Conference.

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

[18]  Sunil P. Khatri,et al.  Fast circuit simulation on graphics processing units , 2009, 2009 Asia and South Pacific Design Automation Conference.

[19]  Jacob A. Abraham,et al.  Distributed VLSI simulation on a network of workstations , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[20]  Young-Il Kim,et al.  Communication-efficient hardware acceleration for fast functional simulation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[21]  Sunil P. Khatri,et al.  Accelerating statistical static timing analysis using graphics processing units , 2009, 2009 Asia and South Pacific Design Automation Conference.

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

[23]  Gerd Meister A Survey on Parallel Logic Simulation , 1993 .

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

[25]  Yici Cai,et al.  GPU friendly Fast Poisson Solver for structured power grid network analysis , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[26]  M.M. Denneau The Yorktown Simulation Engine , 1982, 19th Design Automation Conference.

[27]  Valeria Bertacco,et al.  Event-driven gate-level simulation with GP-GPUs , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[28]  Thomas Ertl,et al.  CUDASA: Compute Unified Device and Systems Architecture , 2008, EGPGV@Eurographics.

[29]  Y. Matsumoto,et al.  Parallel logic simulation on a distributed memory machine , 1992, [1992] Proceedings The European Conference on Design Automation.

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

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