Manuals >Reference >IC-CAP Functions
Print version of this Book (PDF file)
prevnext

icstat_num_attributes

Returns the number of attribute columns in the PARAMETERS spreadsheet.

Synopsis:

icstat_num_attributes()

Argument:

None

Example:

iNumAttrCols = icstat_num_attributes()
PRINT iNumAttrCols
icstat_num_columns

Returns the number of columns in the spreadsheet. For the PARAMETERS spreadsheet, that includes the attribute and deactivated columns.

Synopsis:

icstat_num_columns(<Spreadsheet -name>)

Argument:

 

   Spreadsheet Name:

One of the Spreadsheet Names

Spreadsheet Names:

PARAMETERS, ANALYSIS, STATSUMM, CORRELATION, FACTOR LOADINGS, PARAMETER VARIANCE, FACTOR EQUATIONS, PARAMETER EQUATIONS, PARAMETRIC, NON PARAMETRIC

Example:

iNumCols = icstat_num_columns("PARAMETERS")
PRINT iNumCols
icstat_num_deactivated

Returns the number of deactivated rows or columns in the PARAMETERS spreadsheet.

Synopsis:

icstat_num_deactivated(<mode>)

Argument:

 

   Mode:

"ROW" or "COLUMN"

 

Example:

iNumDeactRows = icstat_num_deactivated("ROW")
PRINT iNumDeactRows
icstat_num_filtered

Returns the number of filtered rows in the PARAMETERS spreadsheet.

Synopsis:

icstat_num_filtered(<mode>)

Argument:

None

Example:

iNumFilteredRows = icstat_num_filtered()
PRINT iNumFilteredRows
icstat_num_rows

Returns the number of rows in the spreadsheet, excluding the Label row (which is usually R1). For the PARAMETERS spreadsheet, it includes the filtered and deactivated rows.

Synopsis:

icstat_num_rows(<Spreadsheet -name>)

Argument:

 

   Spreadsheet Name:

One of the Spreadsheet Names

Spreadsheet Names:

PARAMETERS, ANALYSIS, STATSUMM, CORRELATION, FACTOR LOADINGS, PARAMETER VARIANCE, FACTOR EQUATIONS, PARAMETER EQUATIONS, PARAMETRIC, NON PARAMETRIC

Example:

iNumRows = icstat_num_rows("PARAMETERS")
PRINT iNumRows
icstat_open

Opens the Statistical Analysis window.

Synopsis:

icstat_open()

Argument:

None

Example:

retVal = icstat_open()
return
icstat_open_sdf_file

Opens the SDF file.

Synopsis:

icstat_open_sdf_file(<Filename>)

Arguments:

 

   Filename:

name of the SDF file to open.

Example:

retVal = icstat_open_sdf_file
         ("/tmp/examples/icstat/bsim3.sdf")
return
icstat_parameter_2_attribute

Changes the Parameters column to an Attribute column in the PARAMETERS spreadsheet.

Synopsis:

icstat_parameter_2_attribute (<Number>)

Argument:

parameters column number to be changed to attribute type

Example:

retVal = icstat_parameter_2_attribute(4)
return
icstat_parametric_models

Emulates the Parametric Models command on the Analysis menu. This function either performs the Monte Carlo, corner or boundary modeling analysis. The results are displayed in the PARAMETRIC spreadsheet.

Synopsis:

icstat_parametric_models(<Number Models/Sigma>, <Type>)

Arguments:

 

   # Models/Sigma:

If Monte Carlo analysis, the value represents the number of Models. If CORNER or BOUNDARY, the value is the +/-sigma.

   Type:

One of MONTE CARLO, CORNER or BOUNDARY

Example:

retVal = icstat_parametric_models(200, "MONTE CARLO")
return
icstat_plot_graph

Emulates the Plot Graph command on the Graph menu. For the HISTOGRAM or CDF, multiple graphs can be plotted with a single call. For the scatter plot, only 1 graph can be plotted. The scatter plot requires the column numbers of 2 parameters that are to be plotted.

Synopsis:

icstat_plot_graph

Arguments:

 

   Input:

Array of column numbers to plot

   Spreadsheet Name:

One of the Spreadsheet Names

   Plot Type:

HISTOGRAM, CDF or SCATTER

Spreadsheet Names:

PARAMETERS, PARAMETRIC

Example:

complex colArr[2]
colArr[0] = 7
colArr[1] = 9
retVal = icstat_plot_graph(colArr, "PARAMETERS",
                           "SCATTER")
retVal = icstat_plot_graph(colArr, "PARAMETERS",
                          "HISTOGRAM")
retVal = icstat_plot_graph(colArr, "PARAMETERS", "CDF")
return
icstat_save_sdf_file

Saves the data in the PARAMETERS, CORRELATION, FACTOR LOADINGS, PARAMETER VARIANCE, FACTOR EQUATIONS and PARAMETER EQUATIONS analysis spreadsheets to the named SDF file.

Synopsis:

icstat_save_sdf_file(<Filename>, <Options>)

Arguments:

 

   Filename:

Name of the SDF file to save the data.

   Options:

comma separated value TRUE|FALSE for the spreadsheets. For example: TRUE, TRUE, FALSE, FALSE, FALSE, FALSE

Example:

retVal = icstat_open()
sFileName = "/tmp/examples/icstat/bsim3.sdf"
retVal = icstat_open_sdf_file(sFileName)
retVal = icstat_save_sdf_file(sFileName, "TRUE, FALSE,
                            FALSE, FALSE, FALSE, FALSE")
retVal = icstat_close()
return
icstat_set_cell

Sets the value of the particular cell in the PARAMETERS spreadsheet. Note: To set values in a large number of cells, use icstat_set_column or icstat_set_row.

Synopsis:

icstat_set_cell(<number>, <row-number>, <column-number>)

Arguments:

 

   Input:

Value to set

   Row Number:

Integer

   Column Number:

Integer

 

Example:

rVal = 0.6
dummy = icstat_set_cell(rVal, 8, 8)
return
icstat_set_column

Updates the real values in the particular column of the PARAMETERS spreadsheet with new values. The first row (R1), which is usually the label row, is not updated.

Synopsis:

icstat_set_column(<Input-array>,
<Column number>, <Mode>)

Arguments:

 

   Input:

Array containing the values to be set

Column Number:

Integer

Mode:

Mode for updating the spreadsheet column
"INSERT" inserts a new column
"OVERWRITE" overwrites the existing values

  

Example:

arrSize = icstat_num_rows("PARAMETERS")
          complex colArr[arrSize]
retArr = icstat_get_column(colArr, 9, "PARAMETERS")
dummy = icstat_set_column(retArr, 8, "OVERWRITE")
return
icstat_set_param_column_labels

Updates the PARAMETERS spreadsheet column labels with parameter names from the Parameters table.

Synopsis:

icstat_set_param_column_labels( <Path>, <From Parameter Table>)

Arguments:

 

   Path:

The name of the model or DUT from which you want to get parameter names. Specify <"model_name"> to get parameters from the Model Parameters table; specify <"model_name/DUT_name"> to get parameters from the DUT Parameters table.
(To specify the current DUT, "." is sufficient.)

   From:

Specify 1 of the following parameter tables from which to get the data: "MODEL PARAMETERS", "DUT PARAMETERS". If left blank, "MODEL PARAMETERS" is used.

Example:

retVal = icstat_set_param_column_labels("/CGaas1", "MODEL
                                        PARAMETERS")
return
icstat_set_row

Updates the real values in the specified row of the PARAMETERS spreadsheet with new values. The cells in the attribute columns (the first several columns), which typically contain text, are not updated. To update the cells in the attribute columns, use the icstat_set_text_cell function.

Synopsis:

icstat_set_row(<Input-array>, <Number>, <Mode>)

Arguments:

 

   Input:

Array containing the values to be set

   Row Number:

Integer

   Mode:

Mode for updating the spreadsheet row
"INSERT" inserts a new row
"OVERWRITE" overwrites the existing values

 

Example:

iNumAttribs = icstat_num_attributes()
iNumCols = icstat_num_columns("PARAMETERS")
iNumCells = iNumCols - iNumAttribs
            complex rowArr[iNumCells]
retArr = icstat_get_row(rowArr, 4, "PARAMETERS")
PRINT retArr
! set the 5th row
dummy = icstat_set_row(retArr, 4, "INSERT")
return
icstat_set_text_cell

Sets the particular cell in the PARAMETERS spreadsheet with the text in the PARAMETERS spreadsheet.

Synopsis:

icstat_set_text_cell(<Row-Number>, <Column-Number>, <Text>)

Arguments:

 

   Row Number:

Integer

   Column Number:

Integer

   Text:

Value to be set in the cell

Example:

sString = "Hi, I am a string"
retVal = icstat_set_text_cell(2, 1, sString)
retVal = icstat_get_text_cell(2, 2, "PARAMETERS",
                              "CELLVAL")
PRINT CELLVAL
return
icstat_stat_summary

Emulates the Statistical Summary command on the Analysis menu. This function generates the statistical summary from the data in the PARAMETERS spreadsheet. Displays the results in the STATSUMM spreadsheet.

Synopsis:

icstat_stat_summary()

Argument:

None

Example:

retVal = icstat_stat_summary()
return
icstat_to_partable

Updates the Parameters table with the corresponding parameter value from the spreadsheet. If a particular spreadsheet parameter is not found in the Parameters table or the Parameters table parameter is not found in the spreadsheet, then the value is not updated.

Synopsis:

icstat_to_partable(<Row_Number>, <Path>, <From Spreadsheet Name>, <To Parameter Table>)

Arguments:

 

   Row Number:

Row number to get the data from

   Path:

The name of the model or DUT you want to update. Specify <"model_name"> to update the Model Parameters table; specify <"model_name/DUT_name"> to update the DUT Parameters table. (To specify the current DUT, "." is sufficient.)

   From:

Specify 1 of the following parameter tables from which to get the data: PARAMETERS, ANALYSIS, PARAMETRIC, NON PARAMETRIC

   To:

Specify 1 of the following parameter tables to update: "MODEL PARAMETERS", "DUT PARAMETERS"

Example:

retVal = icstat_to_partable(4, "/CGaas1", "PARAMETERS",
                            "MODEL PARAMETERS")
return
icstat_write_to_status_window

Writes the input message to the Statistical Analysis Status window.

Synopsis:

icstat_write_to_status_window (<Text>)

Arguments:

 

   Message Text:

Text to write to the Statistical Analysis Status window.

Example:

sString = "Setting row number 1"
retVal = icstat_write_to_status_window(sString)
return
integral0

Returns an integral of the given Y data set against the X data set using a simple trapezoid algorithm. The Y data set should not cross the zero point. If the Y data set has multiple curves, use integral3. Defined in userc.c.

Input Arguments:

 

   Data Sets:

X Data, Y Data

Output:

Single real

Automatic Invocation:

On Data Set Input Change

integral3

Returns an integral of the given Y data set against the X data set using a simple trapezoid algorithm. Each curve is reported separately in the Output array. A zero cross is allowed by interpolation. Defined in userc.c.

Input Arguments:

 

   Data Sets:

X Data, Y Data

Output:

Real array

Automatic Invocation:

On Data Set Input Change

JUNCAP

Philips JUNCAP (Junction Capacitance) Model. Calculates the currents and capacitances from voltages.

Input Arguments:

 

   Data Sets:

Anode V, Cathode V

   Strings/Pars/Vars:

Output ( I / IB / IS / IG / C / CB / CS / CG / Q / QB / QS / QG )

Output:

Array of complex, size determined by inputs

Extracts:

N/A

JUNCAP_TR

Allows the reference temperature of the model TR in the JUNCAP model to be modified.

K707_init

Keithley 707 Switch Matrix function. Initialize the 707 matrix. Do not use this function with the 708a matrix.

Syntax

int ret = K707_init(MatrixGPIBAddr)

Where

MatrixGPIBAddr is the GPIB address of the matrix

Examples:

ret = K707_init(6) // Init matrix at address 6

K708a_init

Keithley 708a Switch Matrix function. Initialize the 708a matrix. Do not use this function with the 707 matrix.

Syntax

int ret = K708a_init(MatrixGPIBAddr)

Where

MatrixGPIBAddr is the GPIB address of the matrix

Examples:

ret = K708a_init(6) // Init matrix at address 6

K70X_clear_setup

Keithley 707 Switch Matrix function. Clears setup (opens all relays).

Syntax

int ret = K70X_clear_setup(MatrixGPIBAddr, Setup)

Where

MatrixGPIBAddr is the GPIB address of the matrix

Setup: setup to be cleared (all crosspoints are opened) SetUp can be a memory setup or the actual relays configuration 0 <= SetUp < 100.

Examples:

ret = K70X_clear_setup(6, 0) open all relays in the actual matrix configuration

ret = K70X_clear_setup(6, 1) open all relays in the memory setup number 2

K70X_close_crosspoints

Keithley 707 Switch Matrix function. Closes crosspoints in the matrix.

Syntax

int ret = K70X_close_crosspoints(MatrixGPIBAddr,
                                 CrosspointList)

Where

MatrixGPIBAddr is the GPIB address of the matrix

CrosspointList: List of the crosspoint to be close (string).

Example:

ret = K70X_close_crosspoints(6, "A1,C12") opens the crosspoints specified in the list in the current edited setup specified by the K70X_edit_setup function.

K70X_config_trigger

Keithley 707 Switch Matrix function. Configures trigger.

Syntax

int ret = K70X_config_trigger(MatrixGPIBAddr,
                              TriggerEdge, TriggerSource)

Where

MatrixGPIBAddr is the GPIB address of the matrix.

TriggerEdge: "+" or "-"

TriggerSource: Possible configurations: "TALK" "GET" "X" "EXT" "MAN"

Example:

ret = K70X_config_trigger(6, "+", "EXT") sets the switch matrix to execute when receiving a positive edge from an external trigger. See 70X manual for a more detailed explanation about triggering the matrix.

K70X_connect_sequence

Keithley 707 Switch Matrix function. Sets the connection rule and the row connection sequence.

Syntax

int ret = K70X_connect_sequence(MatrixGPIBAddr,
                                ConnectionRule,
                                RowConnectionSequence)

Where

MatrixGPIBAddr is the GPIB address of the matrix

ConnectionRule: Break before Make "BM" or "MB"

RowConnectionSequence: byte row enable. Ex.: "11110011"

Example:

ret = K70X_connect_sequence(6,"BM","11110011")

K70X_copy_setup

Keithley 707 Switch Matrix function. Copy setup into a new memory or actual location.

Syntax

int ret = K70X_copy_setup(MatrixGPIBAddr, Source,
                          Destination)

Where

MatrixGPIBAddr is the GPIB address of the matrix

Source: Setup to be copied from.

Destination: Setup to be copied to.

Example:

ret = K70X_copy_setup(6, 3, 0) copies the memory setup 3 into the setup 0 (actual matrix configuration). In other words, it executes setup 3.

K70X_debug

Keithley 707 Switch Matrix function. Sets debug flag on or off. When the debug mode is on, the functions will print debug information in the Warning/Error window

Syntax

int ret = K70X_debug(Debugflag)

Where

DebugFlag: 1/0 (Default is 0)

K70X_delete_setup

Keithley 707 Switch Matrix function. Deletes setup from memory.

Syntax

int ret = K70X_delete_setup(MatrixGPIBAddr, MemSetup)

Where

MatrixGPIBAddr is the GPIB address of the matrix

MemSetup: memory setup to be deleted. 1< MemSetup < 100

Example:

ret = K70X_delete_setup(6, 3) deletes memory setup number 3.

K70X_edit_setup

Keithley 707 Switch Matrix function. Sets the setup number to be edited with the following close and open commands. Note that setup number 0 represents the matrix actual configuration while Setup 1 to 100 represents memory setups.

Syntax

int ret = K70X_edit_setup(MatrixGPIBAddr, SetUp)

Where

MatrixGPIBAddr is the GPIB address of the matrix

SetUp: Number of the setup to edit with the next close and open commands.

Example:

ret = K70X_edit_setup(6, 1) sets to edit the memory setup number 1.

K70X_init_interface

Keithley 708a and 707 Switch Matrix function. Initialize the interface card or lan. It must be executed prior to any other Keithley transform.

Syntax

int ret = K70X_init_interface(InterfaceName)

Where

InterfaceName is the hardware interface.

Examples:

ret = K70X_init_interface("hpib")

ret = K70X_init_interface("gpib0")

ret = K70X_init_interface("lan[xx.xx.xx.xx]:hpib")

K70X_open_crosspoints

Keithley 707 Switch Matrix function. Opens crosspoints in the matrix.

Syntax

int ret = K70X_open_crosspoints(MatrixGPIBAddr,
                                CrosspointList)

Where

MatrixGPIBAddr is the GPIB address of the matrix

CrosspointList: List of the crosspoint to be open (string).

Example:

ret = K70X_open_crosspoints(6, "A1,C12,D1") opens the crosspoints specified in the list in the current edited setup specified by the K70X_edit_setup function.

K70X_trigger_disable

Keithley 707 Switch Matrix function. Disables trigger.

Syntax

int ret = K70X_trigger_disable(MatrixGPIBAddr)

Where

MatrixGPIBAddr is the GPIB address of the matrix.

Example:

ret = K70X_trigger_disable(6)

K70X_trigger_enable

Keithley 707 Switch Matrix function. Enables trigger.

Syntax

int ret = K70X_trigger_enable(MatrixGPIBAddr)

Where

MatrixGPIBAddr is the GPIB address of the matrix.

Example:

ret = K70X_trigger_enable(6)

linfit

Fits a line to a specified curve (step) in a data set (X versus Y). Returns a 3 point data set that defines slope, intercept and regression coefficient. The index of steps starts at 0. If the OVERRIDE_LIMITS variable is TRUE, the limits can be specified manually with the X_LOW and X_HIGH variables, which can be set from the Plot menu. (Use the fit_line function to enable plotting of the data set, rather than the slope and intercept.)

Input Arguments:

 

   Data Sets:

X Data, Y Data

   Reals or Integers:

Step Number (0 is first)

Output:

Array of 2 points: slope then intercept

Automatic Invocation:

None

Example PEL Statement:

fit_data = linfit(vc,ic.m,0)
LINKarray

Returns an array result from an IC-CAP Macro algorithm to an IPC Link program during linked mode execution. This function is used internally by IPC Link programs and should never be called directly when using IC-CAP interactively.

Input Arguments:

 

   Data Sets:

Array Result

   Reals or Integers:

Array Size, Result Data Index

Output:

None

Automatic Invocation:

None

LINKchar

Returns a single character result from an IC-CAP Macro algorithm to an IPC Link program during linked mode execution. This function is used internally by IPC Link programs and should never be called directly when using IC-CAP interactively.

Input Arguments:

 

   Reals or Integers:

Result Data Index

   Strings/Pars/Vars:

Character Result

Output:

None

Automatic Invocation:

None

LINKint

Returns an integer result from an IC-CAP Macro algorithm to an IPC Link program during linked mode execution. This function is used internally by IPC Link programs and should never be called directly when using IC-CAP interactively.

Input Arguments:

 

   Reals or Integers:

Integer Result, Result Data Index

Output:

None

Automatic Invocation:

None

LINKpin

Used in an IC-CAP Macro to determine the matrix connections of the device under test. LINKpin returns the matrix pin number that corresponds to a specified terminal index on the device. This function only returns valid data when an IPC Link program has provided a pin mapping.

Input Arguments:

 

   Reals or Integers:

Terminal Index

Output:

Matrix pin number corresponding to the specified device terminal index

Automatic Invocation:

None

Example PEL Statement:

pin_num = LINKpin(1)
LINKreal

Returns a floating point result from an IC-CAP Macro algorithm to an IPC Link program during linked mode execution. This function is used internally by IPC Link programs and should never be called directly when using IC-CAP interactively.

Input Arguments:

 

   Reals or Integers:

Real Result, Result Data Index

Output:

None

Automatic Invocation:

None

 

LINKstr

Used to return a character string result from an IC-CAP Macro algorithm to an IPC Link program during linked mode execution. This function is used internally by IPC Link programs and should never be called directly when using IC-CAP interactively.

Input Arguments:

 

   Result Data Index:

String Result

Output:

None

Automatic Invocation:

None

log

Natural logarithm.

Input Arguments:

 

   Data Sets:

Input 1

Output:

Complex number, matrix, complex array, or matrix array (depends on input argument)

Automatic Invocation:

On Data Set Input Change

log10

Base 10 logarithm.

Input Arguments:

 

   Data Sets:

Input 1

Output:

Complex number, matrix, complex array, or matrix array (depends on input argument)

Automatic Invocation:

On Data Set Input Change

lookup_par

Enables you to access the value of a parameter referenced by a string. A second argument may be specified that is a variable to receive any error string normally going to a red error box.

Example — looking up value for model parameter:

 x=lookup_par("/npn.IS")

Example — looking up value for DUT parameter:

 x=lookup_par("/NPN/dc.rgate")

Example — checking existence of parameter:

 x=lookup_par("nonexistantparam",errstr)
if errstr<>"" then print errstr
lookup_var

Enables you to access the value of a variable referenced by a string. A second argument may be specified that is a variable to receive any error string normally going to a red error box.

Example — looking up value for model variable:

 x=lookup_var("/npn/SIMULATOR")

Example — looking up value for DUT variable:

 x=lookup_var("/NPN/dc/TEMP")

Example — looking up value for Setup variable:

 x=lookup_var("/NPN/dc/fgummel/Vdmax")

Example — checking existence of variable:

 x=lookup_var("nonexistantvar",errstr)
if errstr<>"" then print errstr
mean

Calculates the arithmetic mean of a data set. Returns a single value. Adequate for a real or complex data set, but if a data set of matrices is received, only the 1,1 data is considered. A data set specification like S.21 is adequate, since this is a data set of complex numbers.

Input Arguments:

 

   Data Sets:

Input 1

Output:

Single real or complex number

Automatic Invocation:

On Data Set Input Change

mem_diag

This function is reserved for factory use; it is used in memory utilization regression tests, as part of the IC-CAP quality assurance process.

Output:

A 12-point data set containing memory utilization statistics

Automatic Invocation:

None

MEXTRAM_stoc

Mextram model version: 504

This function calculates capacitance data from S-parameter data, allowing base-collector and base-emitter capacitance to be calculated from network analyzer measurements. The output of this function can be used in place of actual capacitance data to extract capacitance-related parameters.

Input Arguments:

 

   FREQ data

Frequency

   S data

s-parameter data (de-embedded)

   Node (C/E/S)

Code to indicate type of extraction:
E   base-emitter capacitance
C   base-collector capacitance
S   substrate-collector capacitance

Output:

Capacitance versus frequency data

Extracts:

Nothing

MM9

Calculates Id, Is or Ib from voltages.

Input Arguments:

 

   Data Sets:

Drain V, Gate V, Bulk V, Source V

   Strings/Pars/Vars:

Output ( D / S / B )

Output:

Drain I / Source I / Bulk I - array of complex, size determined by inputs

Extracts:

None


prevnext