WMEdit web header

WMEdit Revision History


This page summarizes the changes, enhancements and fixes to the WMEdit program.


v1.42 [11/08/2024]

G85 Map Writer Syntax

Modified the G85 map writer output per request of one of our users to better conform to the spec:




v1.41 [09/16/2024]

G85 Map Writer Syntax

Modified the G85 writer to fix some bugs related to the position of elements and attributes.




v1.40 [09/04/2024]

Space Character as NULL BIN

Added support for the HEXADECIMAL-2 bin format for E5-1296 wafer map files. This format uses a space character between the devices in the array.

Ran across a E5-1296 map file that used the space character as the NULL bin. Fixed an issue with trimming spaces that was causing the program to incorrectly interpret the position of the null bins.




v1.39 [07/31/2024]

Added CSV Read Controls

The ability to control the starting ROW for CSV files as well as assigning CSV columns to X,Y and BIN has been added. This enables users to directly read certain CSV files that previously would have to be hand-edited in Excel to remove extraneous information aa well as re-ordering the columns.

These controls are not interactive but are made in the csv.txt file located in the directory <root_install>\WMConfig\WMFormats

[PARAMETERS]
CSV_ROW_START=9
CSV_ROW_END=
CSV_COL_X=4
CSV_COL_Y=5
CSV_COL_BIN=2
CSV_SEPARATORS=" 	,"

v1.38 [06/27/2024]

UF-3000 High Column/Row Count

UF-3000 allocates 9 bits plus a sign bit to define array coordinates. For a wafer with more than 512 rows or columns one can get an overflow in the count into the 10th bit; a location not allocated to the coordinate position. The UF-3000 reader has been updated to check this overflow bit; this allows row/column range up to 1023. You must set the INPUT_VARIANT=2 in the UF-3000.txt file located in the WMConfig directory to enable this behavior. [Reported by pSemi and found so far only in UF-3000 files submitted by them]


UF-3000 Axis Orientation Fix

Fixed our interpretation of the array origin location and the direction of increasing X and Y. Previous versions may have displayed a mirrored image of the die locations for the wafer. [Reported by pSemi]

h3>v1.37 [06/18/2024] SINF Header Modifications

When writing SINF, changed order of SINF header to match specification example. Changed case of DUTMS: units from upper case to lower case. Removed units designator after the value for XDIES: and YDIES: [changes requested by pSemi]




h3>v1.36 [06/10/2024] SINF @@

Added support for the @@ bin code used in SINF files (@@ can be used to represent SKIP die)




v1.35 [05/14/2024]

UF-3000

Corrected a minor issue related to parsing UF-3000 binary map files.




v1.34 [03/10/2024]

Bin Mapping

Corrected the mapping from ASCII-2 type bin codes and HEXADECIMAL-2 bin format.


UF-3000 Parser Fix

Fixed a bug in the UF-3000 parser associated with origin and axis direction.




v1.33 [02/05/2024]

Reference Device

Fixed a bug related to proper mapping of reference devices.




v1.32 [12/12/2023]

Bin Mapping Enhancement

Improved the mapping of bin values between the ASCII-2 and HEXADECIMAL-2 bin formats. This arose when converting from UF-3000 (for which we output ASCII bin codes) and SEMI E-142 where we wanted to use HEX bin codees.


SEMI-E142 DECIMAL-6 Bin Codes

We were recently presented with a SEMI E-142 file where the bin code was defined as ASCII with 6 characters. Added support for the DECIMAL-6 bin format for SEMI-E142 wafer maps.




v1.31 [12/11/2023]

G85 with Hexadecimal-4 Bin Codes

We recently ran across a G85 map file with bin format labeled as "Integer2" (which we are calling Hexadecimal-4) bin codes which we did not support. This has been added to the list of supported bin code types.


MAP 001 Bug Fix

We fixed a bug reading MAP 001 format files reported by a customer.


SECS/EG Binary Map Parser Bug Fixed

Customer reported a bug in reading a SECS/EG binary map file. Fixed a bug that corrected this.




v1.30 [08/10/2023]

Added support for reading/writing the new BEIJING wafer map format.




v1.29 [05/02/2023]

Improved menu handling.




v1.28 [03/26/2023]

Support for ASCII files encoded using UTF-16 (instead of UTF-8) is now supported. Please note that this is not a full support for unicode but rather using just the 8 bits supported by UTF-8. When saving an ascii format, the output is encoded as UTF-8.




v1.27 [02/02/2023]

Updated the license library to support product ID = 13902




v1.26 [12/22/2022]

Added support for a rectangular wafer map geometry. There is now a control in the Wafer Map Properties grid, to select the wafer map shape, which can be circle (the default), or rectangle. This setting is only used for visualization purposes.




v1.25 [11/14/2022]

Modified/improved the automatic wafer center calculation algorithm.

Fixed inconsistencies in the wafer map configuration files related to the DEVICE_ID keyword.

Ensured that the DEVICE header value comes first when writing SINF files. Special request for a customer who's parser requires this.




v1.24 [11/08/2022]

TEL(P-8) and TEL(P-12) Reader Modules

Modified the TEL(P-8) and TEL(P-12) parsers to open wafer map files even if the supporting format, lot and map files are not found in the same folder.

TEL(P-12) Writer Module

Added support for writing the TEL(P-12) wafer map format. Untested by users as of this date.




v1.22 [10/12/2022]

UF-3000 Reader Module

This version improves the parsing of UF3000 files. In addition to the pass/edge/fail flags in the wafer map die results, the new version now also reads the category data and interpret it as a bin code. This allows more differentiation, primarily among the fail devices.




v1.21 [10/02/2022]

TEL(P-8) Reader Updates

Modified the TEL(P-8) parser so that if more records are found in the file beyond the 1 byte record count data field, those records will be read and added to the wafer map. This is helpful when the number of records exceeds 256 entries, which is the maximum allowed for the TEL(P-8) spec.

Modified the TEL(P-8) writer so that if the number of contiguous devices is larger than 255, multiple records will be written to ensure that the maximum device count for each record does not exceed 255.

New Feature - Delete Empty Rows/Columns

Added a new menu item: Edit > Delete NULL Rows/Columns. This feature will remove all rows and columns containing only NULL devices from the outside of the wafer map. It is very useful when one gets a map file with empty rows and/or columns in order to get an accurate row and column count.




v1.20 [09/02/2022]

Fixed Display Issues related to centering array on the wafer

The core issue was several different sparsely populated wafer files we received which caused problems for the code which calculates the apparent wafer center based on the array. Specifically, we encountered wafers with:

  1. rows/columns of NULL bins on all sides.
  2. rows/columns of NULL bins on only some sides
  3. many NULL devices spread across the wafer
  4. partial wafers, such as where a wafer had been split into quadrants.

A new algorithm which examined only the non-NULL rows and columns of the array was developed. Rather than using the existing approach for calculating the apparent wafer center, which tried to calculate the centroid, a new method which estimates the wafer center based on bisectors was tested i.e. using the standard approach for determining a circle center based on three points along its curve:

Linear Algebra: Finding an equation of a circle that passes through three points (via Mathematics Stack Exchange)

The algorithm first identifies devices along the wafer edge by looking at the first and last non-NULL device on each row. These devices are then ordered in a radial manner. The [col, row] position of each edge device is treated as Cartesian coordinates. Three devices at a time are used to estimate the wafer center in this way. By selecting non-adjacent devices, the accuracy of the method is improved. And by iterating over all edge devices an average center is calculated. This proves to be very accurate.

Examples of Centering with New Algorithm

many extra columns on left and right

many extra columns on left and right


extra rows and columns

extra rows and columns on all sides; many internal null devices.


large wafer flat on bottom

large wafer flat on bottom


many extra null columns on right and extra null rows on bottom

many extra null columns on right and extra null rows on bottom


Partial Wafer Map Files

Finally, for partial wafers, it was necessary to refine the algorithm and ignore devices running all the way across the wafer where one would not expect them (which indicated a partial wafer). This means even if only a quarter of the wafer is present, the bisectors method can still be used to estimate the wafer center. Note that this still works with a sparse distribution:

map of upper left quarter of wafer with full array of nulls.

map of upper left quarter of wafer with full array of nulls.


map of upper left quarter of wafer with clipped nulls.

map of upper left quarter of wafer with clipped nulls.



While this new method works very well for these sparsely distributed wafers, we found that it was less accurate for some of the complete wafer files we tested it against. These were wafers which tended to have fewer rows/columns and devices. For this reason, both centering methods are available. The default (Centroid) works best for most wafers. The API also supports the newer method (Bisectors).

To access these options in WMEdit (and WMVU) the new Wafer Outline submenu looks like this:

dialog box for selecting the centering method.

Andrew, the options in this dialog are confusing after reading the prior explanation. You will need to explain these please. (Centroid vs Bisector)



Phantom Devices Displayed

There was a fix in this version to remove the phantom devices reported when viewing a wafer with very large device count and NULL padded rows and columns.

phantom devices appear for large device count maps with NULL padded rows and columns

Phantom devices appear for large device count maps with NULL padded rows and columns




v1.15 [04/29/2022]

Reference Device Location Fix

Fixed a bug which was causing reference devices to sometimes be placed in an incorrect location during parsing and conversion, if the format (such as WWF) used an origin offset.


Offset Origin Option for WWF

Added the abilty to edit the offset origin option to the WWF wafer map format. We added this so that when a user encounters a poorly constructed WWF file -- device coordinates not computed around the location of the reference device at 0,0 -- the usre could override the incorrect reference location and manually enter a correct one. [Reported by Micross when converting WWF to SECS/EG.]




v1.14 04/22/2022

Royce XML Added

Added support for a new wafer map format parser - ROYCE XML. This map file is supported by the Royce MP-300 die mounter.


Device/Step Size Dialog Changes

Fixed a bug in the dialog where changing device or step size units was not correctly updating both values.


Bin Value Changes Affecting Bin Quality

Fixed a bug where sometimes changing a bin mapping resulted in a loss of bin quality. i.e. if you had an input BIN=01 and a QUALITY = PASS and you changed the bin to 02, the QUALITY attribute would be lost or reset to UNKNOWN. This no longer happens.




v1.13 03/25/2022

Improved Error Messaging

When a file can't be opened or can't be written because the required license is not available, the error message is now much clearer.

CSV Parsing Enhancement

Prior to this version, all bin codes had to have the same length i.e. one could not have a bin-code = 1 and another bin-code=25. This version now scans the bin codes and it finds the "longest" length and uses that to set the bin code type. Shorter bin codes are expanded.

Improved KLARF file parsing

a) Reading wafer size (Note that LotID, WaferId, and Flat Side were already being read)

b) Changed NULL bin value to ___.

c) Changed PASS bin value to 255.

d) FAIL bins are now assigned values matching their class number.

e) FAIL bins are now assigned descriptions matching their class description.

In order to make this release timely, we did not have time to address more known KLARF issues:




v1.12 03/15/2022

KLARF

Added Support for KLARF reader (no writer at this time)




v1.11 03/10/2022

TEL-P8 Flag Support

Added support for a new variant to the TEL(P-8) wafer map format to parse, or ignore the PASS/FAIL/UNTESTED quality of devices in the array. This is an additional byte of data which can be set for each device in the array.




v1.10 03/08/2022

Added support for a new option called OFFSET_ORIGIN to the wafer map format definition files. When this option is set to YES, any explicit [col, row] offset in the wafer map array will be preserved. The offset is always treated as an offset to the absolute device positions.




v1.09 03/01/2022

TEL P8 Output

This version generates a WAFCONT.DAT file when generating a TEL P8 output file along with the LOT.DAT file. The reason is to enable loading of the three files (WAFER.DAT, LOT.DAT, WAFCONT.DAT) back into a TEL P8 prober when used in inking mode.

Header Tags Editable

When the wafer map is converted to a binary format, the header tags defined in the wafer map configuration file are added to the Wafer Map Properties window, so that they can be edited before saving.

Bug Fix

Fixed a condition where the current wafer map name in the Wafer Map Properties window was blank.

Linkage from Header Values

When the wafer map format value representing the wafer ID is changed in the Header Data section of the Wafer Map Properties window, the wafer map names and current wafer map name are also updated in the Wafer Map section.

Modify Flag Triggered by Header Changes

Changes to the Header Date section trigger the modified flag so that the user will be prompted to save the file before exiting.




v1.08 02/07/2022

Preserve Bin Format When Converting Map

Changing wafer map formats will keep the bin format the same provided that both the source and target formats support that bin format.

Padding Bin Values

When padding bin values the padding will now take place from the left, not right. So for example if you are going from CSV value of 1 to a HEX bin format the 1 will be mapped to 0x01 and not to 0x10.




v1.07 02/03/2022

New TEL P8 Read/Write Options

The configuration file for TEL P8 now includes variant flags for the reader and writer which control their behavior. This has become necessary because we are encountering in the field TEL P8 files with different headers and with different usages of the bin code bytes.

If the variant value = 0 then the behavior of the program (as we interpret the specification) does not change.

If the variant value = 1, then the program expects that the TEL P8 file has a 25 byte header consisting of 20 bytes describing the LOT_ID followed by 5 bytes of the space character.

If the variant value = 2, then the bin value byte comes before the device flag byte. (the default is to expect the device flag byte first, followed by the bin value byte.)

if the variant value = 3, then this is equivalent to activating both variant 1 and variant 2.

If no variant value is set, then the default is assumed (variant value = 0)

The keywords used to set the variant in the c:\wcad\WMEdit\WMConfig\WMFormats\TEL(P-8).txt are:

INPUT_VARIANT=N
OUTPUT_VARIANT=M




v1.06 01/25/2022

Bug Fix - CSV output

Previous version produced output for NULL devices. This version fixes that and only devices with non-null bin codes are output in CSV.




v1.05 01/19/2022

Bug Fix - Wafer Outline

Corrected an incorrect computation of the center of the wafer array that resulted in an offset between the map array and the wafer outline.




v1.04 01/12/2022

Added CSV Support

Added support for a new wafer map format - CSV. The CSV parser/writer uses a simple 3 column definition: col, row, bin. Commas are optional as separators and spaces or tabs will also act as field delimiters. The parser uses the existing PID 13612. The writer used the new PID 13718.

Bug Fix in E5-1296 Map Writer

Fixed a bug in the E5-1296 writer to include the MAP_TYPE information. This was not present and E5-1296 files being saved with the ASCII-2 bin format would not import correctly when re-opened.

Wafer Size and Flat Side Directives

Added drop downs enabling the user to set wafer size and flat side. These may be needed when importing a map file (i.e. CSV) which does not contain such information and converting to a map file that does require that information (which is almost all map files)

Viking Output File Name

Saving to the VIKING wafer map format will indicate if the save file name was changed to meet the format requirements. The changed name is also now correctly displayed in the title bar and recent file list. (Note: this is required because the Viking machine has strict rules about the file name and won't open a valid file if the file name does not conform to the rules.)

TEL P8 Error Message Enhancement

Improved the message in the log file when a TEL(P-8) file can not be opened because of a missing LOT.DAT file. The message refers to a missing supporting file, since this may come up with another format we support in the future, and the LOT.DAT file name is not always the same. (Opening a TEL wafer.dat file requires the presence of a LOT.DAT file which contains needed wafer info.)

Added Support for Reference Devices

Added a Reference Devices group to the Wafer Map Properties window. This group displays the column, row, and XY position (if defined) of reference devices in the wafer map. The reference devices can be edited and new reference devices can be added. (Note: not all wafer map formats support all reference device data. Some only support [col, row], some support (x, y) and some support only certain named bins. The latter is already supported using the bin quality drop down list.)

Added a Reference row to the Wafer Map Colors window. The fill, line and text colors of reference devices can be defined. This enables easy identification of reference device locations on the wafer map. Note that the REFERENCE quality will override this style, if defined, for the same device. The reason to not rely solely on the quality parameter is that formats defining reference devices in the [col,row] format may not necessarily always have the same bin value for every reference device.




v1.03 12/22/2021

Selection Color Fix

Fixed a bug where the color assigned to highlight selected devices could not be changed from the Map Colors Window dialog.

Link to On-line Help

Added a Help > Online Manual menu item which opens the link to the online user manual for WMEdit.

Remove Unused Bin Codes

Added an Edit > Delete Unused Bins menu item which removes all bins defined in the map header which are not found/used in the wafer map array.

New Quality Attribute Added - UNTESTED

Added a new bin Quality attribute type - UNTESTED.

Display Improvement for Very Dense Wafer Maps

Improved the viewing of wafers with very large device counts. In earlier versions, if the dimension of a device was smaller than one pixel on the screen then it would not produce any display at all.




v1.02 12/16/2021

Update of Device/Step Size

When either the device or step size is modified in the Wafer Map Properties window, the other value is also updated; the display is refreshed to account for the change in device or step size.




v1.01 12/10/2021

Initial Release

The first release of WMEdit used primarily for testing and documentation.