A Design-Driven Partitioning Algorithm for Distributed Verilog Simulation

Many partitioning algorithms have been proposed for distributed VLSI simulation. Typically, they make use of a gate level netlist, and attempt to achieve a minimal cut size subject to a load balance constraint. The algorithm executes on a hypergraph which represents the netlist. In this paper we propose a design-driven iterative partitioning algorithm for Verilog based on module instances instead of gates. We do this in order to take advantage of the design hierarchy information contained in the modules and their instances. A Verilog instance represents one vertex in the circuit hypergraph. The vertex can be flattened into multiple vertices in the event that a load balance is not achieved by instance based partitioning. In this case the algorithm flattens the largest instance and moves gates between the partitions in order to improve the load balance. Our experiments show that this partitioning algorithm produces a smaller cutsize than is produced by hmetis on a gate-level netlist. It produces better speedup for the simulation because it takes advantage of the design hierarchy.

[1]  Shashi Shekhar,et al.  Multilevel hypergraph partitioning: application in VLSI domain , 1997, DAC.

[2]  Qing Pan 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems - Cover , 2005 .

[3]  Tong Zhang,et al.  Parallel logic simulation of million-gate VLSI circuits , 2005, 13th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[4]  Gabriele Saucier,et al.  Partitioning with cone structures , 1993, ICCAD.

[5]  Carl Tropper,et al.  DVS: an object-oriented framework for distributed Verilog simulation , 2003, Seventeenth Workshop on Parallel and Distributed Simulation, 2003. (PADS 2003). Proceedings..

[6]  Shashi Shekhar,et al.  Multilevel hypergraph partitioning: applications in VLSI domain , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Jack S. N. Jean,et al.  Concurrency preserving partitioning (CPP) for parallel logic simulation , 1996, Workshop on Parallel and Distributed Simulation.

[8]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

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

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

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

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

[13]  21st International Workshop on Principles of Advanced and Distributed Simulation, PADS'07, San Diego, California, USA, June 12-15, 2007 , 2007, PADS.

[14]  Philip R. Moorby,et al.  The Verilog Hardware Description Language, 5th Edition , 2002 .

[15]  Philip R. Moorby,et al.  The Ver-ilog Hardware Description Language Fourth Edition , 1992 .

[16]  Sao-Jie Chen,et al.  An efficient multi-level partitioning algorithm for VLSI circuits , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[17]  Yang Guo,et al.  Design and implementation of a parallel Verilog simulator: PVSim , 2004, 17th International Conference on VLSI Design. Proceedings..

[18]  Philip A. Wilsey,et al.  Applying Multilevel Partitioning to Parallel Logic Simulation , 2001, Scalable Comput. Pract. Exp..

[19]  Andrew B. Kahng,et al.  Design and Implementation of the Fiduccia-Mattheyses Heuristic for VLSI Netlist Partitioning , 1999, ALENEX.

[20]  Shantanu Dutt,et al.  Cluster-aware iterative improvement techniques for partitioning large VLSI circuits , 2002, TODE.

[21]  C.L. Liu,et al.  Architecture driven circuit partitioning , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[22]  Carl Tropper,et al.  Scalable Clustered Time Warp and Logic Simulation , 1999, VLSI Design.

[23]  Jan-Ming Ho,et al.  An efficient two-level partitioning algorithm for VLSI circuits , 1999, Proceedings of the ASP-DAC '99 Asia and South Pacific Design Automation Conference 1999 (Cat. No.99EX198).