Manuals >Reference >IC-CAP Functions Print version of this Book (PDF file) |
![]() ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NOISE_1f_stop_biasThis function stops the bias from the specified DC source. It is used in conjunction with the NOISE_1f_force_bias.
OptimizeThe IC-CAP general purpose optimizer. Performs Levenberg-Marquardt optimization, random optimization, hybrid optimization, and sensitivity analysis. The optimizer is described in Chapter 7, "Optimizing," in the User's Guide.
Levenberg-Marquardt: array of real, length 2 (RMS error, max error)
By Optimize menu function (or Extract menu function when the Extract Flag option is set to Yes)
PackageA utility function that can either "embed or de-embed" the effects of a package from S-parameter data provided as input. The resultant set of S-parameters is returned as a data set with the same frequency and bias conditions as the input S-parameter data set.
Package(S_parameter_data_set, embed/dEEmbed_flag, Z1, D1, L1a, L1b, L1m, C1m, C1, C12, Z3, D3, L3, Z2, D2, L2a, L2b, L2m, C2m, C2)
The package topology used here is a very simple series shunt representation of a component's package. This package is more general purpose than EEfet3_package, EEbjt2_package, or EEmos1_package. Each port of this package has a transmission line that represents the package lead frame. Then a "T" network is defined on the input and output (port 1 and 2) that represents bond wires and can be used to model simple matching networks used in some pre-matched devices. This network is not included on the common lead. So working from the outside edge of the package's input port (port 1) there is an ideal transmission line (Z1, D1), followed by the bonding/matching network. L1a + L1b represent the bond inductance of the input port. The inductance is split into 2 parts. In a pre-matched device L1a is the bond inductance from the lead frame of port 1 to the shunt matching capacitor (modeled by L1m, C1m). L1b would be the bond wire from the top of the matching capacitor to the gate/base of the transistor. C1, C12, and C2 are fringing capacitors that encircle the intrinsic device (usually small values 20-30ff). In the case of a transistor with no pre-matching, L1m, C1m and L1b would be set to zero. The "common" node of the input matching capacitor C1m and the output matching capacitor C2m is where transmission line and bond inductance of the common lead join.The intrinsic S-parameters used as input/output are connected at the "internal" side of L1b, L2b and L3.The output port (port 2) is an exact duplication of the input port. The transmission line (Z2, D2) represents the lead frame. The output matching/ bonding network is modeled with L2a, L2b and L2m, C2m. All 3 of the transmission lines are ideal lines modeled with a characteristic impedance and length. The length is in units of meters. Because you must use the same values for each of these arguments in many places in the IC-CAP model file, this function is constructed to use model variables as arguments. First: create 1 variable, in the model variable table, for each of the function arguments (thus making it global to the entire model in use). Then use the variables each time the function is used. In this manner you can ensure that the same values are being used to embed the model as were extracted from measurements. The first argument is the data set upon which the function will operate. The second argument is a text string or variable containing a text string "embed" or "de-embed." The function will operate on the input data set as indicated by the second argument. PEL example that de-embeds a package from a measurement (based on first defining the following variables in the system variable table):
s_intrinsic = Package(meas_spars, flag, Z1, D1, L1a, L1b, L1m, C1m, C1, C12, Z3, D3, L3, Z2, D2, L2a, L2b, L2m, C2m,) PB_abortKarl Suss Prober function. Returns prober to local mode.
PB_bincodeKarl Suss Prober function. Sets the Bincode of the current die location.
Single value PB_bindexKarl Suss Prober function. Sets the Bincode of the current die location, then steps (index) to the next testable die location (as defined by the pbench wafer map).
Array of 3 values PB_bindex_crKarl Suss Prober function. Sets the Bincode of the current die location, then moves the prober to the absolute column and row location specified.
Array of 3 values PB_gindex_crKarl Suss Prober function. Return the current die index location from the wafer map.
PB_gsite_xyKarl Suss Prober function. Return the x and y location (in tenths of microns) of the current subsite.
Array of 2 values PB_indexKarl Suss Prober function. Steps (index) to the next testable die location (as defined by the pbench wafer map).
PB_index_crKarl Suss Prober function. Moves the prober to the absolute column and row location specified.
Array of 3 values PB_msite_xyKarl Suss Prober function. Moves the prober to subsite location x, y (in tenths of microns).
Output: Array of 3 values PBench_CMDKarl Suss Prober function. Sends a user-specified command to the prober.
Arbitrary string name to identify calling function Suss Prober command
PdownWafer prober function. Lowers the chuck of the wafer prober. For more information regarding this function, refer to External Prober User Functions. PhomeWafer prober function. Used for loading a wafer onto the chuck and moving it to the home position. For more information regarding this function, refer to External Prober User Functions. PimoveWafer prober function. Moves the chuck a relative increment from its current position. For more information regarding this function, refer to External Prober User Functions. PinkWafer prober function. Calls the inker function of the prober if it is supported. For more information regarding this function, refer to External Prober User Functions. PmoveWafer prober function. Moves the chuck to an absolute position. For more information regarding this function, refer to External Prober User Functions. PNCAPsimuCalculates P-N Junction capacitance versus voltage. Can be used as a quick simulation. The proper parameter names must be specified as inputs. PorigWafer prober function. Defines the current X & Y position of the chuck. Must be called before calling the Pmove or Pimove functions. For more information regarding this function, refer to External Prober User Functions. PposWafer prober function. Returns the current X & Y position of the chuck. For more information regarding this function, refer to External Prober User Functions. Prober_debugWafer prober function. Used to turn the debug and macro stop (on error) flags on and off. For more information regarding this function, refer to External Prober User Functions. Prober_initWafer prober function. Initializes the prober for use. This function must be called before any other prober functions are used in the Macro. For more information regarding this function, refer to External Prober User Functions. Prober_resetWafer prober function. Sends a device clear command to the prober. For more information regarding this function, refer to External Prober User Functions. Prober_statusWafer prober function. Sends a query to the prober to obtain the Remote/Local control state and the edge sensor contact state. The prober should be initialized with Prober_init before this function. For more information regarding this function, refer to External Prober User Functions. Program or Program2The Program2 function is the recommended way to define a program in IC-CAP's Parameter Extraction Language over the older Program function. Program2 provides improved function argument/parameter management and improves access to IC-CAP variables. Both Program and Program2 functions provide a text editor in which a program can be written in IC-CAP's Parameter Extraction Language to carry out simple or complicated computations. When a RETURN statement is used, the computed results are available for use in Plots, other Transforms, and table elements throughout IC-CAP. Both functions can also execute most IC-CAP menu functions using an iccap_func call. Both functions also provides features enabling users to write custom extraction routines and assign new Model parameter values. Refer to Chapter 9, "Parameter Extraction Language," in this manual, and to Chapter 9, "Using Transforms and Functions" in the User's Guide, for more information. If GET_INT, GET_REAL, GET_STRING or LINPUT is used in a Program or Macro to pass parameters, all GET_INT statements should be located immediately at the start of the Program or Macro along with any other GET_INT, GET_REAL, GET_STRING or LINPUT statements. Once any other ICCAP_FUNC statement is invoked, the list of anticipated arguments is reset, thereby removing all the extra arguments from the calling ICCAP_FUNC statement. The Program2 function does not have these limitations. The statement GET_DATASET can be used to redirect passed Program2 function parameter dataset arguments to local variables of a Program2 function. GET_DATASET is not supported with Program or Macro functions—it is only currently supported with the Program2 function. If GET_INT, GET_REAL, GET_STRING or LINPUT statements are used in a Program or Macro to pass parameters, those input statements search the passed parameter list until they find a valid passed parameter argument of the expected type. In the Program2 function, the GET_DATASET, GET_INT, GET_REAL, GET_STRING or LINPUT statements will only try to evaluate the next available passed function parameter as a value of the expected type, and will error out if the next passed function parameter is not able to be evaluated as a value of the expected type. In the Program2 function, all variables are automatically treated as local variables unless those variables are first explicitly declared as global variables using the GLOBAL_VAR statement. Before using a variable from a variable table in Program2, you should declare the variable as global with the GLOBAL_VAR statement. In Program and Macro functions, all variables can be resolved globally or locally without needing to explicitly specify which variables are global using the GLOBAL_VAR statement.
PscaleWafer prober function. Defines the X & Y stepping dimensions used by the Pmove and Pimove functions. For more information regarding this function, refer to External Prober User Functions. PSP_DC_vthPicks up one single sweep curve of id=f(vg) of a specified setup and extracts the threshold voltage vth. The setup is specified by the parameters path to vd, ... etc. This makes it easier to call the function with variable inputs inside the PEL programs. The 'Flag' variable is used to define certain conditions, for example, the extraction of vth for the large device that does not need to calculate all the early voltage values.
PSP_check_parChecks whether a model parameter is in a predefined range. The range information for this parameters must be given in a variable in the referenced path. The range information is stored in a string in the following format:
Flag for correct operation: PSP_DC_calc_bin_parameterCalculates from the input the four binning parameters P0, PL, PW and PP. If the calculation is done correctly, outputs[0] will return 0. Otherwise, outputs[0] will result in a negative number. In such a case, the error will be printed in detail in the output window.
PSP_set_optAccepts a list of model parameters, separated by blanks and searches the range information for these parameters in the range_<PARAMETER> variables in the referenced path. After analyzing the range information for each parameter, the variables min_<PARAMETER> and max_<PARAMETER> in the local setup/DUT are set. These variables can be used as upper/lower limit in an optimizer call. The range information is stored in a string in the following format:
Parameter names, separated by
Flag for correct operation: PTFTCV_cgdStandard extraction for the UCB p-Si TFT model. Extracts p-Si TFT gate-to-drain overlap capacitance and a transition parameter. PTFTCV_cgsStandard extraction for the UCB p-Si TFT model. Extracts p-Si TFT gate-to-source overlap capacitance and transition parameters. PTFTDC_linStandard extraction for the p-Si TFT model. Extracts linear region parameters using Id versus Vg data measured on a p-Si TFT device.
VTO, U0, U1, U2, U3, U4, SUBSLOPE, VOFF, THERMALI, VGTRANL, VGTRANH, GIDLA, GIDLB
PTFTDC_satStandard extraction for the p-Si TFT model. Extracts saturation region parameters using Id versus Vd data measured on a p-Si TFT device. PupWafer prober function. Moves up the chuck of the wafer prober. For more information regarding this function, refer to External Prober User Functions. rand_flatReturns a single random number generated for each call between 0.0 and 1.0 inclusive. Use rand_seed() to set a seed value. This is a 32-bit random number generator of Park and Miller with Bays-Durham shuffle to exclude serial correlations. The period is larger than 1E08.
rand_gaussReturns a random number generated for each call that follows a normal distribution with the given mean and sigma values. Use rand_seed() to set a seed value. This is a 32-bit random number generator of Park and Miller with Bays-Durham shuffle to exclude serial correlations. The period is larger than 1E08.
! Creates 100 random numbers within a ! gaussian distribution with a mean of ! approximately 5 and a standard deviation ! of approximately 1 complex num[100] ! sets a varying random seed for all successive calls ! to rand_gauss(…) x=rand_seed(val(system$("date +%s"))) i=0 while i<100 num[i]=rand_gauss(5,1) i=i+1 endwhile
rand_seedSets a seed for the internal random number generator that has the initial seed of 3300. The rand_seed(seed) function should be used to set the seed for the internal random number generator for all successive calls to the rand_flat() or rand_gauss() functions. This is a 32-bit random number generator of Park and Miller with Bays-Durham shuffle to exclude serial correlations. The period is larger than 1E08.
randomCreates a data set of random numbers with values between 0 and 1. This function is based on the underlying C code for srand48 and rand48. This function will return a dataset of 'N' numbers where N is the size defined by the current Setup's input sweeps. This function is referred to data in an IC-CAP DUT Setup that includes a defined input set that evaluates to a specific number of points.
RBBcalcUsed in extraction of base resistance parameters for the UCB Bipolar model. Calculates RBB from corrected H11 measurements generated with the H11corr function described above. A circle fit is performed on the complex data to extrapolate the high frequency real axis intercepts. RMSerrorCalculates the RMS error between 2 data sets. The error of the second input is calculated with respect to the first input. Returns the error in percent or magnitude. Three formulations are available depending on the value of the third argument labeled % Err Flag. If 0 is passed as the third argument, the absolute value of the difference between the two datasets is returned. If 1 or 2 is passed as the third argument, a relative (or percent) error is calculated. For a value of 1, the error of the second input is calculated with respect to the first input for each point. If any values in the first dataset are 0, the function returns an error. For a value of 2, the same formulation used by the Levenberg-Marquardt optimizer is used. This is also a relative (or percent) error calculation, but the formulation takes the error relative to the larger of the two data set values on a point by point basis. This formulation always returns a value.
sin
sinh
Complex number, matrix, complex array, or matrix array (depends on input argument)
smooth3Returns 3-point running average of the Input data set. End points of each curve are not affected. Defined in userc.c. SPECSSpinUsed in an IC-CAP Macro to determine the matrix connections of the device under test. ICMSpin returns the matrix pin number that corresponds to a specified terminal index on the device. This function only returns valid data when IC-MS test execution is running. Refer to the IC-MS User's Manual for more information on using ICMSpin.
Matrix pin number corresponding to the specified device terminal index
sqrtSquare root function. Note that sqrt(-1) correctly produces an imaginary result.
Complex number, matrix, complex array, or matrix array (depends on input argument)
SWM_debugSwitching matrix function. Turns the debug flag on and off. For more information regarding this function, refer to External Matrix Driver User Functions. SWM_initSwitching matrix function. Initializes the switching matrix and clears all port and pin connections. This must be called before any other switching matrix functions are used in the Macro. For more information regarding this function, refer to External Matrix Driver User Functions. tanTangent of an angle in radians.
Complex number, matrix, complex array, or matrix array (depends on input argument)
tanh
Complex number, matrix, complex array, or matrix array (depends on input argument)
TARGET_DC_vthPicks up one single sweep curve of id=f(vg) of a specified setup and extracts the threshold voltage vth. The setup is specified by the parameters path to vd, and so on. This makes it easier to call the function with variable inputs inside the PEL programs. The Flag variable defines certain conditions, for example, the extraction of vth for the large, which does not need to calculate all the early voltages.
tis_p_downHP 4071A wafer prober function. Lowers the chuck of the wafer prober. tis_p_homeHP 4071A wafer prober function. Used for loading a wafer onto the chuck and moving it to the home position. tis_p_imoveHP 4071A wafer prober function. Moves the chuck a relative increment from its current position. tis_p_inkHP 4071A wafer prober function. Calls the inker function of the prober if it is supported. tis_p_moveHP 4071A wafer prober function. Moves the chuck to an absolute position. tis_p_origHP 4071A wafer prober function. Defines the current X & Y position of the chuck. Must be called before calling the tis_p_move or tis_p_imove functions. tis_p_posHP 4071A wafer prober function. Returns the current X & Y position of the chuck. tis_p_scaleHP 4071A wafer prober function. Defines the X and Y stepping dimensions that are used by the tis_p_move and tis_p_imove functions. tis_p_upHP 4071A wafer prober function. Moves up the chuck of the wafer prober. tis_prober_get_baHP 4071A wafer prober function. No Help Available. tis_prober_get_nameHP 4071A wafer prober function. No Help Available. tis_prober_initHP 4071A wafer prober function. Initializes the prober for use. This function must be called before any other prober functions are used in the Macro. tis_prober_read_sysconfigHP 4071A wafer prober function. No Help Available. tis_prober_resetHP 4071A wafer prober function. Sends a device clear command to the prober. tis_prober_statusHP 4071A wafer prober function. Sends a query to the prober to obtain the Remote/Local control state and the edge sensor contact state. The prober should be initialized with tis_prober_init before this function. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() |