Parallel algorithms and architectures for VLSI pattern generation

The process of data preparation for pattern generation consists of the performing of various geometric operations upon a user's design. This is the final manipulation of the design prior to the making of the masks and can be exceptionally time consuming, especially when a very large user designs are being processed. This thesis addresses one way of speeding up the processing by the use of (relatively) small numbers of loosely coupled processors as a multiprocessing unit. The starting point of the work was commercial pattern generation system. This incorporated programs programs or modules to perform parsing and flattening, overlap removal (merging) and partitioning. The major results are a series of performance measurements obtained by emulating parallel processors with an appropriate interconnection pattern. These give a valuable indication of the degree of performance enhancement which this approach to parallelism may be expected to bring. Confirmation of these expectations via practical implementations on two varieties of workstation clusters is reported. The three major parts of a Pattern Generation system, the merge stage whose most important aspect is overlap removal and sizing, and the decomposition and sort (termed fracture) for the two major types of lithographical equipment (electron-beam and photo-mechanical) are examined separately. Particular emphasis is placed on the merge stage, which is the most time critical part of the whole process. The method used to partition the merge task among processors is area subdivision. The practical work carried out consisted of devising practical algorithms for the area subdivision and recombination, and in the setting up of test harnesses multiprocessor emulations.

[1]  Daniel L. Slotnick Unconventional systems , 1967, AFIPS '67 (Spring).

[2]  David J. DeWitt,et al.  A taxonomy of parallel sorting , 1984, CSUR.

[3]  Richard P. Hopkins,et al.  Data-Driven and Demand-Driven Computer Architecture , 1982, CSUR.

[4]  Telle Whitney A Hierarchical Design Rule Checker , 1981 .

[5]  D. T. Lee,et al.  Computational Geometry—A Survey , 1984, IEEE Transactions on Computers.

[6]  Kevin Weiler Polygon comparison using a graph representation , 1980, SIGGRAPH '80.

[7]  Ralf Hartmut Güting,et al.  Dynamic C-Oriented Polygonal Intersections Searching , 1986, Inf. Control..

[8]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.

[9]  Franco P. Preparata,et al.  Correction to "Computational Geometry - A Survey" , 1985 .

[10]  Nancy P. Kronenberg,et al.  VAXcluster: a closely-coupled distributed system , 1986, TOCS.

[11]  David S. Johnson The NP-Completeness Column: An Ongoing Guide , 1986, J. Algorithms.

[12]  A. C. Kilgour Polygon Processing for VLSI Pattern Generation , 1987 .

[13]  John P. Hayes,et al.  A Microprocessor-based Hypercube Supercomputer , 1986, IEEE Micro.

[14]  James A. Wilmore A Hierarchical Bit-Map Format for the Representation of IC Mask Data , 1980, 17th Design Automation Conference.

[15]  Takao Asano,et al.  Partitioning a polygonal region into trapezoids , 1986, JACM.

[16]  Kevin D. Gourley,et al.  A Polygon-to-Rectangle Conversion Algorithm , 1983, IEEE Computer Graphics and Applications.

[17]  John E. Shore Second thoughts on parallel processing , 1973 .

[18]  Telle Elizabeth Whitney Hierarchical composition of vlsi circuits , 1985 .

[19]  Ee Barton,et al.  The polygon package , 1980 .

[20]  Warren Burton,et al.  Representation of many-sided polygons and polygonal lines for rapid processing , 1977, CACM.

[21]  Henry S. Baird Fast algorithms for LSI artwork analysis , 1977, DAC '77.

[22]  Pere Brunet,et al.  Object representation by means of nonminimal division quadtrees and octrees , 1985, TOGS.

[23]  Jon Louis Bentley,et al.  Statistics on VLSI Designs. , 1980 .

[24]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[25]  Chris R. Jesshope,et al.  Parallel Computers 2: Architecture, Programming and Algorithms , 1981 .

[26]  Thomas Ottmann,et al.  Algorithms for Reporting and Counting Geometric Intersections , 1979, IEEE Transactions on Computers.