ASM 3500 DXF to GDSII Bidirectional Translator

Recognizing and Converting Arcs from GDSII to DXF

GDSII has no arc entity - for most IC applications this is not a serious limitation but there are applications such as IC packages and RF/microwave circuits where the lack of an arc entity requires a large number of segments to approximate a smooth arc. AutoCAD's DXF file format does support arcs but most translators have no way to "recover" the arc from GDSII.

multiple segments approximating an arc in GDSII can be converted into true arcs in AutoCAD DXF

It would be most useful if when converting from GDSII to DXF the translator could identify an "arc" and write it to DXF as an arc. This results in a very smooth layout in DXF and greatly reduces the file size.

Circularize Option

ASM 3500 (as of September 2013) now includes a circularize option when converting from GDSII to DXF. Along with checking the option the user must also enter a non-zero value of chord error which is used to determine which groups of segments accurately approximate an arc and which do not.

How it Works

When the option is turned on it selects 3 consecutive points on a boundary and finds their center and radius. It then iteratively adds consecutive points to the current list to see if a single center and radius returns the same set of points and edges within the tolerance given by the chord error. It continues to add points to the collection until a point on each side is found that fails to meet the criteria. Those coordinates define the end points on either side of the arc.

This option works seamlessly whether the user has selected to preserve paths with widths (lwidening) or selected to convert paths with width into outlines.

If an arc forms a complete 360° boundary it is converted into a circle automatically instead of a polyline.

A sample GDSII file and two outputs are available for download here.

sample GDSII file with many approximated arcs

Description File Size
Sample GDSII (MMIC) with many approximated arcs 366KB unzipped
Standard DXF 1012 KB unzipped
Circularized DXF Output (Chord Error = 0.35 um) 319 KB unzipped

Configuration in Windows

When running gds2dxf on Windows, you can control the Circularize option in the Setting menu as shown in the image.

The chord error is in the GDSII units.

Windows Setting Menu

Linux/Solaris Settings

When running gds2dxf on Linux/Solaris, you can control the Circularize option in the config file GDS.CFG. It is not available in the GUI.

You will need to add the following lines to your config file before running the translator.




The CHORD_ERROR must be non-zero for circularizing to take effect. The chord error is in the GDSII units.