Skip to content

Wafermap#

The wafermap object is your gateway to the probe station stepping and binning operations. You can use it to set and get information on the wafer layout and perform stepping operations.


method ClearBins()#

Clears all previously set bin values from the wafermap.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.ClearBins()

method CreateMap(mapType: Atv.Framework.Devices.Prober.Enumerations.MapType, sizeX: int, sizeY: int)#

Creates a new wafer map.

Parameters#

Name Description
mapType An integer value representing the map type. Must be either one of 0 (Round) or 1 (Rectangular)
sizeX Number of columns. (Optional; Only used for rectangular maps!)
sizeY Number of rows. (Optional; Only used for rectangular maps!)

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.CreateMap(1, 50, 100)

method GetColumnAndRowForIndex(pathIndex: int)#

Returns the column and row information for a given linear die index. A linear die index is the die number. This function will translate a die number into column and row information.

Parameters#

Name Description
pathIndex An integer value representing a die index.

Returns#

Type Description
int The die column information
int The die row information

Example#

probe_station = measmatic.GetDevice('device-probe-station')
col, row = probe_station.Wafermap.GetColumnAndRowForIndex(123)

method GetCurrentSite()#

Returns the column and row of the current die. The returned information is the die coordinate in the wafer grid. It is only valid during stepping operations!

Returns#

Type Description
int The column index
int The row index

Example#

probe_station = measmatic.GetDevice('device-probe-station')
col, row = probe_station.Wafermap.GetCurrentSite()
site = probe_station.Wafermap.GetCurrentSubSiteIndex()

method GetCurrentSubSiteIndex()#

Returns the current subsite index. Using this functions is only allowed during prober stepping operations.

Returns#

Type Description
int The subsite index. This is an integer number representing one of the subsites defined in the wafermap.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
col, row = probe_station.Wafermap.GetCurrentSite()
site = probe_station.Wafermap.GetCurrentSubSiteIndex()

method GetDieSize()#

Returns the die size set up in the wafer map.

Returns#

Type Description
float The die width
float The die height

Example#

probe_station = measmatic.GetDevice('device-probe-station')
width, height = probe_station.Wafermap.GetDieSize()

method GetDieStatus()#

Queries the status of the die at certain grid coordinate.

Returns#

Type Description
int The returned value indicates whether the die is selected for test (0), not selected but existent (1) or nonexistent (2)

Example#

probe_station = measmatic.GetDevice('device-probe-station')
status = probe_station.Wafermap.GetDieStatus(10, 20)

method GetHomeDie()#

Queries the grid location of the home die.

Returns#

Type Description
int The home die column
int The home die row

Example#

probe_station = measmatic.GetDevice('device-probe-station')
col, row = probe_station.Wafermap.GetHomeDie()

method GetNumDies()#

Returns the number of dies selected for test.

Returns#

Type Description
int The number of dies selected for test. Please note that this number will be different than the total number of dies when only a subset is selected for testing.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
num_selected = probe_station.Wafermap.GetNumDies()

method GetSubSiteLabel(subSiteIdx: int)#

Returns the label/id of a certain subsite.

Parameters#

Name Description
subSiteIdx An integer number representing the subsite index.

Returns#

Type Description
string The label/id of the given subsite.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
site_label = probe_station.Wafermap.GetSubSiteLabel(0)

method GetWaferHomeAbs()#

Returns chuck coordinates of the home die position.

Returns#

Type Description
float X-Position of the home die in microns
float Y-Position of the home die in microns

Example#

probe_station = measmatic.GetDevice('device-probe-station')
posx, posy = probe_station.Wafermap.GetHomeDie()

method OpenMap()#

Load a wafermap file.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.OpenMap("mymap.xwmf")

method SelectSiteForTest(siteColumn: int, siteRow: int, isSelectedForTest: bool)#

Select a die for testing.

Parameters#

Name Description
siteColumn The wafer grid column of the die.
siteRow The wafer grid row of the die.
isSelectedForTest A flag to indicate whether to test the die (true) or not (false).

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SelectSiteForTest(10, 15, true)

method SetAxisOrientation(axisOrientation: Atv.Framework.Devices.Prober.Enumerations.AxisOrientation)#

Sets the axis orientation of the map.

Parameters#

Name Description
axisOrientation An integer value (0-3) representing the axis orientation. 0 - Y-Axis pointing up; X-Axis pointing right 1 - Y-Axis pointing down; X-Axis pointing right 2 - Y-Axis pointing up; X-Axis pointing left 3 - Y-Axis pointing down; X-Axis pointing left

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SelectSiteForTest(10, 15, true)

method SetBin(siteColumn: int, siteRow: int, binCode: int)#

Set the bin of a die

Parameters#

Name Description
siteColumn The die column
siteRow The die row
binCode An integer value representing the bin code.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SetBin(4, 5, 1)

method SetBinSubSite(siteColumn: int, siteRow: int, subSiteIndex: int, binCode: int)#

Set the bin code of a subsite

Parameters#

Name Description
siteColumn The die column
siteRow The die row
subSiteIndex The sub site index
binCode An integer value representing the bin code.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SetBinSubSite(4, 5, 0, 1)

method SetDieSize(widthInMicrometer: float, heightInMicrometer: float)#

Set the die size of the wafermap.

Parameters#

Name Description
widthInMicrometer Width of the die in microns.
heightInMicrometer Height of the die in microns.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SetDieSize(1000, 2000)

method SetDieStatus(siteColumn: int, siteRow: int, status: Atv.Framework.Devices.Prober.Enumerations.DieStatus)#

Set the status of a given die.

Parameters#

Name Description
siteColumn The column of the die.
siteRow The row of the die.
status The status of the die. (0 - Selected, 1 - NotSelected, 2 - NotPresent)

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SetDieSize(1000, 2000)

method SetGridOrigin(siteColumn: int, siteRow: int)#

Set the grid origin of the wafermap. The grid origin is the origin of a user defined grid coordinate system. Usually a wafermap has a native and a custom coordinate system. The grid origin is defined in terms of coordinates given in the native coordinate system.

Parameters#

Name Description
siteColumn The column of the die.
siteRow The row of the die.

Example#

The following line will make the coordinate 10,10 of the native wafer coordinate system the origin of the user defined coordinate system thus giving them the user defined coordinates 0,0.

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SetGridOrigin(10, 10)


method SetHomeDie(x: int, y: int)#

Set the grid coordinates of the home die.

Parameters#

Name Description
x The column of the home die in user defined grid coordinates.
y The row of the home die in user defined grid coordinates.

Example#

The following line will make the coordinate 10,10 of the native wafer coordinate system the origin of the user defined coordinate system thus giving them the user defined coordinates 0,0.

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SetHomeDie(10, 10)


method SetPath(refPoint: Atv.Framework.Devices.Prober.Enumerations.RefPoint, trace: Atv.Framework.Devices.Prober.Enumerations.RoutingTrace)#

Set up a route for die testing. This command will define how stepping is conducted. it gets a starting point and a trace parameter and orders the test dies in the test plan accordingly.

Parameters#

Name Description
refPoint The location of the first point of the route to be created. 0 - Center, 1 - LowerLeft, 2 - UpperLeft, 3 - LowerRight, 4 - UpperRight
trace An integer value for selecting the routing scheme. 0 - Rows, 1 - Cols, 2 - WindingRows, 3 - WindingCols

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.SetPath(0)

method StepToFirstSite()#

Step to the first die of the route. Use this command to initiate die stepping mode. The command will return column, row and subsite information of the die that the chuck was moved to.

Returns#

Type Description
int The column of the die the chuck is positioned on
int The row of the die the chuck is positioned on
int The subsite of the die the chuck is positioned on
bool A boolean value indicating whether this is the last die of the route.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.StepToFirstSite()

method StepToFirstSubSite()#

Step to the first subsite of a die.

Returns#

Type Description
int The subsite index
bool A boolean value indicating whether this is the last die of the route.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.StepToFirstSubSite()

method StepToNextSite()#

Step the next die in the route but remain on the same subsite.

Returns#

Type Description
int The column of the die the chuck is positiond on
int The row of the die the chuck is positioned on
int The subsite of the die the chuck is positioned on
bool A boolean value indicating whether this is the last die of the route.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.StepToNextSite()

method StepToNextSiteOrSubSite()#

Step the next subsite. When the chuck is at the last subsite step to the first subsite of the next die.

Returns#

Type Description
int The column of the die the chuck is positiond on
int The row of the die the chuck is positioned on
int The subsite of the die the chuck is positioned on
bool A boolean value indicating whether this is the last die of the route.
bool A boolean value indicating whether this is the last subsite of the current die.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.StepToNextSiteOrSubSite()

method StepToNextSubSite()#

Step the next subsite.

Returns#

Type Description
int The subsite of the die the chuck is positioned on
bool A boolean value indicating whether this is the last subsite of the current die.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.StepToNextSubSite()

method StepToSite(siteColumn: int, siteRow: int)#

Step an arbitrary die given by its column and row.

Parameters#

Name Description
siteColumn The column of the die to step to
siteRow The row of the die to step to

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.StepToSite(10, 15)

method StepToSubSite(subSiteIdx: int)#

Step to a subsite. This command will step to a different subsite of the current die.

Parameters#

Name Description
subSiteIdx Index of the subsite to step onto.

Example#

probe_station = measmatic.GetDevice('device-probe-station')
probe_station.Wafermap.StepToSubSite(1)