Manuals >Reference >IC-CAP Functions Print version of this Book (PDF file) |
![]() ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TRL_CalDeembed the raw measured data using measured data of TRL (thru-reflect-line) calibration standards. The function calculates the error coefficients and returns the corrected S-parameters data. The reference plane is defined at the middle of the thru standard, or at the interface to the DUT when it is installed in the compatible carrier.
TwoPort
Converts the data in a data set from one 2-port parameter type TwoPort2Same as TwoPort function except the characteristic impedance, Z0, is an input parameter. This allows execution-time conversion of 2-port data to a new Z0. USERC_avg_2Averages 2 DC data sets, point-by-point. Provided as an example of a math function implemented in User C code. The source code is in $ICCAP_ROOT/src/userc.c. USERC_avg_3Averages 3 DC data sets, point-by-point. Provided as an example of a math function implemented in User C code. The source code is in $ICCAP_ROOT/src/userc.c. USERC_closeCloses an open file. See USERC_open for essential additional information about this function. USERC_conjgProduces the conjugate of the input data set. This function is similar to the function named conjg, but is provided as an example of a User C math function manipulating complex numbers. The source code is in $ICCAP_ROOT/src/userc.c.
Complex number or array of complex numbers; size determined by inputs
USERC_data_w_checkReturns a complex number designated by a name, row, and column. Example of C library function data_w_check() in userc.c. USERC_get_object_nameIf the variable name exists, returns the name of the calling Transform or Macro. Note that the leading / in the name is not returned.
If macro /npn/tester contains the following line: And if objname is in the Model Variables or system variables, then it returns npn/tester. If Transform /npn/dc/fgummel/tester contains the following line: And if xformName exists in the Setup Variables, DUT Variables, Model Variables, or System Variables, then it returns npn/dc/fgummel/tester. USERC_init_paramDemonstrates in C code how to assign a value to a model parameter, a DUT parameter, or an IC-CAP system variable. Demonstrates use of the User C utility function named set_par_or_var(). The source code is in the set_param function in $ICCAP_ROOT/src/userc.c.
Parameter to set (this should be the name of a model parameter, a DUT parameter, or an IC-CAP system variable)
USERC_num_of_pointsReturns the number of points for a given sweep. Example of C library function get_num_of_points() in userc.c. USERC_openAccesses a disk file for reading, writing or both. For instrument control, use HPIB_open() and related HPIB functions. This function can be used in conjunction with USERC_readnum, USERC_readstr, USERC_read_reals, USERC_seek, USERC_tell, USERC_write, and USERC_close to perform I/O operations. A more complete description of these functions and examples of their use in performing I/O operations with disk files are available in Appendix H, "User C Functions." The source code for these functions is provided in $ICCAP_ROOT/src/userc_io.c.
-1 on failure, or else a positive integer file designator that you should save to use with the other User C I/O functions mentioned in the description.
USERC_read_realsOpens a file, reads and returns an array of real numbers, and closes the file. For additional information about this function, see Appendix H, "User C Functions." USERC_readnumReads 1 real number from an open file, 1.0E6, for example. See USERC_open for essential additional information about this function.
File Descriptor (generated by earlier USERC_open call), Device File Flag
a real number (the value 9.99998E+37 means an error occurred)
USERC_readstrReads a string from an open file and sets the specified IC-CAP variable equal to it. See USERC_open for essential additional information about this function.
File Descriptor (generated by earlier USERC_open call), Device File Flag (use 1 if reading from an instrument driver device file, 0 if reading from an ASCII file)
USERC_seekGoes to a particular byte offset in an open file. See USERC_open for essential additional information about this function.
File Descriptor (generated by earlier USERC_open call), Offset Value, Offset Type
USERC_set_paramSets the parameter specified by the second argument to the value of the first argument. x = USERC_set_param(100,NPN,BF) USERC_set_param_quietset the value of a parameter or variable referenced by a string. Unlike USERC_set_param(), this version makes no output to the status window. x=USERC_set_param_quiet(1e-15,"/npn/IS") USERC_sizeReturns the array size of the data set whose name is given by a string. USERC_sweep_modeReturns the sweep mode for the input with sweep order N.
Example C library function of get_sweep_mode() in userc.c. Use USERC_num_of_points() to check the existence of a sweep.
USERC_sweep_nameReturns a sweep name through a variable. Example C library function of get_sweep_name() in userc.c. Use USERC_num_of_points() to check the existence of a sweep. USERC_sweep_startReturns a sweep start value. Example C library function of get_sweep_start() in userc.c. Use USERC_num_of_points() to check the existence of a sweep. USERC_sweep_stepsizeReturns a (LIN) sweep step value. Example C library function of get_sweep_stepsize() in userc.c. Use USERC_num_of_points() to check the existence of a sweep. USERC_sweep_stopReturns a sweep stop value. Example C library function of get_sweep_stop() in userc.c. Use USERC_num_of_points() to check the existence of a sweep. USERC_systemDemonstrates the invocation of an operating system command from User C code.
Single number with exit status of the operating system command
USERC_tellTells current byte offset in an open file. See USERC_open for essential additional information about this function. USERC_transposeReturns a data set of matrices, in which each of the input data set's matrices has been transposed. Provided as an example of a matrix math function implemented in User C code. The source code is in $ICCAP_ROOT/src/userc.c. USERC_writePrints any string expression into an open file, in ASCII. (To convert a number to a string expression, refer to the VAL$ function described in the Built-in Functions. Refer to USERC_open for additional essential information about this function.)
File Descriptor (generated by USERC_open call), Device File Flag
varianceCalculates the statistical variance of a data set. 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. VBIC_ac_solverGiven the 4 terminal voltages, solves for 2-port network parameters. VE and VS are assumed to be 0.
Output code specifying current gain, or parameters. This code should be placed in the Output field.
VBIC_avcCalculates avalanche collector voltage (AVC1) based on the model parameter PC.
VBIC_cbcCalculates the depletion capacitance versus bias.
Depletion base-collector capacitance based on the VBIC formulation: SPICE model for AJC VBIC_cbeCalculates the depletion capacitance versus bias.
Depletion base-emitter capacitance based on the VBIC formulation: SPICE model for AJC VBIC_cj0Calculates (extracts) the junction zero-bias capacitance.
The zero-bias junction capacitance stored in CJE, CJC, or CJCP.
VBIC_clean_dataThis routine looks at each data point and scans ahead by the number of points specified by the input argument IN A ROW. If the data does not monotonically increase for the number of data points specified by IN A ROW, then zero is written to the output array. If the data does monotonically increase for the number of data points specified by IN A ROW, then from that data point onward, the INPUT DATA is written directly to the output (result) array. VBIC_cscCalculates the depletion capacitance versus bias.
Depletion collector-substrate capacitance based on the VBIC formulation: SPICE model for AJC VBIC_dc_approxThis function calculates Ic, Ib, beta, intrinsic and extrinsic base-emitter voltage, and base charge for a bipolar transistor, using the terminal voltages Ve, Vb, and Vc as inputs. Vs is assumed to be 0. The first parameter should be set to the output of interest, which defaults to Ic. This approximate solution does not take quasi-saturation effects into account. VBIC_dci_solverThis function calculates Ic, Vb, Ie, Is, or beta for a bipolar transistor, using the terminal voltages Ve, Vc, and Vs and Ib as inputs. The first parameter should be set to the output of interest, which defaults to Ic. VBIC_dcv_solverThis function calculates Ic, Ib, Ie, Is, or beta for a bipolar transistor, using the terminal voltages Ve, Vb, Vc, and Vs as inputs. The first parameter should be set to the output of interest, which defaults to Ic. VBIC_fg_currentsGiven the 4 terminal voltages, calculates parameters related to forward current.
VBIC_ibci_nciCalculates the parameters IBCI and NCI. VBIC_ibei_neiCalculates the parameters IBEI and NEI. VBIC_ikf
IKF (maximum value in range, 0.1 indicates failed extraction).
VBIC_ikr
IKR (maximum value in range, 0.1 indicates failed extraction).
VBIC_is_nfCalculates the parameters IS and NF. VBIC_isp_nfpCalculates the parameters ISP and NFP. VBIC_nrVBIC_qcdepl
Calculates depletion charge or capacitance based on VBIC formulation using SPICE model for A VBIC_rcx
RCX (maximum value in auto-range, if failed, value of 60 set).
VBIC_rg_currentsGiven the 4 terminal voltages, calculates reverse currents.
VBIC_stocThis 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.
Code to indicate type of extraction: VBIC_vef_verCalculates the forward and reverse early voltages given the collector, base, and emitter voltages in the forward and reverse modes, as well as the collector current in the forward mode and the emitter current in the reverse mode. The algorithm is based on the method described in "SPICE Early Modeling" by C. McAndrew & L. Nagel, BCTM 94, p. 144. WaitSwitching matrix function. Used to pause for a specified number of seconds to accomplish dry switching. Refer to Chapter 2, "MOSFET Characterization," in the IC-CAP Nonlinear Device Models, Volume 1 manual for more information. wirexfXA wire function. Wire functions permit optimization of time-domain measurements in the X and Y dimensions. Time-domain measurements involve effects specifically related to the Y axis (voltage or current level) or the X axis (when a pulse occurs). Because X-axis data is typically the forced data set, it cannot normally be optimized. This makes it very difficult to optimize measured and simulated pulses that do not start with some amount of overlap in time. To solve this problem, the data can be transformed to create an independent X data set that can be optimized together with the Y data set. There are 2 ways of doing this.
wirexfXYOne of the wire functions that permit optimization of time domain measurements in the X and Y dimensions; for more details, refer to the wirexfX function. This function calculates the X data set produced when the X and Y axes are normalized and the curve is divided into segments of equal length. This function should be used in conjunction with wirexfYX during an optimization. wirexfYOne of the wire functions that permit optimization of time domain measurements in the X and Y dimensions; for more details, refer to the wirexfX function. This function calculates the Y data set when X values are evenly spaced. This function is supplied for completeness because Y data sets are normally collected in this manner. wirexfYXOne of the wire functions that permit optimization of time domain measurements in the X and Y dimensions; for more details, refer to the wirexfX function. This function calculates the Y data set produced when the X and Y axes are normalized and the curve is divided into segments of equal length. This function should be used in conjunction with wirexfXY during an optimization. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() |