Manuals >Reference >IC-CAP Functions Print version of this Book (PDF file) |
![]() ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ceilReturns the smallest integer not less than the given value. check_error_logChecks the .icerrlog file to see if any error messages were logged during the execution of the previous function. The log file can be viewed using any text editor (or in a terminal window using more .icerrlog). Note: the .icerrlog file is cleared each time you start IC-CAP. circlefitPerforms a circlefit on a set of complex data centered on the REAL axis. Returns a 2 point data set containing the center and radius. If the OVERRIDE_LIMITS variable is TRUE, the limits can be specified manually with the X_LOW and X_HIGH variables. These limits will always apply to the first Sweep in the Setup. conjg
Complex number, matrix, complex array, or matrix array (depends on input argument)
ConnectSwitching matrix function. Used to connect or disconnect the specified port and pin. Initialize the switching matrix with SWM_init before this function. For more information regarding this function, refer to External Matrix Driver User Functions. copy2outputCopies the input data set to a measured or simulated output data set. correlationCalculates the correlation coefficient for 1 data set versus another, at a particular curve (step number). Indicates the degree to which the 2 data sets share a linear dependence. cosCosine of an angle in radians.
Complex number, matrix, complex array, or matrix array (depends on input argument)
cosh
Complex number, matrix, complex array, or matrix array (depends on input argument)
datasetEnables you to access the dataset referred to 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. x=dataset("/npn/dc/fgummel/vb") print x[4] x=dataset("/npn/dc/fgummel/badname",errstr) if errstr<>"" then print errstr If you try to run a transform that uses the dataset() function, a warning message appears in the Status window. The message appears since you are creating a transform that depends on data in another output or transform. However, each time you run the transform, you could depend on a different set of data because the argument to dataset() is only known at run-time and could change each time you run the transform. IC-CAP can't track this dependency as it does all other dependencies. Since it can't track the dependency, it cannot automatically execute the transform, and it sends the warning message to the Status window. To prevent the error message from appearing, you can set up a transform that does not require automatic updating when the argument in dataset() is updated. If automatic updating is not needed, you can suppress the warning by prepending the word quiet to the dataset() argument as shown in this example: x=dataset("quiet "&mydata) where mydata is the string containing the name of the data you want to access. derivativeThis function has been deprecated. Use the derivative2 function instead for calculating derivatives. Calculates the derivative of data set Y relative to data set X. The order can be specified. A 3-point numerical derivative formula is used, except for the endpoints, where a 2-point formula is used.
Array of real numbers; size determined by number of points in setup
derivative2Calculates the derivative of data set Y relative to data set X. The order can be specified. The number of points per sweep can be specified. If number of points per sweep is set to 0, then the data is assumed to be a single curve. If number of points per sweep is set to -1, then the function will act as the same derivative function, requiring the local setup to determine the number of points per curve. If number of points is >=0 then the function may be called on any arbitrary sets of data of the same size, even from a macro. A 3-point numerical derivative formula is used, except for the endpoints, where a 2-point formula is used. DIODEDCmod_iaGiven the forward diode voltage, the anode current is calculated according to the UCB diode model. EEbjt2_ce_dc_ivSolves for the dependent terminal characteristic (current or voltage) at the input or output port given any combination of independent variables.
EEbjt2_ce_dc_iv(<Port 1 Input>, <Port 2 Input>, <Port 1 Mode>, <Port 2 Mode>, <Output Port>)
EEbjt2_ce_ss_elementsComputes the intrinsic conductance, transconductance, capacitance or transcapacitance at the input or output port of the bjt2 model.
EEbjt2_ce_ss_elements(<Port 1 Input>, <Port 2 Input>, <Port 1 Mode>, <Port 2 Mode>, <Element Name>)
Desired linear conductance ("G11", "G12", "G21", "G22") or capacitance ("C11", "C12", "C21", "C22")
EEbjt2_extrinsic_cktEmbeds the effect of the extrinsic elements onto s-parameter data, or de-embeds the effect of the extrinsic elements from s-parameter data. Resistances and inductances are series elements separated by the shunt capacitances Cxbc, Cxbe and Cxce. If the input s-parameter dataset is of the same size as the frequency dataset in the referenced setup, then it is assumed that the s-parameters vary over the frequencies specified and these frequencies will be used in the embedding or de-embedding operation. In this case, the <Frequency> parameter is not used. If however, the input s-parameter dataset has a size which differs from that of the frequency dataset in the referenced setup, the data points is assumed to be at a single frequency. This frequency value is specified by the <Frequency> parameter.
EEbjt2_Is_NExtracts saturation current and ideality factor for diodes or Gummel-Poon type BJTs. For extraction of Gummel-Poon collector currents, the value of the early voltage can be input. For standard diodes or Gummel-Poon base currents, a large value for <Fwd/Rev Va> should be used so as to remove this effect from the extraction.
EEbjt2_mdlSaves model parameters to a Series IV formatted file. EEfet3_cktReturns the value of the selected linear equivalent circuit element. Vg and Vd are data sets that contain the bias conditions where the linear equivalent circuit is computed. The desired equivalent circuit element name is supplied in the third parameter as a text string. Equivalent circuit element names are: cgs, cgd, cds, ris, rid, gm and gds. The conductances gma and gds are AC values and should be compared with those extracted from S-parameter data. PEL example that returns the computed requested element value. Cgs_data = EEfet3_ckt(Vg, Vd, "cgs") Cgd_data = EEfet3_ckt(Vg, Vd, "cgd") Cds_data = EEfet3_ckt(Vg, Vd, "cds") Ris_data = EEfet3_ckt(Vg, Vd, "ris") Rid_data = EEfet3_ckt(Vg, Vd, "rid") Gm_data = EEfet3_ckt(Vg, Vd, "gm") Tau_data = EEfet3_ckt(Vg, Vd, "tau") Gds_data = EEfet3_ckt(Vg, Vd, "gds") EEfet3_cs_dc_ivComputes the model's common source bias response.
EEfet3_cs_dc_iv (Data_port_1, Data_port_2, Mode_port_1, Mode_port_2, response_port)
This function returns a data set containing the bias response at the port specified by the fifth parameter (response_port). The first 2 parameters are data sets that contain the bias conditions forced at the respective ports. The next 2 parameters are strings that indicate whether current "I" or voltage "V" is being forced. The fifth parameter is an index that specifies which port's (1 or 2) bias response will be contained in the data set returned. Ids = EEfet3_cs_dc_iv(Vg, Vd, "V", "V", 2) Igs = EEfet3_cs_dc_iv(Vg, Vd, "V", "V", 1) Vds = EEfet3_cs_dc_iv(Vg, Id, "V", "I", 2) Vgs = EEfet3_cs_dc_iv(Ig, Vd, "I", "V", 1) EEfet3_lecpReturns the requested linear equivalent circuit parameter value extracted from measured S-parameter data. This function is used in conjunction with EEfet3_s2ckt() to extract and display linear equivalent circuit parameters from measured S-parameter data. EEfet3_s2ckt does the extraction of linear equivalent circuit parameters from measured S-parameters and stores them internally to ICCAP. EEfet3_lecp retrieves the linear equivalent circuit parameter values. The specific element returned is requested by the string in the third field of the function call. Valid equivalent circuit element names are cgs, cdg, cds, ris, rid, gm, and gds. An error condition will be flagged if a bias condition is specified in EEfet3_lecp that was not in the data stored by a previous call to EEfet3_s2ckt. PEL example that returns the computed requested element value. Cgs_data = EEfet3_lecp(Vg, Vd, "cgs") Cgd_data = EEfet3_lecp(Vg, Vd, "cgd") Cds_data = EEfet3_lecp(Vg, Vd, "cds") Ris_data = EEfet3_lecp(Vg, Vd, "ris") Rid_data = EEfet3_lecp(Vg, Vd, "rid") Gm_data = EEfet3_lecp(Vg, Vd, "gm") Tau_data = EEfet3_lecp(Vg, Vd, "tau") Gds_data = EEfet3_lecp(Vg, Vd, "gds") EEfet3_mdlSaves model parameters to a Series IV formatted file. This function returns no data or result code. Upon execution, an "MDIF" formatted data file containing the existing set of model parameters is written to the current working directory. PEL example that saves a data file that can be read by Series IV simulators. dummy_result = EEfet3_mdl("MRF_901.par") EEfet3_model_nameA utility function that copies the model name into the variable passed in as the argument. Since PEL only has direct access to the relative path name of local transforms and variables, this function parses out the model's "root" name and copies it as a string to the variable specified as the argument. After execution, the argument variable will contain a string containing the model name. Note: This function can be used with any model file; it is not restricted to EEfet3. PEL example that copies the model name into the variable "MyName." dummy_result = EEfet3_modle_name(MyName) EEfet3_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.
This function either embeds or de-embeds the S-parameters provided as input. The package topology used here is a very simple series shunt representation of a component's package. The elements represented in the argument list work from the intrinsic device to the outside wall of the package. The bond wire and contact resistances are represented by the arguments: Rg, Rd, Rs, Lg, Ld, Ls. The arguments Rg and Lg are the input port's (gate) series inductance and resistance. Rs and Ls are the common lead's inductance and resistance. Rd and Ld are the output lead's contact resistance and bond inductance. Three shunt capacitances are next and represent stray capacitance of the package. Cxgs is connected from the outside of the series impedances from gate-to-source nodes just described. Cxgd is connected from the outside of the series impedance from the gate to drain nodes just described. Cxds is connected from the outside of the series impedance from drain to source as just described. The final series elements of the package model are transmission lines. Z0_gate, length and effective velocity describe the input transmission line connected at the gate terminal of the package to the modified gate node just outlined above. Z0_drain, length and effective velocity describe the output transmission line connected at the drain terminal of the package to the modified drain node just outlined above. There is no common lead transmission line in this package model. 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 "deembed." 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: s_intrinsic = EEfet3_package(measured_s, "deembed", Rin, Rout, Rcommon, Lin, Lout, Lcommon, Cx_InToCommon, CxInToOut, CxOutToCommon, Z0_in, L_in, Evel, Z0_out, L_out, Evel) EEfet3_ResCheckVerifies and adjusts variables that are used to control swept measurements. Each argument of EEfet3_ResCheck is a model variable. These variables are used in DUT/Setups to control measurements. Each type of measurement equipment has resolution limitations. Start, stop, and step size must be within the equipment's resolution before a measurement can be successful. For example, the HP/Agilent 4142 cannot resolve voltages with greater accuracy than 1 millivolt. There are several conditions that must be accounted for to guarantee proper control of the measurement equipment in use. The following sequence of steps should be followed to ensure that equipment limitations are not violated. First, the start value is rounded to a "resolvable" measurement value as specified by the argument "resolution." The end point is then rounded. The step size is then calculated [step = (stop-start) / points] and rounded to the proper resolution. The end point is then re-computed and adjusted to exactly fit the number of steps requested [stop = start + step * points]. Because of this adjustment, you may see the "stop" point change after this function is called. The last case is where the step size is below the minimum resolution. In this case, the step size is set to the minimum resolution and the starting point is placed that number of points away and the number of points is adjusted. The "resolution" argument is the only value that will not change upon execution of this function. dummy_result = EEfet3ResCheck(Vstart, Vstop, NumPoints, v_res) EEfet3_Rs_delta_mReturns a data set that contains the change in measured Vgs when very specific bias currents are forced at the gate and drain terminals.* Vgs is measured at 2 values of Ids while Igs is swept. Ids is chosen such that Vds is on the order of 2 tenths of a volt (the FET must be in the region of linear operation). Igs is fifty to one hundred times smaller than Ids. The change in Vgs is then proportional to Rs. The expressions for the change in Vgs are a complicated function of Rs. Since these expressions cannot be solved for Rs directly, optimization is used to find a value of Rs that makes measured and simulated values of delta Vgs match. Delta_Vgs = EEfet3_Rs_delta_m(Ig,Id,Vg,Vd) *This method of extracting Rs is based on: "New Method to Measure the Source and Drain Resistance of the GaAs MESFET" Long Yang and Steven Long, IEEE Electron Device Letters Vol EDL-7 No. 2, February 1986. EEfet3_Rs_delta_sReturns a data set that contains the change in simulated Vgs given the same bias conditions specified when EEfet3_Rs_delta_m was extracted.* This simulation function for delta Vgs uses EEfet3 model parameters Rs and N, the gate diode's emission coefficient. Since these expressions cannot be solved for Rs directly, optimization is used to find a value of Rs that makes measured and simulated values of delta Vgs match. Note that N must be accurately determined before this method of extracting Rs can be successful. Delta_Vgs_Simulated = EEfet3_Rs_delta_s(Ig,Id,Vg,Vd) *This method of extracting Rs is based on: "New Method to Measure the Source and Drain Resistance of the GaAs MESFET" Long Yang and Steven Long, IEEE Electron Device Letters Vol EDL-7 No. 2, February 1986. EEfet3_s2cktConverts S-parameters to a table of linear equivalent circuit element values.
EEfet3_ s2ckt (S_parameter, Frequency, Vg, Vd, Conductance_Frequency, Capacitance_Frequency, Delay_Frequency)
This function returns a data set containing S-parameters computed from a linear equivalent circuit model. Element values for the linear equivalent circuit model are extracted from the input S-parameter data set. The table of element values for the linear equivalent circuit model are stored internally to IC-CAP and can be accessed using EEfet3_lecp(). In this manner, you can both examine how well the linear equivalent circuit model fits measured S-parameter data over frequency and see how the element values behave over bias. The reason for this 2-step process is that each IC-CAP function can only return a data set of the same type and dimension as the input data set. In the first step (EEfet3_s2ckt) S-parameters are input (over frequency and bias) and a computed set of S-parameters is returned (over frequency and bias). The values of the linear equivalent circuit model extracted are saved in a special internal structure. The second step is to create a DUT/Setup that only sweeps bias, not frequency. The function EEfet3_lecp is then used to access the internal data structure and return the linear equivalent circuit element value requested. The output is then of the same type and array size as the bias range. Element values can then be plotted against bias. computed_s_parameters = EEfet3_s2ckt(s_data, freq, Vg, Vd, FG, FC, Ftau) and in another DUT/Setup the next function recalls Cgs saved Cgs_data = EEfet3_lecp(Vg, Vd, "cgs") EEfet3_sparsComputes modeled S-parameters based on the current set of model parameters.
EEfet3_ spars (measured_S_parameter_data_set, Frequency, Vg, Vd)
Computes the bias-dependent model's intrinsic S-parameters at each bias and frequency specified. The S-parameter data set used as an input is only for the purpose of defining the type and quantity of data this function will supply as an output. Typical use would be comparing the computed set of S-parameters to a set of measured data and using that measured data as the S-parameter data set supplied as input to this function computed_s_parameters = EEfet3_spars(s_data, freq, Vg, Vd) EEmos1_cktReturns the value of the selected linear equivalent circuit element Vg and Vd are data sets that contain the bias conditions where the linear equivalent circuit is computed. The desired equivalent circuit element name is supplied in the third parameter as a text string. Equivalent circuit element names are: cgs, cgd, cds, ris, rid, gm and gds. The conductances gma and gds are AC values and should be compared with those extracted from S-parameter data. PEL example that returns the computed requested element value. Cgs_data = EEmos1_ckt(Vg, Vd, "cgs") Cgd_data = EEmos1_ckt(Vg, Vd, "cgd") Cds_data = EEmos1_ckt(Vg, Vd, "cds") Ris_data = EEmos1_ckt(Vg, Vd, "ris") Rid_data = EEmos1_ckt(Vg, Vd, "rid") Gm_data = EEmos1_ckt(Vg, Vd, "gm") Tau_data = EEmos1_ckt(Vg, Vd, "tau") Gds_data = EEmos1_ckt(Vg, Vd, "gds") EEmos1_cs_dc_ivComputes the model's common source bias response.
EEmos1_cs_dc_iv (Data_port_1, Data_port_2, Mode_port_1, Mode_port_2, response_port)
This function returns a data set containing the bias response at the port specified by the fifth parameter (response_port). The first 2 parameters are data sets that contain the bias conditions forced at the respective ports. The next 2 parameters are strings that indicate whether current "I" or voltage "V" is being forced. The fifth parameter is an index that specifies which port's (1 or 2) bias response will be contained in the data set returned. Ids = EEmos1_cs_dc_iv(Vg, Vd, "V", "V", 2) Igs = EEmos1_cs_dc_iv(Vg, Vd, "V", "V", 1) Vds = EEmos1_cs_dc_iv(Vg, Id, "V", "I", 2) Vgs = EEmos1_cs_dc_iv(Ig, Vd, "I", "V", 1) EEmos1_lecpReturns the requested linear equivalent circuit parameter value extracted from measured S-parameter data. This function is used in conjunction with EEmos1_s2ckt() to extract and display linear equivalent circuit parameters from measured S-parameter data. EEmos1_s2ckt does the extraction of linear equivalent circuit parameters from measured S-parameters and stores them internally to ICCAP. EEmos1_lecp retrieves the linear equivalent circuit parameter values. The specific element returned is requested by the string in the third field of the function call. Valid equivalent circuit element names are cgs, cdg, cds, ris, rid, gm, and gds. An error condition will be flagged if a bias condition is specified in EEmos1_lecp that was not in the data stored by a previous call to EEmos1_s2ckt. PEL example that returns the computed requested element value. Cgs_data = EEmos1_lecp(Vg, Vd, "cgs") Cgd_data = EEmos1_lecp(Vg, Vd, "cgd") Cds_data = EEmos1_lecp(Vg, Vd, "cds") Ris_data = EEmos1_lecp(Vg, Vd, "ris") Rid_data = EEmos1_lecp(Vg, Vd, "rid") Gm_data = EEmos1_lecp(Vg, Vd, "gm") Tau_data = EEmos1_lecp(Vg, Vd, "tau") Gds_data = EEmos1_lecp(Vg, Vd, "gds") EEmos1_mdlSaves model parameters to a Series IV formatted file. This function returns no data or result code. Upon execution, an "MDIF" formatted data file containing the existing set of model parameters is written to the current working directory. PEL example that saves a data file that can be read by Series IV simulators. dummy_result = EEmos1_mdl("MRF_901.par") EEmos1_model_nameA utility function that copies the model name into the variable passed in as the argument. Since PEL only has direct access to the relative path name of local transforms and variables, this function parses out the model's "root" name and copies it as a string to the variable specified as the argument. After execution, the argument variable will contain a string containing the model name. Note: This function can be used with any model file; it is not restricted to EEmos1. PEL example that copies the model name into the variable "MyName." dummy_result = EEmos1_modle_name(MyName) EEmos1_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.
Efet3_package(S_parameter_data_set, embed/deembed_flag, Rg, Rd, Rs, Lg, Ld, Ls, Cxgs, Cxds, Cxgd, Z0_gate, length, effective_velocity, Z0_drain, length, effective_velocity)
This function either embeds or de-embeds the S-parameters provided as input. The package topology used here is a very simple series shunt representation of a component's package. The elements represented in the argument list work from the intrinsic device to the outside wall of the package. The bond wire and contact resistances are represented by the arguments: Rg, Rd, Rs, Lg, Ld, Ls. The arguments Rg and Lg are the input port's (gate) series inductance and resistance. Rs and Ls are the common lead's inductance and resistance. Rd and Ld are the output lead's contact resistance and bond inductance. Three shunt capacitances are next and represent stray capacitance of the package. Cxgs is connected from the outside of the series impedances from gate-to-source nodes just described. Cxgd is connected from the outside of the series impedance from the gate to drain nodes just described. Cxds is connected from the outside of the series impedance from drain to source as just described. The final series elements of the package model are transmission lines. Z0_gate, length and effective velocity describe the input transmission line connected at the gate terminal of the package to the modified gate node just outlined above. Z0_drain, length and effective velocity describe the output transmission line connected at the drain terminal of the package to the modified drain node just outlined above. There is no common lead transmission line in this package model. 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 "deembed." 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: s_intrinsic = EEmos1_package(measured_s, "deembed", Rin, Rout, Rcommon, Lin, Lout, Lcommon, Cx_InToCommon, CxInToOut, CxOutToCommon, Z0_in, L_in, Evel, Z0_out, L_out, Evel) EEmos1_ResCheckVerifies and adjusts variables that are used to control swept measurements. Each argument of EEmos1_ResCheck is a model variable. These variables are used in DUT/Setups to control measurements. Each type of measurement equipment has resolution limitations. Start, stop, and step size must be within the equipment's resolution before a measurement can be successful. For example, the HP/Agilent 4142 cannot resolve voltages with greater accuracy than 1 millivolt. There are several conditions that must be accounted for to guarantee proper control of the measurement equipment in use. The following sequence of steps should be followed to ensure that equipment limitations are not violated. First, the start value is rounded to a "resolvable" measurement value as specified by the argument "resolution." The end point is then rounded. The step size is then calculated [step = (stop-start) / points] and rounded to the proper resolution. The end point is then re-computed and adjusted to exactly fit the number of steps requested [stop = start + step * points]. Because of this adjustment, you may see the "stop" point change after this function is called. The last case is where the step size is below the minimum resolution. In this case, the step size is set to the minimum resolution and the starting point is placed that number of points away and the number of points is adjusted. The "resolution" argument is the only value that will not change upon execution of this function. dummy_result = EEmos1ResCheck(Vstart, Vstop, NumPoints, v_res) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() |