DocumentCode
2956598
Title
A Design-Driven Partitioning Algorithm for Distributed Verilog Simulation
Author
Li, Lijun ; Tropper, Carl
Author_Institution
McGill Univ., Montreal
fYear
2007
fDate
12-15 June 2007
Firstpage
211
Lastpage
218
Abstract
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.
Keywords
VLSI; circuit simulation; hardware description languages; resource allocation; design-driven partitioning algorithm; distributed VLSI simulation; distributed Verilog simulation; gate-level netlist; hypergraph; Algorithm design and analysis; Circuit simulation; Clustering algorithms; Computational modeling; Costs; Hardware design languages; Iterative algorithms; Load management; Partitioning algorithms; Very large scale integration;
fLanguage
English
Publisher
ieee
Conference_Titel
Principles of Advanced and Distributed Simulation, 2007. PADS '07. 21st International Workshop on
Conference_Location
San Diego, CA
Print_ISBN
0-7695-2898-8
Type
conf
DOI
10.1109/PADS.2007.4
Filename
4262807
Link To Document