web page logo for WMBatch

WWF with multiple maps to SECS/EG

The WWF format allows for multiple internal map files. The assumption here is that all of the maps represent wafers from the same lot so they have the same parameters in terms of array dimensions, device size, wafer diameter, Lot ID, and flat location. This is a compact way of including maps files for all the wafers of a given lot.

Most other map formats only allow a single map per file. So when converting from a multi-map WWF file to another format you need to produce a separate output map file for each of the internal maps that are included in the WWF file.

In this example, we will convert a WWF file with 10 internal maps into 10 separate SECS/EG map files.



The WWF file we are working with is called: SAMPLE9.WWF and using Artwork's WMEdit to display it you can see what it looks like below:

the WWF file SAMPLE9.WWF has 10 internal map files

If you click on the drop down next to the Map field, you will see that there are 10 different maps contained inside a single WWF file.


The Command File for WMBatch

To extract the multiple maps and to make the conversion using WMBatch, we will take a 2-pass approach.

Pass 1 converts from WWF to SECS-EG; Pass 2 changes each SECS-EG file name to match the wafer ID.

Why? Because while WMBatch will extract all 10 map files from the WWF into 10 separate SECS-EG files in a single pass, it does not generate the file names we would like it to. So a second pass is used to change the SECS-EG auto-generated file names into names based on the wafer ID.

Let's first code Pass 1 and examine our results


wwf_multi_2_SECS_EG.txt

# WMBatch Command File 05/06/2022
# Convert a WWF with multiple maps into a set of SECS-EG map files

# PASS1
# Set the initial output directory to output1; we will then use that
# as an input directory for PASS 2

input_dir "D:\Artwork\wafer_map_evals\EXAMPLES\WWFMulti2SECS\input"
output_dir "D:\Artwork\wafer_map_evals\EXAMPLES\WWFMulti2SECS\output1"

# Open the WWF file SAMPLE9.WWF; don't forget to specify the format
open "SAMPLE9.WWF" format WWF

# Convert to SECS-EG format
# Since the WWF has 10 maps and SECS-EG only supports 1 map per file
# WMBatch will automatically create 10 separate output files

convert format SECS-EG

# Save the SECS-EG Files to output1 (essentially a temp directory)

save "sample9.map"


When we examine the contents of output1 we see:

Pass 1 produces 10 SECS-EG files from a single WWF file containing 10 internal maps. But we don't like the file names it automatically generated.

However these file names do not clearly correspond to the wafer. The filename sample9-MAP-1.map is associated with the wafer labled: 0005900-11-99. So this is what Pass 2 will fix. Pass 2 will loop through each SECS-EG file in the output1 directory and write the file to the output2 directory but will use the WAFER_ID for the file name. That way it is much more clear which map file goes with which wafer.

So let's add the following lines to our command file: wwf_multi_2_SECS_EG.txt and run WMBatch again.

# PASS2
# set output1 as our input_dir
# set output2 as our output_dir

input_dir "D:\Artwork\wafer_map_evals\EXAMPLES\WWFMulti2SECS\output1"
output_dir "D:\Artwork\wafer_map_evals\EXAMPLES\WWFMulti2SECS\output2"

# Use a repeat loop to cycle through all files in the output1 directory
repeat start <FILE.EXT> in <INPUT_DIR>

# open the first file encountered
open <FILE.EXT> format SECS-EG


# Save that file using the wafer ID as the file name.
save <WAFER_ID>.map

# now back to the repeat line and do it again for the next file until all 
# files have been cycled through

repeat end

Examining the contents of directory output2

Now let's open the directory output2 and see what the files are named:

Pass 2 loops through the 10 SECS-EG files in directory output1 and generates them with new names based on the WAFER_ID in directory output2.

Now the file names clearly correlate with the marking on each wafer.