GDS-SR Web Page Header

GDS-SR Revision History

2.04 [2/28/2023]

Added a new menu item to the View menu and toolbar to reset all window positions. This is useful when using multi monitor configurations where the previous positions of windows may no longer be valid.

Minor UI fixes.

2.03 [10/20/2022]

Minor UI and bug fixes.

2.02 [08/26/2022]

Version 2.01 flattened the output file. This issue was fixed in this release.

2.01 [09/03/2021]

This is a major rewrite of the back end of GDS-SR replacing the older GDSII to ASCII conversion with the powerful QisMLib library. Because the stepped files are no longer converted to ASCII and flattened, the size of a stepped GDSII file is no longer a limitation.

64 bit

Built GDS-SR as a 64-bit binary to make it compatible with QisMLib and compatible with the rest of Artwork's newer code base.

Removed Unused and Obsolete Functions

Removed obsolete functionality (collar and collar cut-outs, collar targets; removed GDSII-ASCII output.

QisMLib Library handles GDSII

GDS-SR now makes use of QisMLib and runs much faster for larger GDSII files. This addresses a major limitation of GDS-SR for use with IC chips as opposed to package RDL chips which are quite small in size.

1.47 [04/13/2021]

New Category for Die Import

Added an explicit die import type to the GDS-SR job file. Each DIE section now supports an IMPORT_TYPE parameter. Possible values are REGULAR, ALIGNMENT, OTHER, and DUMMY. These values are set depending on the die type selected when importing a die. The type is also displayed on the Edit Die dialog as a read only value in the grid.


The Export SINF behavior is now explict for the BCEQU section. Only those die imported as regular die will be included, regardless of how the die is placed in the reticle or on the wafer.

Reticle Dialog Updated

Updated the Reticle dialog's save and load behavior to support the new die IMPORT_TYPE patameter.

1.46 [04/09/2021]

SINF Output in Reticle Mode

Corrected an error in the SINF BCEQU list when populating the wafer using reticle mode.

1.45 [03/30/2021]

SINF Output

A new "type" of device option has been added: Other. When importing devices such as fiducials, mirror die, PCM die and test die, classify them as Other. Die of type "Other" are treated as follows:

Type AutoArrayed?Appears in Sinf?BCEQU?Comment
Regular Yes Yes Yes Product Die
Left Alignment No Yes No Placed Once
Right AlignmentNo Yes No Placed Once
Dummy No Yes No Edge Die
Other No Yes No Fid,Mirror,PCM,text

Dummy Die

Devices marked as dummy (and used to replace product die) no longer appear in the BCEQU list.

1.44 [11/12/2020]

SINF Output

The SINF map file header parameter BCEQU: output has been modified so that only die marked as "REGULAR" will appear in the list as opposed to die marked as LEFT ALIGNMENT or RIGHT ALIGNMENT. Previously the bin codes for the alignment die were showing up in the BCEQE: list and they are typically not considered PASS or GOOD die.

This is mostly applicable to the use of 3 digit SINF. For Hex SINF there are clear guidelines as to what bin code to use for PASS die and what bin codes to use for reference die so the problem did not appear until 3 digit SINF output was addded.

1.43 [06/24/2020]

SINF Output

This version moves the choice between 2-digit hex and 3-digit dec SINF codes to the Settings dialog. This option is then used throughout GDS-SR, specifically:

  1. Import Die - SINF code definition will need to be in the current format.
  2. Define Reticle - SINF code displayed in the current format.
  3. Edit Die- SINF code displayed in the current format. Changes to the SINF code are verified for the current format.
  4. Export SINF - SINF codes written in the current format.
  5. Format is always saved with the job file (and loaded if present):


    Default is HEXADECIMAL if undefined to maintain backward compatibility.

Changing the format in the Settings dialog updates the SINF codes of the die definitions and the dies in the array for the currently open file.

1.42 [06/16/2020]

SINF Output 3 Digit Decimal

Modified the export SINF module to enable the user to select a SINF output with 3 digit (decimal) bin codes or the original 2 digit Hexadecimal codes.

1.41 [05/18/2020]

SINF Output

Modified the export SINF module to automatically exclude any row or column made up entirely of devices with a SINF code of __ (NULL). This occurred when physical devices in the top row were all knocked out. The SINF file still contained this row but the end user did not want an empty row.

1.40 [02/07/2020]

Reticle Section Scripting

Added an option to the RETICLE section of the job file to automatically calculate the optimal offset when using reticle mode. The format is:


Note that this option is not saved to the job file since any offset defined in the current job would be saved instead. The purpose of this option is to support scripting of GDS-SR.

Cross hairs Display

Fixed the cross hairs so that they still draw to the wafer extents when using a rectangular substrate.

Device Placement Bug Fixed

Fixed a bug where not all devices were being placed when using a rectangular substrate where the height was greater than the width.

1.39 [02/06/2020]

Stepping Control

Disabled changing of the Stepping Control dialog centering option from Die when using reticle mode.

Define Reticle

Added a button to the Define Reticle dialog to calculate the optimal offset for the reticle. This performs the same calculation as if the Wafer centering option was selected in the Stepping Control dialog.

1.38 [01/30/2020]

Fix to Rectangular Device Placement

The computation to determine whether a device was crossing the margin of the panel was incorrect. This has been fixed in this version.

Device Positioning during Stepping

In addition to die centered and street centered array positioning, a new option has been added: Wafer. When selected, the X and Y axis will be adjusted independently to maximize the number of rows and the number of columns.

In the config file this directive will be:


However if a non-zero reticle offset is defined, then the CENTER=WAFER directive is ignored.

1.37 [01/24/2020]

Rectangular Panel Support

A new module supports step-and-repeat for rectangular panels. The usual features apply though some are not implemented as they have no use for rectangluar panels - for example, there is no reticle support, no automatic placement of alignment devices and no collar support.

This rectangular panel module is separately licensed and not part of the standard GDS-SR feature set.

1.36 [03/15/2018]

Incoming Wafer Fiducials Drawn in Display

Fiducials on the wafer can now be displayed (and exported at high resolution) using a table that specifies the location, color and shape. This is intended for documentation so that the incoming wafer fiducials can be shown.

1.33 [10/23/2017]

Fixed Bug in Script Input for Reticles

A bug that prevented the program from correctly importing and processing a script file that used a 2x2 reticle has been fixed.

1.32 [09/21/2017]

Reticle Input

The dialog box for defining reticle data has been improved to better handle reticles with a large number of die.

Reticle Bug

A bug was found in the assignment of SINF numbers when importing a reticle text file. This has been fixed.

1.26 [05/05/2017]

Fix Memory Overflow

Customer reported out-of-memory when stepping a very large GDSII unit die. This was found to be related to buffering the entire ASCII output during the conversion to GDSII. The buffering has been modified and the out-of-memory behavior fixed.

1.25 [09/20/2016]

Installer Includes Required Library

GDS-SR relies on a library (msflxgrd.ocx) that is not always present in newer versions of Microsoft Windows (8.1 and later). This required .ocx is now installed and registered during the installation. (When missing, certain dialogs won't open up)

1.24 [03/22/2016]

Change Die in Margin

User can now change die that lie in the margin area of the wafer. Previous versions did not allow this. The display will change the color of the die to correspond to that of the new device.

Auto Placement of Alignment Die added to Scripting

The scripting support now includes a new directive enabling placement of alignment die. This is in the numbered die section and valid values are LEFT and RIGHT. If such die are defined then they will be automatically placed without need to put them into the CHANGES section.


FNLOC User Control in Script

The SINF FNLOC parameter was previously set based on the side of the wafer that included a flat. However one client needs the standard value of 180 (which represents the flat or notch on the bottom) instead to read as 0. A section in the script now controls the settings:


FNLOC User Control in GUI

Added an FNLOC edit field to the Export SINF dialog. If set to a non-empty string, this value will override any value calculated from the wafer flat, including any of the new FNLOC properties defined above. This value persists between sessions, like the other SINF header edit fields.

Die Edge Parameter in Script

Added a DIE_EDGE_SPACING option to the SETTINGS section of the save file. This value is written to the save file and loaded from the save file, if present. This allows the die edge spacing value to be set from a script. The value persists for the current session but is not written to the registry. In this way, the default die edge spacing value is used until it is changed using the Settings dialog.


1.23 [03/06/2015]

Alignment Die in Reticle Mode

Changed the behavior of the function that places alignment die so that a) it is recorded in the Change Die database and b) die can be imported outside of reticle mode.

1.22 [02/25/2015]

Hide Reticle Display Interactively

In order to help the end user provide documentation that matches what a customer provided, reticles can be interactively hidden from the display. This allows a screen shot where the reticles generated by GDS-SR and those shown by the client will match. Does not update the database or GDSII output.

Change Die - Multiple Operations in Order

The change die function has been completely revised to support multiple operations (and undo) and to apply those operations in the order entered.

Look Up Table - SINF Bin Code to Color

A new look up table is used to associate a color with each SINF code. This is user editable.

Compensation for Die Extents (Poly)

As many die are designed with a poly layer that extends out beyond the true extents of the device, this extra value can now be entered into the defaults and will be accounted for when stepping the die and computing whether a die lies inside the wafer margin.

Import Dialog Enhancements

The import dialog has been enhanced to automatically assign SINF codes (and color based on the look up table) and to enable the user to easily identify product die, and left/right alignment die.

Alignment Die Placement Regions

Acceptable regions for placing alignment die can now be displayed for 200 and 300 mm wafers. An imported die which is identified as a left or right alignment die will be placed automatically in the optimum position.

Wafer Flat Keep Out

The keep out associated with the wafer flat does not have any margin value added to it.

Quick Change (Die)

This function has been returned to the GDS-SR program and it has been integrated with the Multiple Operations (Change Die) function.

1.21 [02/25/2014]

SINF Output Correction

The header field, BCEQU, will only contain die ID's that represent good die -- i.e. those with labels from 00-0A. Previous versions put all die ID labels in this field.

1.20 [04/10/2013]

Fixed Problem with Input File Hierarchy

Input files (GDSII) to be stepped that had a complex hierarchy were not correctly output (some hierarchy was lost). This has been fixed.

1.19 [03/28/2013]

Save Config updated

Updated the save document functionality to use the correct symbol (;) for the comment header. Previously it used # but this is not compatible with the script parser.

Script Bug Fix

Fixed a bug in the file parser which was corrupting the reticle cell size.

Script Update

Added support for relative file names when passing script file names to GDS-SR.

Script Engine Update

Added the -disable_messages command line option to disable any warning or information messages that might occur when running in script mode.

Die Reference in Reticle Mode

Reticle mode now forces the die center and stepping parameters. Not needed in the script file.

Step vs. Reticle Mode

STEPPING section no longer needed when running a reticle script.

Script Parser

DIES section only needs COUNT keyword when in reticle mode.

Script Parser

COUNT keyword not required in RETICLE section.

Script Engine

Reticle size or step size will be calculated if not present in RETICLE section.

1.18 [03/21/2013]

Reticle GUI Improvmenent

Made the grid containing die in the Reticle dialog re-sizable to make it easier to see long file names. For now, any changes are not remembered.

Resource File Updated

Updated the GDS-SR file format and Open and Save commands to properly store all document data.

Resource File support for Reticles and Die Changes

Modified the load/save files for the Changes and Reticle dialogs to use the updated GDS-SR file format. This means both dialogs can load partial/complete GDS-SR files, but only the applicable sections will be updated.

Custom SINF Label for Alignment Die

Added SINF label to the Edit Die dialog. These are automatically generated or loaded from a GDS-SR file and can be modified to support custom SINF codes in the exported SINF wafer map file.

Scripting Support

Added scripting support to GDS-SR. No special options are needed, though some are supported. In other words, just call gds-sr.exe <filename> and it will behave the same as if the file was opened manually and the options run. Extra options are:

New Geometries in GDSII Output

Added support for exporting crosshairs, knock outs and reticle outlines to the GDSII file with individual layer definitions.

1.17 [03/07/2013]

Bug Fix - Reticle

Fixed a bug in the reticle dialog so that when a die is deleted it is also removed from the Dies dialog and no longer corrupts reticle structure names.

Bug Fix - Reticle

Fixed a bug displaying zeros in the reticle dialog's layout to indicate no die present.

Bug Fix - Window Position

Modified the remembered window placement of GDS-SR to avoid corruption in the registry values.

Reticle Outline Added

Added reticle outlines to the display. Their color and visiblity can be configured in the Color and Visibility Settings dialog.

Reticle Display Added

Added a display of the reticle count on the status bar, when in reticle mode.

1.16 [03/01/2013]

New Reticle Input Mode

Added a new Reticle Mode which supports the definition of a die reticle to be arrayed across the waver in a specified pattern. The reticle can contain multiple different die and can be offset. The reticle definition can be saved to a text file and reticle definitions can be loaded. A new indicator on the status bar shows when GDS-SR is running in Reticle Mode.

Bug Fix Change Die

Fixed a bug where the Change Die dialog was not using the correct structure name.

Bug Fix Array Computations

Fixed a bug where the array was leaving parts of the wafer empty if the offset was very large.

Bug Fix Margin Die Coloring

Fixed a bug where the margin die outline color was not being used correctly.

1.15 [02/21/2013]

Add Knockout Die by Direct Selection

Added support for knocking out die (changes the status to margin) by selection in the view window.

Add Knockout Die to the Change Die Dialog

Added support for knocking out die to the Change Die dialog.

Add Window Definition for Changing Die

Added support for window definition to the Change Die dialog. This applies to changing die, deleting die and knocking out die.

Info Dialog Updated

Added more data to the Info dialog.

1.14 [02/18/2013]

SINF output MM or MIL

Adjusted the SINF Wafer Map output to convert data to either mm (metric) or mil (imperial).

1.13 [02/15/2013]

Generate Sacrificial Die for Clipping

Added new functionality to generate sacrificial die covering the wafer margin.

SINF Output

Added SINF Wafer Map output.

Die Placement Table Output

Added Die Placement output.

Change Die Dialog (Rule Driven)

Added a new Change Die dialog which allows control of changing and deleting die using co-ordinates. The changes can be saved and loaded to text files.

1.12 [06/30/2011]

Bug Fix: Die Order

Fixed a bug where the combo box in the Change Die dialog was sorting the die names alphabetically. This was causing the order to change from that defined in the Edit Die dialog. This meant it was unpredictable which die would be inserted in place of the old die.

1.11 [07/06/2010]

Output GDSII Resolution Setting

A rounding error caused improper setting of the GDSII output file resolution. This has been fixed.

1.10 [06/09/2010]

Data Type Support Added

Previous versions of GDS_SR ignored the GDSII datatype parameter. This has been fixed - data is passed to the output with full datatype discrimination.

1.09 [06/08/2010]

Added PATH Support

Previous versions of GDS_SR dropped PATH data entities. This has been fixed.

1.08 [06/04/2010]

Wafer Flats

Added support for flats on all four sides of the wafer.

Output Directory for GDSII

Fixed a bug where exporting a GDSII file without a collar left the output file in the temp directory.

Coordinate Readout

Added a co-ordinate readout to the status bar as the mouse is moved.

Output Data Grid based on Input Data Grid

Previous versions hardwired the output GDSII grid to UM/1000. This revision detects the input data units/grid from the first die file imported and uses that as the output grid. Note that all targets and other imported files must have matching units and data grid.

Version 1.07 7/27/2007

Maximum number of die insertion increased.

Increased the maximum allowed number of die in each drection from 100 to 1000. That gives you a maximum number of 1,000,000 dies.

Version 1.06 11/18/05

Added units and precision data to the Import Die dialog.

This was done so that the user can be sure that all files imported have the same GDSII units and precision.

Added support for selecting a single structure from a collar target file.
Collar Cutout Data Entry

Fixed the collar command line in cases where the cutout parameters were not entered in the correct order. i.e. LLx, LLy, URx, URy

Wafer Disk Output

Added the ability to selectively export the wafer and margin along with the GDSII data. Users may want to see the wafer disk in the GDSII output during debugging but generally not for producing the final mask output.

Collar Generation Bug

Fixed a bug associated with synchronization of files created by the collar program.

Job File Info

The contents of the job file have been updated to support recording/reading of all of the new GDS-SR functions (including target placement, cutouts and collar parameters ...)

Version 1.05 [11/08/2005]

GUI Update

Re-organized the menus to better reflect the flow of the product.

Improved Preference Settings

Added a Settings dialog to the File menu which allows the user to define directories for input, output and temporary files.

Staggered Array

Added support for staggered array patterns.

Collar Generation

Improved the Collar Cutouts dialog, so that it used a spreadsheet style interface. Added support to define cutouts by center, width and height.

Target Placement

Added support for defining collar targets and mask labels.

Version 1.04 [09/28/2005]

Stepping Parameters

Added support for variable street size in x and y, as well as negative street size. This allows die to be over-lapped.

Collar Generator

Added collar generation function - a tool that finds the extents of the array and generates metal from the array edge out to the edge of the mask; includes user defined cutouts for placing targets and mask labels.

GDSII Output Control

Added Export Settings to control better which layers the wafer data is output on.

Version 1.03 [09/09/2005]

Array Multiple Die/Ratios

Modified GDS-SR to work better with multiple die in different ratios.

Version 1.02 [04/21/2005]

Import Mask File

Added the ability to import GDSII mask files. These files will be flattened and then the file <file_name>_flat.gds will have its boundaries imported into the viewer.

GDSII Export Added

Added the ability to export a GDSII file. The wafer data will be output as GDS ASCII and converted to GDSII. This GDSII file, <file_name>_wafer.gds, will be combined with all of the flattened mask files.

Multiple Die in Array

Added support for multiple die.The Import Die dialog now provides the option to over-ride a die definition or add a new die definition. In the case where the structures have the same name, the die must be over-ridden.

Delete Arrayed Die

Added the ability to delete selected die from the array. Re-generating the array rests any deleted die.

Replace Arrayed Die

Added the ability to change a die to another type. This allows modifying select die inside of the array to be targets or test devices.

Color and Pattern for Display

Added color and pattern options to the main display for the imported die array.

Display by Component

Added the ability to selectively view each component - wafer, margin, die array and collar.

SREF offset

Disabled the SREF offset setting when using street center as it does not apply.


Added an Info command which displays data about a die - the name, which file it came from, if any, and the insertion point.

Version 1.01 02/28/05

Initial Release

This is the initial release of GDS-SR.