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.
Minor UI and bug fixes.
Version 2.01 flattened the output file. This issue was fixed in this release.
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 FunctionsRemoved obsolete functionality (collar and collar cut-outs, collar targets; removed GDSII-ASCII output.
QisMLib Library handles GDSIIGDS-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 - BCEQUThe 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 UpdatedUpdated 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 |
---|---|---|---|---|
Regular | Yes | Yes | Yes | Product Die |
Left Alignment | No | Yes | No | Placed Once |
Right Alignment | No | Yes | No | Placed Once |
Dummy | No | Yes | No | Edge Die |
Other | No | Yes | No | Fid,Mirror,PCM,text |
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:
[SETTINGS]
SINF_FORMAT=HEXADECIMAL|DECIMAL
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:
[RETICLE] CALCULATE_OFFSET=YES|NO
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 DisplayFixed the cross hairs so that they still draw to the wafer extents when using a rectangular substrate.
Device Placement Bug FixedFixed 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 ReticleAdded 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 SteppingIn 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:
[STEPPING]
CENTER=WAFER
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 BugA 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 ScriptingThe 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 ScriptAdded 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 OrderThe 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 ColorA 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 EnhancementsThe 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 RegionsAcceptable 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 OutThe 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 FixFixed a bug in the file parser which was corrupting the reticle cell size.
Script UpdateAdded support for relative file names when passing script file names to GDS-SR.
Script Engine UpdateAdded 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 ModeReticle mode now forces the die center and stepping parameters. Not needed in the script file.
Step vs. Reticle ModeSTEPPING section no longer needed when running a reticle script.
Script ParserDIES section only needs COUNT keyword when in reticle mode.
Script ParserCOUNT keyword not required in RETICLE section.
Script EngineReticle 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 UpdatedUpdated the GDS-SR file format and Open and Save commands to properly store all document data.
Resource File support for Reticles and Die ChangesModified 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 DieAdded 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 SupportAdded 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 - ReticleFixed a bug displaying zeros in the reticle dialog's layout to indicate no die present.
Bug Fix - Window PositionModified the remembered window placement of GDS-SR to avoid corruption in the registry values.
Reticle Outline AddedAdded reticle outlines to the display. Their color and visiblity can be configured in the Color and Visibility Settings dialog.
Reticle Display AddedAdded 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 DieFixed a bug where the Change Die dialog was not using the correct structure name.
Bug Fix Array ComputationsFixed a bug where the array was leaving parts of the wafer empty if the offset was very large.
Bug Fix Margin Die ColoringFixed 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 DialogAdded support for knocking out die to the Change Die dialog.
Add Window Definition for Changing DieAdded support for window definition to the Change Die dialog. This applies to changing die, deleting die and knocking out die.
Info Dialog UpdatedAdded 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 OutputAdded SINF Wafer Map output.
Die Placement Table OutputAdded 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 GDSIIFixed a bug where exporting a GDSII file without a collar left the output file in the temp directory.
Coordinate ReadoutAdded a co-ordinate readout to the status bar as the mouse is moved.
Output Data Grid based on Input Data GridPrevious 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, URy
Wafer Disk OutputAdded 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 BugFixed a bug associated with synchronization of files created by the collar program.
Job File InfoThe 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 SettingsAdded a Settings dialog to the File menu which allows the user to define directories for input, output and temporary files.
Staggered ArrayAdded support for staggered array patterns.
Collar GenerationImproved the Collar Cutouts dialog, so that it used a spreadsheet style interface. Added support to define cutouts by center, width and height.
Target PlacementAdded 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 GeneratorAdded 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 ControlAdded 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 AddedAdded 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 ArrayAdded 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 DieAdded the ability to delete selected die from the array. Re-generating the array rests any deleted die.
Replace Arrayed DieAdded 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 DisplayAdded color and pattern options to the main display for the imported die array.
Display by ComponentAdded the ability to selectively view each component - wafer, margin, die array and collar.
SREF offsetDisabled the SREF offset setting when using street center as it does not apply.
InfoAdded 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.