Using Simulator Expressions in Advanced Design System

Simulator expressions can be entered into Advanced Design System using the following methods:

Using a VAR (Variables and Equations Component)

Simulator expressions are sometimes referred to as VARs in Advanced Design System. The VAR (Variables and Equations Component) is available in the Data Items palette in an Analog/RF Systems Schematic window, or from the Controllers palette in a Signal Processing Schematic window. For more information, refer to Variables and Equations Component in the Introduction to Circuit Components documentation.

Caution
Do not use more than 1800 characters in a VAR equation. If longer VARs are required, consider dividing up the long equation into multiple shorter equations and then summing the right hand side of the shorter equations. You may also want to consider using a netlist fragment instead of a VAR.

To add a simulator expression in an Analog/RF Systems Schematic window using a VAR:

  1. Click the VAR in the Data Items palette.
  2. Place a VAR on the schematic.
  3. Double-click the VAR to display the dialog box.
  4. Click the Equation Editor button. The Equation Editor dialog box is displayed.
  5. Enter your expression in the field provided and click OK .
    For more information on using the Equation Editor, click the Help button in the lower right hand corner of the dialog box. This will refer you to "Using the Equation Editor" in the Schematic Capture and Layout documentation.

VarEqn Data Types

The four basic data types that VarEqn supports are integer, real, complex, and string. There is a fifth data type, pointer, that is also supported. Pointers are not allowed in an algebraic expression, except as an argument to a function that is expecting a pointer. Strings are not allowed in algebraic expressions either except that addition of strings is equivalent to catenation of the strings. String catenation is not commutative, and since VarEqn's simplification routines can internally change the order of operands of commutative operators, this feature should be used cautiously. It will most likely be replaced by an explicit catenation function.

Type conversion

The data type of a VarEqn expression is determined at the time the expression is evaluated and depends on the data types of the terms in the expression. For example, let y=3*x^2. If x is an integer, then y is integer-valued. If x is real, then y is real-valued. If x is complex, then y is complex-valued.

As another example, let y=sqrt(2.5*x). If x is a positive integer, then y evaluates to a real number. If, however, x is a negative integer, then y evaluates to a complex number.

There are some special cases of type conversion:

Editing Component Parameters

Simulator expressions can be entered in place of most component parameters in Advanced Design System. The components are available from the component palette in an Analog/RF Systems Schematic window, or from the Controllers palette in a Signal Processing Schematic window. For more information on ADS components, refer to the Components category of your online documentation set.
To add a simulator expression to a component parameter:

  1. In a schematic window, select the component from the component palette and place it on the schematic.
  2. Double-click the component to display the dialog box.
  3. If available, set the Parameter Entry Mode to Standard in the component dialog box.
    Note
    The Standard Parameter Entry Mode is not available for all component parameters. If the Standard Parameter Entry Mode is not available, the Equation Editor is not available for that particular parameter.
  4. Click the Equation Editor button. The Equation Editor dialog box appears with the component parameter displayed on the left.
  5. Enter your expression in the field provided and click OK .
    For more information on using the Equation Editor, click the Help button in the lower right hand corner of the dialog box. This will refer you to Using the Equation Editor in the [Schematic Capture and Layout documentation.

Setting up Frequency-Domain Defined Devices (FDD)

The frequency-domain defined device (FDD) enables you to create equation-based, user-defined, nonlinear components. The FDD is a multi-port device that describes current and voltage spectral values in terms of algebraic relationships of other voltage and current spectral values. It is for developing nonlinear, behavioral models that are more easily defined in the frequency domain.

For more information on setting up an FDD, refer to chapter 7 of the Nonlinear Devices documentation.

Setting up a Symbolically Defined Devices (SDD)

The symbolically-defined device (SDD) enables you to create equation based, user-defined, nonlinear components. The SDD is a multi-port device which is defined by specifying algebraic relationships that relate the port voltages, currents, and their derivatives, plus currents from certain other devices.

For more information on setting up an SDD, refer to chapter 7 of the Nonlinear Devices documentation.

Alphabetical Listing of Simulator Functions

Consult the Index for an alternate method of accessing simulator functions.

For information on measurement functions, refer to the Measurement Expressions documentation.

_  
_db_hspice() _pow_hspice()
_log10_hspice() _pwr_hspice()
_log_hspice() _sign_hspice()
_nint_hspice() _sqrt_hspice()
   
A  
abs() asin()
access_data() asinh()
acos() atan()
acosh() atan2()
arcsinh() atanh()
arctan()  
   
B, C  
bin() cos_pulse()
bitseq() cosh()
ceil() cot()
complex() coth()
conj() ctof()
cos() ctok()
   
D  
damped_sin() dbpolar()
db() dbwtow()
dbm() deg()
dbmtoa() dphase()
dbmtov() dsexpr()
dbmtow()  
   
E  
echo() eval_poly()
erf_pulse() exp()
eval_controlled_pwl() exp_pulse()
eval_miso_poly()
   
F  
floor() ftoc()
fmod() ftok()
   
G  
get_array_size() get_fund_freq()
gridSmithChart()  
H, I  
hypot() index()
imag() int()
impulse() itob()
   
J, K, L  
jn() limit_warn()
ktoc() list()
ktof() ln()
length() log()
lfsr() log10()
   
M, N  
mag() max()
makearray() min()
   
P, Q  
phase() polarcpx()
phasedeg() pow()
phaserad() pulse()
phasewrap() pwl()
polar() pwlr()
   
R  
rad() rect()
ramp() rem()
real() ripple()
   
S  
scalearray() spectrum()
sffm() sprintf()
sgn() sqrt()
sin() step()
sinc() strcat()
sinh()  
   
T, V, W  
tan() vswrpolar()
tanh() wtodbm()
value()  
 

Privacy Statement  | Terms of Use  | Legal | Contact Us  | © Agilent 2000-2008 

Contents
Additional Resources