Main Content

Verilog-A is a language for modeling the high-level behavior of analog components and networks. Verilog-A describes components mathematically, for fast and accurate simulation.

RF Toolbox™ software lets you export a Verilog-A description of your circuit. You can create a Verilog-A model of any passive RF component or network and use it as a behavioral model for transient analysis in a third-party circuit simulator. This capability is useful in signal integrity engineering. For example, you can import the measured four-port S-parameters of a backplane into the toolbox, export a Verilog-A model of the backplane to a circuit simulator, and use the model to determine the performance of your driver and receiver circuitry when they are communicating across the backplane.

The Verilog-A language is a high-level language that uses modules to describe the
structure and behavior of analog systems and their components. A
*module* is a programming building block that forms an
executable specification of the system.

Verilog-A uses modules to capture high-level analog behavior of components and systems. Modules describe circuit behavior in terms of

Input and output nets characterized by predefined Verilog-A disciplines that describe the attributes of the nets.

Equations and module parameters that define the relationship between the input and output nets mathematically.

When you create a Verilog-A model of your circuit, the toolbox writes a Verilog-A module that specifies circuit's input and output nets and the mathematical equations that describe how the circuit operates on the input to produce the output.

RF Toolbox software lets you export a Verilog-A model of an
`rfmodel`

object. The toolbox provides one
`rfmodel`

object, `rfmodel.rational`

, that
you can use to represent any RF component or network for export to Verilog-A.

The `rfmodel.rational`

object represents components as rational
functions in pole-residue form, as described in the `rfmodel.rational`

reference page. This representation can include
complex poles and residues, which occur in complex-conjugate pairs.

The toolbox implements each `rfmodel.rational`

object as a series
of Laplace Transform S-domain filters in Verilog-A using the numerator-denominator
form of the Laplace transform filter:

$$H(s)=\frac{{\displaystyle \sum _{k=0}^{M}{n}_{k}{s}^{k}}}{{\displaystyle \sum _{k=0}^{N}{d}_{k}{s}^{k}}}$$

where

*M*is the order of the numerator polynomial.*M*is the order of the denominator polynomial.*n*is the coefficient of the_{k}*k*th power of*s*in the numerator.*d*is the coefficient of the_{k}*k*th power of*s*in the denominator.

The number of poles in the rational function is related to the number of Laplace transform filters in the Verilog-A module. However, there is not a one-to-one correspondence between the two. The difference arises because the toolbox combines each pair of complex-conjugate poles and the corresponding residues in the rational function to form a Laplace transform numerator and denominator with real coefficients. the toolbox converts the real poles of the rational function directly to a Laplace transform filter in numerator-denominator form.