WaferProber

From SweepMe! Wiki
Revision as of 21:40, 22 January 2020 by Afischer (talk | contribs) (Module specific concepts)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A wafer prober is an instrument to automatically contact a silicon wafer with needles. A wafer is typically organized in rectangular 'dies' that often have identical structures. These dies can contain different test structures that are addressed by subsites (or subdies).

Concept

The module is designed to call a probe plan from an external software (e.g. Nucleus, Velox) or from a probe plan file, depending on the implementation of the device class. The user can then select dies or subsites to be used in a table or simply ask for using the current one. The combination of all selected dies and selected subsites is used for measuring.

User interface

  • The button "Get probe plan" is used to retrieve the probe plan.
  • The button "Go to next die" can be used during the measurement to go to the die that would be the next in the sequence.
  • The button "Go to next subsite" can be used during the measurement to go to the subsite that would be the next in the sequence.
  • Use the selection box "Sweep value die" to choose which source is used to vary dies.
  • Use the selection box "Sweep value subsite" to choose which source is used to vary subsite.
  • Use the right-click menu of the die table or the current table to easily change the selection.

Sweep values

The standard sweep values are "Die table" and "Subsite table" which means that the selections within the tables at the bottom of the module are used. Further sweep values are "Current die" and "Current subsite" which means that either the die table or the subsite table is not used. Instead the wafer prober contacts the current die or current subsite.

The actual sweep value of the module is defined to be a string of the format 'Die[<die_identifier>]_Sub[<subsite_identifier>]' where <die_identifier> and <subsite_identifier> are an index or any string that indicates a position to go. This sweep value is handed over to the device class and the device class has to make sure during 'apply' that the information about the next die and subsite to go are extracted correctly. Furthermore the sweep value is used for the file name if the module 'WaferProber' is above 'MakeFile' in the sequencer.

Device Class programming

Module specific concepts

  • the next sweep value is given by "Die[<die_identifier>]_Sub[<subsite_identifier>]" where <die_identifier> is the next value for the die and <subsite_identifier> is the next value for the subsite. These values are created based on the return values of the function 'get_ProbePlan'
  • If the user selected "Current die" or "Current subsite" as sweep mode, the sweep value is asked for using 'get_CurrentDieAndSubsite'. This function should return the same format of string as used by 'get_ProbePlan'.
  • It is the duty of the device class to extract the correct value for die and subsite in the function 'apply' from the sweepvalue.

Module specific functions

There are function that are only called by the WaferProber module. We recommend to use the device class 'WaferProber-Cascade_Nucleus' as a template.

get_ProbePlan

use this function to return a list of dies and a list of subsites. The variable 'self.port' can be used if the port_manager is used.

get_ProbePlanFileName

use this function to return the name of the probe plan file. The variable 'self.port' can be used if the port_manager is used. If not applicabale return an empty string or a short message like "Probe plan updated" as a message for the user.

get_ActualDieText

use this function to return a string of the current die index that is used to refresh the user interface

get_ActualSubsiteText

use this function to return a string of the current subsite index that is used to refresh the user interface

get_ActualCoordinateX

use this function to return the x coordinate as string

get_ActualCoordinateY

use this function to return the y coordinate as string

get_CurrentDieAndSubsite

use this function to return information about the current die and current subsite as two strings. The variable 'self.port' can be used if the port_manager is used. The returned strings should be in agreement with the strings that are returned by the function 'get_ProbePlan'.