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.
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.
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.SINF Output - BCEQU
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.
Corrected an error in the SINF BCEQU list when populating the wafer using reticle mode.
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|
|Left Alignment||No||Yes||No||Placed Once|
|Right Alignment||No||Yes||No||Placed Once|
Devices marked as dummy (and used to replace product die) no longer appear in the BCEQU list.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
A bug that prevented the program from correctly importing and processing a script file that used a 2x2 reticle has been fixed.
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.
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.
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)
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.
[DIE-2] INDEX=2 FILE=D:\cad_data\deca\gds_sr_small_die\LEFT_ALIGN.gds STRUCTURE=TOP SINF=FF RATIO=0 COUNT=1 ALIGNMENT=LEFT
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:
[SINF_WAFER_MAP] FNLOC_TOP=180 FNLOC_BOTTOM=0 FNLOC_RIGHT=90 FNLOC_LEFT=270 FNLOC_NONE=0
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.
[SETTINGS] INPUT_DIRECTORY=D:\cad_data\gds_sr_small_die\ TEMP_DIRECTORY=D:\cad_data\gds_sr_small_die\working\temp\ OUTPUT_DIRECTORY=D:\cad_data\gds_sr_small_die\working\output\ DIE_EDGE_SPACING=10
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.
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.
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.
Input files (GDSII) to be stepped that had a complex hierarchy were not correctly output (some hierarchy was lost). This has been fixed.
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.
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:
Added support for exporting crosshairs, knock outs and reticle outlines to the GDSII file with individual layer definitions.
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.
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.
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.
Adjusted the SINF Wafer Map output to convert data to either mm (metric) or mil (imperial).
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.
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.
A rounding error caused improper setting of the GDSII output file resolution. This has been fixed.
Previous versions of GDS_SR ignored the GDSII datatype parameter. This has been fixed - data is passed to the output with full datatype discrimination.
Previous versions of GDS_SR dropped PATH data entities. This has been fixed.
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.
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.
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.
Fixed the collar command line in cases where the cutout parameters were not entered in the correct order. i.e. LLx, LLy, URx, URyWafer 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 ...)
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.
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.
Modified GDS-SR to work better with multiple die in different ratios.
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.Info
Added an Info command which displays data about a die - the name, which file it came from, if any, and the insertion point.
This is the initial release of GDS-SR.