Users and companies that are fans of Microsoft Excel often manipulate wafer map data in Excel and can export or import it using the CSV format.
Artwork's map tools can read and write a limited version of CSV.
The CSV reader expects to see three columns of data. (These can be space, comma or tab delimited).
X, Y, BIN
where
X is a signed integer representing the X location in a rectangular array
Y is a signed interger representing the Y location in a rectangular array
BIN is either a number (ranging from 0 - 255) or a single character such as P,F,R
It is not necessary to specify the "null" or "skip" positions in the array. The CSV reader will fill in the extents of the array with null positions as needed.
Ignoring Header Lines
It is a common practice when generating CSV files to include a "header" line that defines the meaning of columns in the file.
Artwork's CSV reader will skip such lines by testing that the first field in the line is an integer. If the first field is not an integer then the line is skipped. So a CSV file like this will be properly processed as the first line is ignored because the first field is X and not an integer. {Negative integer such as -5 are also acceptable as array coordinates.)
X,Y,BIN
1,1,F
2,1,F
3,1,F
4,1,P
Additional Map Information
Most map files contain more information than just the BIN value at each array position. Additional information generally includes:
flat location
die size (X,Y)
wafer diameter
Lot ID
wafer number or ID
Origin Location
reference device location
This information needs to be added to the map database before converting to a more conventional map file. In our batch based program, WMBatch, the information is added in the command file. In our interactive program the user adds the information from a number of drop downs.
August 2, 2024
Importing a Complex CSV Map File
This application note describes an update to the CSV reader that enables the user to modify parameters in the CSV.TXT file to control the starting row, and assign the columns for die X, die Y and bin code. It can be very helpful when faced with complex CSV files that contain the desired information but where there are many columns and many rows that are irelevant to the CSV reader and would confuse it.