Drawing Design Rules for DXF to GDSIISteve DiBartolomeoApplications Manager Artwork Conversion Software, Inc. ASM 3500 converts AutoCAD DXF files into GDSII so that AutoCAD users can send their drawing files to IC design software or to mask making machines. The two databases are not organized alike. Therefore, not every entity in AutoCAD has a corresponding element in GDSII. Since the GDSII file is usually processed one more time to create mask data, there may be additional limitations imposed on what you may draw by the mask making machine. This document summarizes good drawing practices. Contents |
Setting up the AutoCAD Drawing EnvironmentSince your intention is to transfer information accurately to GDSII you should set up your AutoCAD drawing environment as closely as possible to the equivalent drawing environment for GDSII systems. The following parameters should be set. Grid GDSII is an integer database; AutoCAD uses a double precision database that is not really grid based. To get a GDSII database that exactly corresponds to the AutoCAD drawing, you should set a grid in AutoCAD and then use that grid for snap purposes. A typical grid value if you were drawing a semiconductor would be 0.5, 0.1, 0.25, 0.01 or even 0.001 for units of microns. Snap Units UCS and VPOINT Layer Names No Hatching |
Data OriginIn the semiconductor business, GDSII data is often centered around 0,0 [figure B]. Check with the receipient of your data. If you don't know this would be the default. It is also OK to locate 0,0 near the lower left of your data extents [figure A]. However it is bad practice to locate your data "far" away from the origin. [Figure C]. |
Drawing BoundariesOne of the two basic entities in GDSII is the boundary. Closed A boundary consists of a series of straight segments forming a closed area. The first and last vertex must be the same. The inside of the boundary is solid. Number of Vertices A boundary may have no less than 3 vertices and no more than 200 vertices. The upper limit of 200 is generally not a factor anymore as most tools that read and write GDSII can support many more vertices -- 1024 or 2048 or 4086. The absolute maximum based on the nature of the GDSII boundary record is 8192-1. No Self Intersection A boundary may not overlap on itself nor self-intersect. However it may touch itself. A boundary that touches itself is called a re-entrant boundary. (See d) and e) Drawing Boundaries in AutoCADThere are several different ways to draw a closed boundary in AutoCAD. Zero Width Closed Polyline (zwcp) The best way to draw boundaries is to use AutoCAD's zero width polyline and to use the close command to close the polyline. Polylines with Width You can also use an AutoCAD polyline with width. If you want to get a PATH entity in GDSII you must use a constant (non-zero) width for your polyline. vertex to vertex with the following exceptions:[a] do not start or end with a zero width vertex [b] do not use an arc section that changes width [c] do not close a polyline with width |
A closed polyline with width will result in either a self intersecting boundary or path [a]. Many times a user will want to draw a frame around an area using a wide polyline. Do this with two separate polylines. |
Solids Lines and Arcs It is also possible to accidentally draw self-intersecting boundaries when using lines and arcs since the linking routine may come to a point where the correct path to follow is ambiguous. |
While a GDSII boundary may not self intersect, it may touch itself. This is called a re-entrant polygon. Re-entrant polygons should only be used if one is sure the subsequent GDSII reader can support them. Re-entrant boundaries should only be drawn using zero width closed polylines. 200 vertex limitThe 200 vertex limit is an artificial one imposed by the GDSII definitions. Many software developers have found this limitation too restrictive and have developed programs that support more than 200 vertices.For example, if you are generating GDSII data to be sent to a MEBEs fracturing software, such as CATS by Transcription Enterprises, you may find that this fracturing software supports boundaries with vertices up to 2048 sides.
If you verify that the end user can accept more than 200 vertices, then you can go ahead and
2] configure Artwork's translators to support more than 200 vertices. |
Drawing Paths using PolylinesIn addition to the boundary, GDSII also has a PATH entity. (Some CAD systems call a path a WIRE). These are often used in IC's to interconnect boundaries representing metal pads. There are three types of PATHS: ASM 3500 always generates PATHS of type 0. Characteristics of PATHS
Drawing PATHS in AutoCAD Path Mitering |
Drawing Islands and Isolated AreasIslands are clear field areas surrounded by a dark field on the mask. They cannot be drawn in the same manner as you would for controlling a plotter or cutting machine. AutoCAD and GDSII have no way to determine that a particular polygon interior should be clear. In the drawing to the right, the designer drew one boundary inside of another [a]. This is because GDSII fills each boundary solid independent of its relationship to other boundaries. There is no such thing as an empty boundary in GDSII. There are a couple of ways to work around this:
Two mating boundariesYou can use two separate boundaries that butt up against each other to form the frame. Only use a closed polyline - if you use lines, most likely they will be linked incorrectly to form a self intersecting boundary.
These actually touch but are shown separated for clarity. Re-entrant BoundaryAnother method to realize an island is to go into the interior of your polygon and out again via the same path. This is called a re-entrant boundary. This is best done using a closed zero width polyline. |
TextASM 3500 supports text but cannot pass the actual font information. Therefore, you should not rely on fancy or special text fonts. The simple txt.shx font is fine. Supported Text Functions:
Unsupported Text Functions
Target System LimitationsJust because ASM 3500 supports text and text is a valid entity in GDSII, it does not mean that all target systems will correctly read text. Some GDSII postprocessors do not support text. Check with the user of your target system. If you know that your target does not support text, the dxf2gds translator offers a special option called PG Text. This option converts your strings of text into GDSII boundaries automatically so you don't have to do it. Top: text appearance using txt.shx; Bottom: after conversion to polygons using PG font. |
Using Blocks and InsertsBlocks are very useful for repetitive data - you can nest blocks inside of blocks to minimize your drawings size. RulesScale Insertion Layer Rotation Block Names Block Attributes MINSERTAutoCAD's MINSERT command (multiple insertion of blocks) is translated to a GDSII AREF (array reference). This is a very useful command for inserting large arrays of cells and it keeps both the DXF and GDSII database small. We suggest that if you use this command that you:
Reason |
Circles/ArcsAvoid using circles and arcs unless necessary. Although the dxf2gds translator can convert circles and arcs into GSDII data, it is not a perfect translation because GDSII does not support an arc or circle entity. The translator will approximate your arc or circle with a series of short segments. You have some control over this approximation. If you have many circles of the same diameter you may want to convert your circle(s) into a block. This will reduce the size of the GDSII file. The GDS.CFG keywords arcres and arcsag control how arcs and circles are fractured. ARCRES (Arc Resolution) ARCSAG Combining Arcsag and Arc Res |
Creating the DXF FileThis step may seem simple but we often see many customer errors in simply creating the DXF file from AutoCAD. Purge the DatabaseASM 3500 translates all entities and blocks in your DXF file whether or not the layer is on, off or frozen. To minimize translation time, and to reduce the ultimate GDSII file size you should clean and purge your drawing prior to running the DXFOUT command.
An alternative approach to purging is to use AutoCAD's WBLOCK command to create a new file containing only the entities you wish to translate to GDSII. DXFOUT CommandNote: This section only applies to very old versions of AutoCAD that supported the DXFOUT command. Newer versions of AutoCAD simply allow the user to SaveAs DXF and there are no controls.
Example |
Top of Document |
ASM 3500 Page |
AutoCAD Translators Page |
Artwork Home |