web page logo for WMBatch

Simple Slicing Example - Command1.txt



In this example we are going to show how to clip a wafer map containing 55 rows and 55 columns into 4 quadrants. Since the number of rows and columns are not even, we can't get exactly matched quadrants.

map file with 55 rows and 55 columns to be divided into quadrants.

Figure 1: 55 row/column array. Origin (0,0) starts at upper left.

Organization

To most effectively use and reuse the command files, one should organize input and output locations so that the command file can be used again and again with no modifications assuming the wafers have the same array dimensions and the same bin codes. This is a good assumption if one repeatedly receives wafers of the same product from the same foundry.

My recommended directory structure is shown below:


recommended directory organization

Again, I recommend this because once set, you will never need to change either the command.txt script nor the run.bat script when new wafer lots from the same foundry for the same product arrive.

Coordinates for the Four Quadrants

To "slice" a wafer map into 4 quadrants we are essentially going to define four "windows" that we want to keep and the rest of the map will be filled with the NULL bincode. (It is also possible to specify a bin code that is not the NULL one, if for some reason this is needed.) So the directive is actually called "wafer fill" because we are filling the region outside the wafer with NULL bincodes.

Each window is defined by four array coordinates. Essentially the upper left and lower right corners.

When entering coordinates there are a few things to remember.

the four quadrants of a 55x55 array

So the full syntax for this command is:

wafer fill inside|outside <left_col> <top_row> <right_col> <bot_row> [bin_code]


We don't need all the options. So for this example the directives are:

wafer fill outside  0  0 26 26
wafer fill outside 27  0 54 26
wafer fill outside  0 27 26 54
wafer fill outside 27 27 54 54


The Full Command File

It's good practice to fully document your command file so that if you want to use it later for a different foundry or different product you can easily see where to edit it.

# Example 1 command1.txt
# Input one G85 map; Output 4x G85 maps
# sliced into quadrants - UL,UR,LL,LR - output 4 separate map files
# Map has 55 rows 55 columns
# Steve DiBartolomeo
# April 20, 2021

# first step is always to define input_dir and output_dir
input_dir "E:\cad_data[2]\foundry.product\input"
output_dir "E:\cad_data[2]\foundry.product\output"

# now open our source map file (must indicate what format it is)
open HKAXA20400011.xml format G85

# we are going to fill every die outside the selected window with null bin codes
# coordinates: left_col top_row right_col bottom_row
wafer fill outside 0 0 26 26

# now we will just save output to the same format also naming the quadrant
save HKAXA20400011_UL.xml

# in order to do the next quadrant we have to reload the wafer data since
# our first operation "modified" all the device bin codes except for those
# in the first quadrant; the wafer reload command does this

wafer reload
wafer fill outside 27 0 54 26
save HKAXA20400011_UR.xml

wafer reload
wafer fill outside 0 27 26 54
save HKAXA20400011_LL.xml

wafer reload
wafer fill outside 27 27 54 54
save HKAXA20400011_LR.xml


Results

Here's the .bat file that launches the conversion:


C:\WCAD\WMBatch\WMBatch64.exe "-batch_file:%CD%\command1.txt" "-log_file:%CD%\test1.log"

Here are the directories involved:

the 'root' directory contents foundry.product before running the .bat file

The "root" directory contents foundry.product before running the .bat file


the input directory - it should only contain the map file (or files) to be converted. Nothing else.

the input directory - it should only contain the map file (or files) to be converted.


The output has 4 map files - one for each quadrant.

The output has 4 map files - one for each quadrant.


the four output map files after slicing into quadrants.

snapshot of the four output map files - each containing one quadrant of data.