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
|
|