Parallel Algorithms for VLSI Layout Verification

Layout verification determines whether the polygons that represent different mask layers in the chip conform to the technology specifications. Commercial layout verification programs can take tens of hours to run in the flattened representations for large designs. It is therefore desirable to run the DRC problem in parallel to reduce the runtimes. Also, the memory requirements of large chips are such that the entire chip description may not fit in the memory of a single workstation; hence, parallel processing allows one to distribute the memory requirements of the problem across multiple processors. In this paper, we will present a parallel implementation of a design-rule-checking program called ProperDRC which is implemented on top of the ProperCAD environment. ProperDRC has two novel contributions over previous work. First, it is portable across a large number of multiprocessor platforms, including shared memory multiprocessors, message-passing distributed memory multiprocessors, and hybrid architectures comprised of uni- and multiprocessor workstations connected by a network. Second, ProperDRC is able to exploit multiple levels of parallelism. It can utilize data parallelism, task parallelism, or a simultaneous combination of the two types of parallelism to perform DRC operations concurrently on a multiprocessor architecture. This paper presents specifics of the implementation of ProperDRC, provides an analysis of the methods used to obtain parallelism, addresses load balancing issues, and reports on experimental results on various benchmark circuits.

[1]  Sungho Kim,et al.  ProperPLACE: a portable parallel algorithm for standard cell placement , 1994, Proceedings of 8th International Parallel Processing Symposium.

[2]  Prithviraj Banerjee,et al.  Recursive Partitions On Multiprocessor , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

[3]  John A. Chandy,et al.  A library-based approach to portable, parallel, object-oriented programming: interface, implementation, and application , 1994, Proceedings of Supercomputing '94.

[4]  Prithviraj Banerjee,et al.  Portable parallel test generation for sequential circuits , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[5]  Andrew R. Pleszkun,et al.  An Algorithm for Design Rule Checking on a Multiprocessor , 1985, 22nd ACM/IEEE Design Automation Conference.

[6]  Ulrich Lauther An O (N log N) Algorithm for Boolean Mask Operations , 1981, 18th Design Automation Conference.

[7]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[8]  Thomas Szymanski,et al.  Goalie: A Space Efficient System for VLSI Artwork Analysis , 1985, IEEE Design & Test of Computers.

[9]  Rob A. Rutenbar,et al.  Mask verification on the Connection Machine , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[10]  Prithviraj Banerjee,et al.  A portable parallel algorithm for VLSI circuit extraction , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[11]  Andrew R. Pleszkun,et al.  An Algorithm for Design Rule Checking on a Multiprocessor , 1985, DAC 1985.

[12]  Krishna P. Belkhale,et al.  Parallel algorithms for CAD with applications to circuit extraction , 1992 .

[13]  John A. Chandy,et al.  Parallel simulated annealing strategies for VLSI cell placement , 1996, Proceedings of 9th International Conference on VLSI Design.

[14]  Prithviraj Banerjee Parallel algorithms for VLSI computer-aided design , 1994 .

[15]  Shahid H. Bokhari,et al.  Partitioning Problems in Parallel, Pipelined, and Distributed Computing , 1988, IEEE Trans. Computers.

[16]  John A. Chandy,et al.  ProperCAD II: A Run-Time Library for Portable, Parallel, Object-Oriented Programming with Applications to VLSI CAD , 1993 .

[17]  Janak H. Patel,et al.  A parallel algorithm for fault simulation based on PROOFS , 1995, Proceedings of ICCD '95 International Conference on Computer Design. VLSI in Computers and Processors.

[18]  John A. Chandy,et al.  Parallel algorithms for logic synthesis using the MIS approach , 1995, Proceedings of 9th International Parallel Processing Symposium.

[19]  Rob A. Rutenbar,et al.  Design and performance evaluation of new massively parallel VLSI mask verification algorithms in JIGSAW , 1991, DAC '90.

[20]  Ky Macpherson Parallel Algorithms for Layout Verification , 1995 .

[21]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[22]  Prithviraj Banerjee,et al.  ProperCAD: A portable object-oriented parallel environment for VLSI CAD , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  Prithviraj Banerjee,et al.  Parallel algorithms for VLSI circuit extraction , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[24]  John K. Salmon,et al.  Parallel hierarchical N-body methods , 1992 .

[25]  Janak H. Patel,et al.  ProperHITEC: A Portable, Parallel, Object-Oriented Approach to Sequential Test Generation , 1994, 31st Design Automation Conference.

[26]  George Cybenko,et al.  Dynamic Load Balancing for Distributed Memory Multiprocessors , 1989, J. Parallel Distributed Comput..

[27]  Prithviraj Banerjee,et al.  ProperSYN: A portable parallel algorithm for logic synthesis , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.