Primesim Hspice Si
Primesim Hspice Si
Contents
New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Related Products, Publications, and Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Customer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Statement on Inclusivity and Diversity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2
Feedback
Contents
3
Feedback
Contents
4
Feedback
Contents
5
Feedback
Contents
6
Feedback
Contents
7
Feedback
Contents
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Sample Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Specifying the RLGC Model in an External File . . . . . . . . . . . . . . . . . . . . 210
Input Model 2: U-element, RLGC Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Using RLGC Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Sample Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Input Model 3: Built-in Field-Solver Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Input Model 4: Frequency-Dependent Tabular Model . . . . . . . . . . . . . . . . . . . 215
Notation Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
Table Model Card Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
Examples: 4-Conductor Tx Line and RLGC Model List . . . . . . . . . . . . . . . 217
Introducing Causality Check for W-element RLGC Table Model . . . . . . . . 219
Input Model 5: S Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
S-Model Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
S-Model Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Input for W-element Passive Noise Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Input Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
Output Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Controlling W-element Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Setting Frequency Range of Interest for Greater Accuracy . . . . . . . . . . . . . . . 225
Setting .OPTION RISETIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225
Using DELAYOPT Keyword for Higher Frequency Ranges . . . . . . . . . . . . 226
Using DCACC Keyword for Lower Frequency Ranges . . . . . . . . . . . . . . . 226
Using Time-Step Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Static Time-Step Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Dynamic Time-Step Control using WACC . . . . . . . . . . . . . . . . . . . . . . . . . 227
Understanding Frequency-dependent Matrices and Transmission Line Theory . . . 228
Equations and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Frequency-Dependent Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Introducing the Complex Dielectric Loss Model . . . . . . . . . . . . . . . . . . . . .231
Fitting Procedure Triggered by INCLUDEGDIMAG Keyword . . . . . . . . . . 233
Example: Complex Dielectric Loss Model . . . . . . . . . . . . . . . . . . . . . . . . . 234
Determining Matrix Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Using the PRINTZO Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Defining Frequency-dependent Impedance in Mixed Mode Printing . . . . . 237
File Description for *.wzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Wave Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
Propagating a Voltage Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Handling Line-to-Line Junctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Overview of T-element Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
8
Feedback
Contents
9
Feedback
Contents
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Verifying IBIS Files with the Golden Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Specifying Models for IBIS Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Troubleshooting Signal Propagation Issues/Overclocking . . . . . . . . . . . . . . . . . . . 283
Multiple Rising and Falling Waveforms Support . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Differential Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Differential and Pseudo-Differential Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Buffers in Subcircuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Netlist Example with Output Buffer, Transmission Line, and Input Buffer . . . . . . . . 289
Using the IBIS Component Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
How .IBIS Creates Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Required Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
file=’file_name’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
component=’component_name’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Optional Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
pkgfile=’pkg_file_name’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
[Model Selector] Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Other Optional Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Component Calls for SPICE or Verilog-A Formatted Pins . . . . . . . . . . . . . . . . 294
Component Calls for SPICE or Verilog-A Formatted [External Circuit] . . . . . . .295
Buffer Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Buffer Power ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Buffer Power OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Using IBIS Package Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303
Accessing Nets inside a Package Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Using IBIS Board-Level Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
.EDB and .IBIS Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Circuit Topology Created by the .EBD and .IBIS Commands . . . . . . . . . . . . . .307
B-element Naming Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Circuit Topology Created with SPICE or Verilog-A Formatted Pins . . . . . . . . . 310
SPICE or Verilog-A Formatted B-element Naming Rules . . . . . . . . . . . . . 310
IBIS Board-Level Component Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Using IBIS Interconnect Modeling (ICM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
10
Feedback
Contents
Appendices
11
Feedback
Contents
12
Copyright and Proprietary Information Notice
© 2024 Synopsys, Inc. This Synopsys software and all associated documentation are proprietary to Synopsys, Inc.
and may only be used pursuant to the terms and conditions of a written license agreement with Synopsys, Inc. All
other use, reproduction, modification, or distribution of the Synopsys software or the associated documentation is
strictly prohibited.
Destination Control Statement
All technical data contained in this publication is subject to the export control laws of the United States of America.
Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader’s responsibility to
determine the applicable regulations and to comply with them.
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys, as set forth at
https://www.synopsys.com/company/legal/trademarks-brands.html.
All other product or company names may be trademarks of their respective owners.
Free and Open-Source Licensing Notices
If applicable, Free and Open-Source Software (FOSS) licensing notices are available in the product installation.
Third-Party Links
Any links to third-party websites included in this document are for your convenience only. Synopsys does not endorse
and is not responsible for such websites and their practices, including privacy practices, availability, and content.
www.synopsys.com
Conventions
The following conventions are used in Synopsys documentation.
Convention Description
Courier bold Indicates user input—text you type verbatim—in examples, such
as
prompt> write_file top
Edit > Copy Indicates a path to a menu command, such as opening the Edit
menu and choosing Copy.
Customer Support
Customer support is available through SolvNetPlus.
Accessing SolvNetPlus
The SolvNetPlus site includes a knowledge base of technical articles and answers to
frequently asked questions about Synopsys tools. The SolvNetPlus site also gives you
access to a wide range of Synopsys online services including software downloads,
documentation, and technical support.
Describes some of the factors and various analyses that can affect signal integrity in your
design.
Part 1 focuses on signal integrity analyses and consists of the following chapters:
• Chapter 1, Introduction to Signal Integrity
• Chapter 2, Linear Network Parameter Analysis
• Chapter 3, Statistical Eye Analysis
• Chapter 4, Time Domain Reflectometry
1
Introduction to Signal Integrity
Describes some of the factors that can affect signal integrity in your design.
The performance of an IC design does not only depends on how many million transistors
a vendor fits on a single chip. With tighter packaging space and increasing clock
frequencies, packaging issues and system-level performance issues (such as crosstalk
and transmission lines) become increasingly significant. At the same time, the popularity of
multichip packages and increased I/O counts is forcing package design to become more
like chip design.
This user guide consists of three parts and a set of appendices:
Part Content
Part Content
PrimeSim HSPICE ships hundreds of examples for your use. Find signal integrity-related
demo files under Signal Integrity Examples, S-parameter Examples, IBIS Examples,
Transmission (W-element) Line Examples, and Transmission Lines Examples, in the
PrimeSim HSPICE User Guide: Demonstration Netlists.
To copy and paste proven syntax, use the demonstration files shipped with your
installation of PrimeSim HSPICE (see Listing of Demonstration Input Files in the PrimeSim
HSPICE User Guide: Demonstration Netlists). Attempting to copy and paste from the
manual or help documentation may present unexpected results as the text used in
formatting may include hidden characters and white space for visual clarity.
Note:
The measurement system in this manual always refers to MKS units (meter,
kilogram, second measurement), unless otherwise stated. PrimeSim HSPICE
expects length and width units of meters. But PrimeSim HSPICE does directly
support units of “mil” (0.001 inch, 25.4e-06 meters) as input. For example, you
can specify a transmission line with a length of 0.4 inches:
T1 IN 0 OUT 0 Z0=50 f=1meg L=400mil
To get the results you expect, use caution when mixing units of measure. For
reference, here are other “m” units. Do not confuse Mega, which you express
as “meg” or “x”, with “m” (mili):
1m = 1e-3 (mili)
1meg = 1x = 1e6 (mega)
1u = 1e-6 (micro)
The following sections discuss these topics:
• Getting Started on Signal Integrity Simulations
• Simulating Circuits with IBIS Models in PrimeSim HSPICE
Noise: delta I (current) Multiple simultaneously-switching Adjust or evaluate location, size, and
drivers; high-speed devices create value of decoupling capacitors.
larger delta I
Noise: coupled Closely-spaced parallel traces Establish design rules for lengths of
(crosstalk) parallel lines.
Delay: path length Poor placement and routing; too Choose MCM or other high-density
many or too few layers; chip pitch packaging technology.
Propagation speed Dielectric medium Choose the dielectric with the lowest
dielectric constant.
Delay: rise time Resistive loss and impedance Adjust width, thickness, and length of
degradation mismatch line.
of the digital signals become electrically important. The integrity of the digital quality of the
signals require careful circuit analysis.
The roadblocks to successful high-speed digital designs are noise and signal delays.
Digital noise can originate from several sources. The fundamental digital noise sources
are:
noisesources
• Line termination noise - Additional voltage reflected from the load back to the driver
caused by an impedance mismatch. Digital output buffers do not accurately control the
output impedance. Most buffers have different rising and falling edge impedances.
• Ground bounce noise - Generated where leadframes or other circuit wires cannot form
into transmission lines. The resulting inductance creates an induced voltage in the
ground circuit, supply circuit, and output driver circuit. Ground bounce noise lowers the
noise margins for the rest of the system.
• Coupled line noise - Induced from lines that are physically adjacent. This noise is
generally more severe for data lines that are next to clock lines.
As system cycle times approach the speed of electromagnetic signal propagation for the
printed circuit board, consideration of the line length becomes critical. The system noises
and line delays interact with the electrical characteristics of the gates and might require
circuit-level simulation.
• Output buffer:
B_OUTPUT nd_pu nd_pd nd_out nd_in [nd_pc nd_gc]
• Tri-state buffer:
B_3STATE nd_pu nd_pd nd_out nd_in nd_en [nd_pc nd_gc]
• Input/Output buffer:
B_IO nd_pu nd_pd nd_out nd_in nd_en nd_out_of_in [nd_pc nd_gc]
In the preceding examples, the required nodes are listed first and the optional nodes are
in brackets ([ ]). The position in the list, not the name, selects the node function. You can
name the nodes using any valid PrimeSim HSPICE node name. In these examples, pu
and pd are pullup and pulldown; pc and gc are power clamp and ground clamp; nd simply
stands for node.
The following is a sample B-element instantiation of an output (driver) buffer:
b_out1 nd_pu nd_pd out1 in1
+ file = 'at16245.ibs'
+ model = 'AT16245_OUT'
This is the minimum syntax to add a B-element. Note that both the file and model names
are case-sensitive. There are numerous additional options, many of which are shared with
the IBIS component.
For more details, see Specifying Required and Optional Common Keywords in PrimeSim
Continuum User Guide: Elements.
where ddr256 is the component name, q1 is the pin name, and _o denotes the driver
output.
PrimeSim HSPICE adds underscore symbols (_) in between for readability. You do not
have to create these nodes yourself in the netlist. They exist logically, and you can make
connections to them simply by using the derived name.
Just as in the B-element node list, the nodes that are created for each buffer depend on
the buffer type. For example, a tri-state buffer generates an enable node, where a simple
input or output buffer does not.
An easy way to get started with the IBIS component is to create a skeleton netlist with only
the IBIS component and a simple analysis. When you probe all signals, you see a list of all
the known nodes for each buffer in your waveform tool.
Here is an example of the minimum syntax to instantiate an IBIS component and generate
a plotfile:
* Instantiate an IBIS component to see the logical nodes created
.ibis ddr256
+ file ='hyb256_400.ibs'
+ component ='hyb25d256'
.tran 1n 5n
.option post probe dcstep=1
.probe v(ddr*)
.end
Since all logical nodes of the IBIS component start with ddr256_, using .probe
v(ddr256_*) outputs all the nodes created by the IBIS component instantiation. The
dcstep option prevents PrimeSim HSPICE from printing numerous warnings about nodes
with no path to ground.
IO buffers - input/output
Interconnect Model
IBIS 7.0 supports broadband interconnect models describing connections between the
pins of a component, die pads, and its I/O buffers. The interconnect models define the
interconnections to either IBIS-ISS subcircuits or n-port networks described by Touchstone
files. PrimeSim HSPICE automatically creates X and S elements with proper connection
based on the data in the IBIS file.
Note:
If IBIS-ISS subcircuits are used in the component, then the files containing
the subcircuits should be explicitly included using the .INC command in the
PrimeSim HSPICE netlist.
For an IBIS file with version 7.0, if interconnect models are used in an IBIS component,
then any package data in ([Pin], [Package], or [Package Model] are ignored. For backward
compatibility, you can use the package keyword of the .IBIS command. For more
information, see .IBIS in the PrimeSim HSPICE Reference Manual: Commands and
Control Options.
2
Linear Network Parameter Analysis
The chapter covers LIN analysis, RF measurements from .LIN command, extracting
mixed-mode S (scattering) and noise parameters, and additional measurements.
PrimeSim HSPICE ships hundreds of examples for your use; see Listing of Demonstration
Input Files in the PrimeSim HSPICE User Guide: Demonstration Netlists for paths to the
demo files.
For descriptions of individual commands referenced in this chapter, see the PrimeSim™
Continuum Reference Manual: Commands and Control Options.
These topics are covered in the following sections:
• LIN Analysis
• Additional Measurements From .LIN Command
• Example - Extracting Bandpass Filter S-parameters
• Extracting Mixed-Mode Scattering (S) Parameters
• Tutorial Example: LIN Analysis for a NMOS Low Noise Amplifier
• References
LIN Analysis
The .LIN command extracts noise and linear transfer parameters for a general multi-port
network.
When used with the .AC command, .LIN makes available a broad set of linear port-wise
.LINcommandmulti-port scattering parametersextracting noise, linear transfer parameters
measurements:
• Multi-port scattering [S] parameters
• Noise parameters
• Stability factors
• Gain factors
• Matching coefficients
The LIN analysis is similar to basic small-signal, swept-frequency .AC analysis, but it also
automatically calculates a series of noise and small-signal transfer parameters between
the terminals identified using port (P) elements.
PrimeSim HSPICE can output the result of group delay extraction and two-port noise
analysis to either a *.sc file, a Touchstone 1.0/2.0 file, or a CITI file.
The .PRINT/.PROBE/.MEAS output syntax for .LIN supports S/Y/Z/H (hybrid) parameters,
group delay, noise parameters, stability factors, gain factors, and matching coefficients.
I1 I2
+ Circuit +
Z01 P1 V1 under V2 P2 Z02
- test -
(hybrid) parameters directly based on the location of the port (P) elements in your circuit,
and the specified values for their reference impedances.
The port element identifies the ports used in LIN analysis.
Syntax
+ [DFE_TAP_OPT=N]
+ [DFE_VTH=val]
+ [DFE_CLK=0|1]
+ [DCD=val] [DCD_TYPE=0|1|2|3] $ Duty Cycle Distortion
+ [PJ=val] [PJ_TYPE=0|1|2|3|4|5|6] $ Period Jitter
+ [RJ=val1, [val2, ... valN]] [VN=val] $ Rand Jitter Stateye
+ [AMI_OBJ=filename] [AMI_PARAM=filename] [AMI_CDR=0|1]$AMI
+ [AMI_CORNER=idx]$AMI
+ [MODULATION=PAM4]
+ [PAM4_MAPPING=string]
+ [IBIS_AMI_FILE=filename IBIS_AMI_MODEL=modelname]
+ [AMI_PARAM_xx = string|quoted string]
+ [IBIS_AMI_USE_CCOMP = 0|1]
+ [IBIS_AMI_CCOMP_ORDER = 1|2]
+ [IBIS_AMI_VRANGE_MODE = 1|2]
+ [IBIS_AMI_USE_RAMP = 0|1]
+ [IBIS_AMI_USE_VRANGE = 0|1]
+ [IBIS_AMI_USE_ZSRC = 0|1]
Parameter Description
node2 [node3 node4 The port element can have either two, or three, or five terminals.
node5] The three-terminal model can be used for differential ports (see Using
the Port Element for Mixed-Mode Measurement).
You can also add a five-terminal model (see Using the Five Terminal Port
Element) mainly to take a four-port S-parameter block for the IBIS-AMI's
"Ts4file Analog Buffer Models" (BIRD 158).
port=portindex The port index. Numbered sequentially beginning with 1 with no shared
port indexes.
z0=val (or Zo=val) Port impedance (Ohms). (Default: 50). Sets port characteristic
impedance used for LIN analysis, sets port termination impedance for
other analyses, and also sets source impedance when you use the port
element as a signal source.
HBAC mag phase (PrimeSim HSPICE advanced analog analyses) HBAC voltage or power
source value.
HB mag phase harm tone (PrimeSim HSPICE advanced analog analyses) HB voltage, current,
modharm modtone or power source value. Allows multiple HB specifications with different
harm, tone, modharm, and modtone values.
• phase is in degrees.
• harm and tone are indices corresponding to the tones specified in
the .HB statement. Indexing starts at 1 (corresponding to the first
harmonic of a tone).
• modtone and modharm specify sources for multi-tone simulation.
A source specifies a tone and a harmonic, and up to 1 offset tone
and harmonic (modtone for tones and modharm for harmonics).
Then it describes the signal as: V(or I)=mag*cos(2*pi*
(harm*tone+modharm*modtone)*t + phase)
RD_INIT=0|1 Initial value of Running Disparity. Running Disparity.1 is the name of the
one-bit memory that recalls the bias of the last unbalanced code word.
• 0: Specifies that a Running Disparity value of zero is synonymous
with negative Running Disparity (-).
• 1: Specifies that a Running Disparity value of one is synonymous with
positive Running Disparity (+).
Parameter Description
TXC=txcdata The input 64-bit pattern signal will be divided into 8 blocks with 8 bits
each; txcdata is an 8-bit string with only 0 and 1s. It indicates the block
type (data block or control block) for each 8-bit block.
• 0: Specifies that the corresponding input block is a data block.
• 1: Specifies that the corresponding input block is a control block.
For example: TXC=10000000 indicates that the first block in the input
pattern signal (bits 1 to 8) is a control block, and blocks 2, 3, 4, 5, 6, 7,
and 8 (that is, 9-16, 17-24, 25-32, 33-40, 41-48, 49-56, and 57-64 bits
respectively) are data blocks.
HEAD = DATA|CONTROL Indicates whether the pattern input signal is a data signal or control
signal. Default is DATA.
• DATA: Specifies that the 128-bit pattern input signal is a DATA signal.
• CONTROL: Specifies that the 128-bit pattern input signal is a
CONTROL signal.
DCOPEN Switch for open DC connection if you have not set DC mag.
• 0 (default): P-element behaves as an impedance termination
• 1: P-element behaves as an open circuit in DC operating point
analysis. LIN analysis mainly uses DCOPEN=1 so the P-element
does not affect the self-biasing device under test by opening the
termination at the operating point.
Parameter Description
Parameter Description
Note:
For more information on DFE function, see Built-In DFE Function for Rx Port Element in StatEye
Analysis.
DCD Aids in .STATEYE analysis; specifies peak percentage of the duty cycle
distortion (DCD). Default is 0.
DCD_TYPE Aids in .STATEYE analysis; specifies variation type. Default type for
non-zero DCD is 1 (constant).
• 0: No DCD
• 1: Constant DCD
• 2: Uncorrelated triangular DCD variation
• 3: Uncorrelated sinusoidal DCD variation
Parameter Description
AMI_CORNER Specifies an index number. The IBIS keyword "...(Corner val1 val2 ...)"
defines the corner values in the IBIS-AMI file specified by AMI_PARAM.
When you use AMI_CORNER, idx is used to choose the idxth value
defined by the "...(Corner ...)" keyword.
For example, if AMI_CORNER = 2 is specified in a port element and the
associated AMI parameter file has the following:
(My_AMI_param1 ... (Corner 1 2 3))
(My_AMI_param2 ... (Corner 4 5 6))
(My_AMI_param3 ... (Corner 7 8 9))
Then, 2, 5 and 8 are chosen for My_AMI_param{1,2 and 3} respectively.
MODULATION=PAM4 Activates pulse amplitude modulation (PAM) 4 signaling when the source
has bit pattern (LFSR/PAT) input. By default, the source element uses
the conventional two logic level signaling.
Parameter Description
AMI_PARAM_xx = string | Argument for direct AMI parameter control from the PrimeSim HSPICE
quoted string netlist.
• PrimeSim HSPICE extracts "xx" as the target name, then assigns
the argument string when the name is found in the AMI parameter
(*.ami) file. For example, when AMI_PARAM_Ignore_Bits=1000 is
specified, PrimeSim HSPICE assigns 1000 to Ignore_Bits in the
AMI parameter file.
• When the argument value is quoted using single quotation character,
PrimeSim HSPICE first evaluates the string as an expression and
assigns the result to the AMI parameter file.
• You can have multiple declarations of this argument.
• Since the keywords in both the PrimeSim HSPICE netlist and the
AMI parameter file are case insensitive, parameter name matching
will be carried out in a case-insensitive manner. However, PrimeSim
HSPICE preserves the case of the given argument in the assignment.
IBIS_AMI_USE_CCOMP = Specifies whether or not to use Ccomp value in the *.ibs file for port
0|1 element’s load capacitance in IBIS-AMI simulation. Default is 1.
IBIS_AMI_CCOMP_ORDER = Selects the AMI_CORNER indexing scheme for C_comp when C_comp
1|2 value is selected up from *.ibs file for IBIS-AMI simulation.
IBIS_AMI_VRANGE_MODE = Specifies how to use the VRANGE value in the *.ibs file in IBIS-AMI
1|2 simulation.
• 1 (default): Uses VRANGE as differential voltage. The incident source
will have (-VRANGE to VRANGE) voltage swing.
• 2: Uses VRANGE as peak-to-peak voltage. The incident source will
have (-0.5*VRANGE to 0.5*VRANGE) voltage swing.
IBIS_AMI_USE_RAMP = 0|1 Specifies whether or not to use the RAMP information in the *.ibs file
for incident’s rise/fall time in IBIS-AMI simulation. Default is 1.
IBIS_AMI_USE_VRANGE = Specifies whether or not to use the VRANGE information in the *.ibs
0|1 file for incident’s voltage swing magnitude in IBIS-AMI simulation. Default
is 1.
A full description of the port element and its syntax is found in Port Element in the
PrimeSim Continuum User Guide: Elements.
The AMI_PARAM_xx keyword with parameter name “xx” assigns the value to all the
parameters with that name. For example,
P1 ..
+ AMI_PARAM_Mode = 1
To selectively assign the parameter value, use the hierarchy delimiter ‘/’ in the
AMI_PARAM_xx keyword so as to separately identify the same leaf name, Mode from
different hierarchy, EQ1 and EQ2. For example:
P1 ..
+ AMI_PARAM_EQ1/MODE = 1
results in
(EQ1(Mode 1))(EQ2(Mode 2))
P1 ..
+ AMI_PARAM_EQ2/MODE = 1
results in
(EQ1(Mode 2))(EQ2(Mode 1))
Note:
In this example, if no assignment is assigned from port element, then default
value 2 is used.
port element remains the same. The LIN analysis function internally sets the necessary
.LINport element and mixed mode measurement
drive mode (common/differential) of these mixed mode port elements. For analyses other
than the LIN analysis (such as DC, AC, TRAN, and so on), the mixed-mode P-element
acts as a differential driver that drives positive nodes with half of their specified voltage
and the negative nodes with a negated half of the specified voltage. Figure 2 shows the
block diagram of the mixed mode port element.
P1 (port element)
n1+
V+
Z0
Z0
V-
n1-
n1_ref
P1 n1+ n1- n1_ref Z 0 =50
The port element can also be used as a signal source with a built-in reference impedance.
For further information on its use as a signal source, see Sources and Stimuli in the
PrimeSim Continuum User Guide: Elements.
The FREQDIGIT and SPARDIGIT keyword values allow you to extend the precision number
of digits for Touchstone 1.0/2.0, CITI, and .sc# files. The default is 6 for both keywords.
For argument descriptions, see the .LIN command in the PrimeSim HSPICE Reference
Manual: Commands and Control Options.
analysis.
The following sections discuss these topics:
• .PRINT and .PROBE Statements
• Examples
• Hybrid Parameter Calculations
Argument Description
Hmn, H(m,n) Complex hybrid (H-) parameters. mn refers to a pair of port numbers, where m and n
are positive integer numbers. If m,n=0 or m,n>2, PrimeSim HSPICE issues a warning
and ignores the output request.
• To calculate a one-port H parameter, you must specify at least one port (P) element.
• To calculate a two-port H parameter, you must specify two or more port (P)
elements.
For additional information, see Hybrid Parameter Calculations.
Argument Description
• R=Real
• I=Imaginary
• M=Magnitude
• P=PD=Phase in degrees
• PR=Phase in radians
• DB=decibels
Examples
.print AC S11 S21(DB) S(2,3)(D) S(2,1)(I)
.print AC NFMIN GAMMA_OPT G_AS
.probe AC RN G_MAX ZOPT Y(3,1)(M) Y31(P)
Equation 1
Equation 2
Equation 3
Equation 4
Equation 5
For networks with more than two ports when computing the 1,2 H index parameters,
PrimeSim HSPICE assumes that ports numbered 3 and above terminate in their port
reference impedance (z0). The above two-port calculations therefore remain appropriate
because S11, S12, S21, and S22 remain valid, and simulation can ignore higher order S-
parameters.
I1 I2
+ Two-Port +
Port=1 Z01 V1 Network V2 Z02 Port=2
- -
The following equations define the incident (forward) waves for this two-port network:
The following equations define the scattered (reflected) waves for this two-port network:
Each S-parameter is a complex number, which can represent gain, isolation, or a reflection
coefficient.
Example
The following examples show how you can represent a gain, isolation, or reflection
coefficient:
.PRINT AC S11(DB) $ Input return loss
.PRINT AC S21(DB) $ Gain
.PRINT AC S12(DB) $ Isolation
.PRINT AC S22(DB) $ Output return loss
Several output parameter measurements are specific to two-port networks. The LIN
analysis supports two-port calculations for 3 or more ports if port=1 is the input and port=2
the output. All other ports terminate in their characteristic impedance. This is equivalent
to operating on the two-port [S] submatrix extracted from the multi-port [S] matrix. This
occurs for both signal and noise calculations. A warning appears if N<2 and you specified
two-port quantities.
Noise and signal port-wise calculations do not require that port elements use a ground
reference. You can therefore measure fully-differential circuits.
.LIN command generates a set of noise parameters. The analysis assumes a noise model
consisting of:
• A shunt current noise source, called In, at the input of a noiseless two-port linear
network
• A series voltage noise source, called Vn, at the input of a noiseless two-port linear
network
• A source with impedance, called Zs, that drives this two-port network
• The two-port network drives a noiseless load, called Zl
The following sections discuss these topics:
• Equivalent Input Noise Voltage and Current
• Equivalent Noise Resistance and Conductance
• Noise Correlation Impedance and Admittance
• Optimum Matching for Noise
• Noise Figure and Minimum Noise Figure
• Associated Gain
• Output Format for Group Delay in .sc* Files
• Output Format for Two-Port Noise Parameters in *.sc# Files
2
• VN2: Equivalent input noise voltage squared (Real, V )
2
• IN2: Equivalent input noise current squared (Real, A )
• RHON: Correlation coefficient between the input noise voltage and the input noise
current (complex, unitless)
Associated Gain
This measurement assumes that the input impedance matches the minimum noise figure,
and the output matches the maximum gain.
G_AS is the associated gain—maximum power gain at NFMIN (real, power ratio)
• X=S, Y, Z, or H
• m, n=port number (1 or 2 for H parameter)
The output of group delay matrices in .sc* files lets PrimeSim HSPICE directly read back
the group delay information. The tabulated data uses the regular PrimeSim HSPICE model
syntax with the SP keyword:
*| group delay parameters
.MODEL SMODEL_GD SP N=2 SPACING=POI INTERPOLATION=LINEAR
+ MATRIX=NONSYMMETRIC VALTYPE=REAL
+ DATA=3
+ 1e+08
+ 0 5e-09
+ 5e-09 0
+ {...data...}
In this syntax:
• Fmin[dB]=minimum noise figure (dB)
• GammaOpt(M)=magnitude of the reflection coefficient needed to realize Fmin
Vn
+-
In Two-Port
Port=1 Network Port=2
+ DATA=1
+ 100
+ 0.514284 0 -0.514284 0
+ -0.514284 0 0.514284 0
The noise analysis data is output in the .lis and .ac* files in the following format:
Frequency = 100.000 Hz
NF (mag) = 1.0+1.02857
NF (dB) = 3.07189
Element Contribution to NF (mag) (dB)
r1 TOT 1.02857 122.327m
All the 2-port noise parameters are deduced and output in the .lis file with
.PRINT/.PROBE commands.
PrimeSim HSPICE can output the result of .LIN noise analysis to a *.sc, Touchstone
1.0/2.0, or CITI file. Note this limitation for Touchstone files: because Touchstone files
currently provide only two-port noise parameters, this type of noise model only supports
two-port noise analysis for both passive and active systems.
network.
The H parameters of a two-port network relate the voltages and currents at input and
output ports:
• Hybrid matrix
Group Delay
Group delay measures the transit time of a signal through a network versus frequency.
It reduces the linear portion of the phase response to a constant value, and transforms
the deviations from linear phase into deviations from constant group delay (which causes
phase distortion in communications systems). The average delay represents the average
signal transit time through a network system.
PrimeSim HSPICE can output the result of .LIN group delay measurement to a .sc*,
Touchstone 1.0/2.0, or CITIfile.
Group delay is a function of frequency:
where:
• gd = Group delay at the f frequency,
• phase = phase response at the f frequency
• w = radians frequency
All complex S, Y, Z, and H parameters support a group delay calculation.
Syntax
The results of the group delay calculation are scalar real numbers in units of seconds.
For .LIN, group delay values are a function of frequency. The calculation is:
The group delay is the negative derivative of the phase. Simulation can compute it from
the imaginary component of the derivative w.r.t. frequency of the measurement:
Port Reference
The numbers in the port reference (e.g., S21, S12 above) refer to the PORT= number in
your netlist. In this single-ended example, P_IN is port 1 and P_OUT is port 2.
P_IN IN 0 Z0=50 PORT=1 AC=1
P_OUT OUT 0 Z0=50 PORT=2
You are printing the insertion loss (or gain) observed at port 2 from port 1.
is equivalent to:
.PRINT S11(M)
Both will return the magnitude of the return loss. These are the available data type
definitions:
• R = Real
• I = Imaginary
• M = Magnitude (default)
• P=PD = Phase in degrees
• PR = Phase in radians
• DB = decibels
Mixed-Mode Ports
You can also specify whether to reference the common, mixed or cross-mode network
parameters in your .PRINT or .PROBE statements. By default, PrimeSim HSPICE
determines the mode of the network parameters from the port configuration. For example,
in this mixed mode (differential) port configuration:
P_IN IN_P IN_N 0 Z0=50 PORT=1 AC=1
P_OUT OUT_P OUT_N 0 Z0=50 PORT=2
But you can explicitly specify the mode of the network parameters to reference as follows:
• SDD = differential mode S parameters
• SCC = common mode S parameters
• SDC or SCD = cross mode S parameters
SNLIN Analysis
The .SNLIN command invokes the SNLIN analysis. This analysis is used for:
• Frequency translation scattering parameter extraction for a periodically-driven circuits
that exhibits frequency translation effects, such as mixers.
• Noise parameter extraction for a periodically-driven circuits that exhibits frequency
translation effects.
Frequency translate S parameter is used to describe N-port circuits that exhibits frequency
translation, such as mixers. It is a small-signal analysis like .LIN, except that the circuit
is first linearized about a periodically varying operating point, instead of a simple DC
operating point. In this manner, it is possible to compute S parameters between circuit
ports that convert signals from one frequency band to another. Frequency translate S
parameter describes the capability of a periodically linear time varying systems to shift
signals in frequency. Similar to the S parameters of a linear-time-varying system, it is
defined as below:
Parameter Description
n Harmonic index
Parameter Description
i Port index
Multitone Analysis
For a multitone analysis, the calculation for multitone a, b vector definition is:
For argument descriptions, see the .LIN command in the PrimeSim Continuum Reference
Manual: Commands and Control Options.
analysis.
.SNLIN outputs to the *.sl0 and *.printsl0 files.
Argument Description
m and n m and n refers to port number index. Both of them must be with in the range 0 < m, n <
port_number.
X and Y X and Y are used for mixed mode S parameter output. It can be any one of the
following:
• D - differential
• C - common
• S - single end
TYPE • R = Real
• I = Imaginary
• M = Magnitude
• P = PD = Phase in degrees
• D = DB = Decibels
• DBM = Decibels per milli
NF and SSNF Refers to the single side band noise figure as a function of the input frequency band
points.
DSNF Refers to the double side band noise figure as a function of the input frequency band
points.
Examples
This example does single-tone analysis, with frequency translation:
• Extract two-port S parameters transferred from RF (1G-del_f) to IF (del_f). The LO
signal is specified by normal voltage source Vlo.
• The frequency on port 1 is in RF band:1G-del_f, the frequency on port 2 is in IF band:
del_f; del_f is swept from 0 to 100meg.
.SNLIN
+ lin 5 0 100meg
+ noisecalc = off
+ filename = ex1
+ dataformat = ma
p1 1 0 port=1 SNLIN=(0, 1)
p2 2 0 port=2 SNLIN=(2,-1)
p3 3 0 port=3 SNLIN=(1,1)
.PARAM smfreq=100meg
.SN tones=1G nharms=2
.SNLIN
+ lin 5 0 100meg
+ noisecalc=on
+ filename=ex2
Impedance Characterizations
• VSWR(i) = Voltage standing wave ratio at port i (real, unit-less)
• ZIN(i) = Input impedance at port i (complex, Ohms)
• YIN(i) = Input admittance at port i (complex, Siemens)
Stability Measurements
• K_STABILITY_FACTOR = Rollett stability factor (real, unit-less)
• MU_STABILITY_FACTOR = Edwards & Sinsky stability factor (real, unit-less)
Gain Measurements
• G_MAX = Maximum available/operating power gain (real, power ratio)
• G_MSG = Maximum stable gain (real, power ratio)
• G_TUMAX = Maximum unilateral transducer power gain (real, power ratio)
• G_U = Unilateral power gain (real, power ratio)
VSWR
The Voltage Standing Wave Ratio represents the ratio of maximum to minimum voltages
along a standing wave pattern due to a port’s impedance mismatch. All ports other than
the port of interest terminate in their characteristic impedances. VSWR is a real number
related to that port’s scattering parameter:
ZIN(i)
The Input Impedance at the i port is the complex impedance into a port with all other
ports terminated in their appropriate characteristic impedance. It is related to that port’s
scattering parameter:
YIN(i)
The Input Admittance at the i port is the complex admittance into a port with all other
ports terminated in their appropriate characteristic impedance. It is related to that port’s
scattering parameter:
K is the Rollett stability factor. Special cases of G_MAX are handled in the following manner:
2
• If |S12|=0 and (|S11|=1 or |S22|=1), G_MAX=|S21|
• If |S12|=0 and |S11|≠1 and |S22|≠1, G_MAX=G_TUMAX
• If |S12|≠0 and K≤ 1, G_MAX=G_MSG
When values for K≤ 1, the Maximum Available Power Gain is undefined, and PrimeSim
HSPICE returns the Maximum Stable Gain.
To achieve this gain, resistively load the unstable two-port so that K=1, and then
simultaneously conjugately match the input and output ports. G_MSG is therefore equivalent
to G_MAX with K=1. In terms of admittance parameters:
For G_MAX_Z1:
For G_MAX_Z2:
For G_MAX_Y1:
For G_MAX_Y2:
where NFMIN≥1. For input source impedance values other than ZOPT, the Noise Figure
varies as a function of the input source reflection coefficient, according to:
The PrimeSim HSPICE Noise Figure measurement (NF) returns the noise figure value if
the input terminates in the port characteristic impedance (that is, ). This value is:
c11 8 9 2.06pf
c12 9 0 4.3pf
l5 9 10 200.97nh
c13 10 out 2.97pf
To extract the S-parameters, port elements are inserted at the input and output of the filter.
p1 in 0 port=1
p2 out 0 port=2
Set up the linear analysis to extract the S-parameters of the filter. The center frequency of
the filter is 250 MHz.
.ac lin 250 200meg 300meg
.lin format=touchstone
Probe the magnitude and phase of the input return loss (S11), the insertion loss (S21) and
the input impedance (zin).
.probe ac s11(db) s11(p) s21(db) s21(p)
.probe ac zin(1)(m) zin(1)(p)
The frequency in the passband where the input impedance is 50 ohm and the phase in the
passband where the input impedance is 50 ohm can be measured.
.meas ac cross50 when zin(1)=50 td=230meg
.meas ac phase50 find zin(1)(p) when zin(1)(m)=50 td=230meg
Syntax
.LIN … [ mixedmode2port= dd|dc|ds|cd|cc|cs|sd|sc|ss ]
The following keywords in the .PRINT and .PROBE statements specify the elements in the
mixed mode S-parameter matrices:
Sxy|Yxy|Zxy nm (t)
Argument Description
m, n port number
Defaults
Availability and default value for the mixedmode2port keyword depends on the port
configuration.
Example 1
p1=p2=single
where:
• Available: ss
• Default: ss
Example 2
p1=p2=balanced
where:
• Available: dd,cd,dc,cc
• Default: dd
Example 3
p1=balanced p2=single
where:
• Available: ds,cs
• Default: ds
Example 4
p1=single p2=balanced
where:
• Available: sd,sc
• Default: sd
*.printac# Output from the .PRINT statement. Available in PrimeSim HSPICE when .option
LIS_NEW is set.
*.sc# The extracted S-parameters/2-port noise parameters are written to a *.sc# file by
using the S-element format. If you want to simulate the S element, you can reference
the *.sc# file in your netlist.
.MODEL mname S
+ N=numOfPorts FQMODEL=SFQMODEL TYPE=S Z0=*** *** ...
.MODEL SFQMODEL SP N=numberOfPorts SPACING=POI
INTERPOLATION=LINEAR MATRIX=NONSYMMETRIC
+ DATA= numberOfData
+ freq1
+ s11real s11imag s12real s12imag ... s1Nreal s1Nimag
...
+ sN1real sN1imag ... sNNreal sNNimag
...
...
+ freqNumberOfData
+ s11real s11imag s12real s12imag ...s1Nreal s1Nimag
...
+ sN1real sN1imag ... sNNreal sNNimag
The 2-port noise section starts with “*” so that you can include this file in your PrimeSim
HSPICE input netlists.
Features Supported
LIN analysis in PrimeSim HSPICE supports the following features:
.LINsupported features
• Automatic calculation of bias-dependent S, Y, and H parameters. No additional sources
required.
• Calculation of noise parameters (triggered by options).
• Calculation of group delay matrices (triggered by options).
In addition, PrimeSim HSPICE supports all existing PrimeSim HSPICE models for noise
analysis; PrimeSim HSPICE view port 1 as the input and port 2 as the output.
• The necessary number of port (P) elements, numbered sequentially beginning with
one to define the terminals of the multi-port network. For example, a two-port circuit
must contain two port elements with one listed as port=1 and the other as port=2. The
port elements define the ordering for the output quantities from the .LIN command (for
example, the terminals for port=1 are used for S11, Y11, and Z11 measurements).
Much of the LIN analysis is automated so the PrimeSim HSPICE input netlist often does
not require the following:
• AC signal sources. The .LIN command computes transfer parameters between the
ports with no additional AC sources needed.
• DC sources. You can analyze a purely passive circuit without adding sources of any
kind.
The following tutorial example shows how to set up a LIN analysis for an NMOS low noise
amplifier circuit. This netlist is shipped with PrimeSim HSPICE distribution as gsmlna.sp
and is available in the following directory: $installdir/demo/hspice/rf_examples/.
Compare this analysis to the use of the .HB command on the same circuit. See Example
2 — Using HB Analysis for a Low Noise Amp in the PrimeSim HSPICE User Guide:
Advanced Analog Simulation and Analysis.
This invokes a LIN analysis and activates noise calculations and S- parameter output
files in Touchstone format.
• Two port elements:
P1 rfin gnd port=1 z0=50 dc=0.595
Specifies that an input port is assumed between terminals rfin and ground, that it is
has a 50 ohm termination, and it has a built-in DC bias of 0.595 V. The output (second)
port is:
P2 rfo _vdd port=2 z0=255
This syntax specifies that the output port is between terminals rfo and _vdd, and is
being used as a pull up resistor with impedance of 255 ohm.
• A .PRINT command for plotting the output S-parameters in dB and the noise figure
minimum.
To run this netlist, type the following command:
hspicerf gsmlna.sp
4. Select the S(1,1) and S(2,2) signals in the signal browser. Drag and drop the selected
signals in the Smith Chart.
5. Select Polar Plot from the Panel section of the Waveform tab to open a blank Polar
chart.
6. Select the S(2,1) signal in the signal browser. Drag and drop the signal in the Polar
chart to plot the complex gain of the LNA.
7. Click the Open Waveform icon and select the gmslna.ac0 file from the Open:
Waveform Files dialog box.
8. Click the WaveView icon in the Add section of the Waveform tab to open a new
waveview.
9. Select the g_as (associated gain), k_stability_factor (Rollet stability factor) and nfmin
(the noise figure minimum) signals in the signal browser. Drag and drop the selected
signals in the new waveview.
References
[1] Goyal, Ravender. “S-Parameter Output From SPICE Program”, MSN & CT, February
1988, pp. 63 and 66.
[2] Robert J. Weber “Introduction to Microwave Circuits”, IEEE Press.
[3] Behzad Razavi, “Design of Analog CMOS Integrated Circuits”, McGraw Hill.
[4] Reinhold Ludwig, Pavel Bretchko, “RF Circuit Design Theory and Applications”.
[5] G.D. Vendelin, Design of Amplifiers and Oscillators by the S-Parameter Method, John
Wiley & Sons, 1982.
[6] R.S. Carson, High-Frequency Amplifiers, 2nd Edition, John Wiley & Sons, 1982.
[7] G. Gonzalez, Microwave Transistor Amplifiers: Analysis and Design, 2nd Edition,
Prentice-Hall, 1997.
[8] M.L. Edwards and J.H. Sinsky, “A single stability parameter for linear 2-port networks,”
IEEE 1992 MTT-S Symposium Digest, pages 885-888.
[9] H. Rothe and W. Dahlke, “Theory of noisy fourpoles”, Proc. IRE, volume 44, pages
811-818, June 1956.
[10] David E. Bockeman, “Combined Differential and Common-Mode Scattering
Parameters: Theory and Simulation,” IEEE trans. on MTT Volume 43, Number 7, Jul.
1995.
3
Statistical Eye Analysis
eye diagram techniques enable you to quickly and accurately evaluate eye diagrams and
BER.
PrimeSim HSPICE includes several full demonstration examples for your use:
• For paths to the StatEye demo files, see Signal Integrity Examples in the PrimeSim
HSPICE User Guide: Demonstration Netlists for paths to the StatEye demo files.
• For a demonstration of Stateye analysis, go to https://www.synopsys.com/verification/
ams-verification/hspice.html and click PrimeSim HSPICE TIPS & TRICKS to load the
Eye Diagrams (PrimeSim HSPICETips & Tricks #2) mini webinar.
• For a discussion of the StatEye feature working with IBIS-AMI, see Chapter 9, Using
IBIS-AMI Equalizer Models with StatEye.
• For a mini webinar demo of StatEye with IBIS-AMI, see https://www.synopsys.com/
verification/ams-verification/hspice.html > PrimeSim HSPICE TIPS & TRICKS > IBIS-
AMI (PrimeSim HSPICE Tips & Tricks #3).
The following sections discuss these topics:
• Understanding StatEye Analysis in PrimeSim HSPICE
• Statistical Eye Analysis Setup
• Determining Number of Bits Simulated in Statistical and Bit-by-bit Modes
• Edge Control
• Capturing Steady State Noise for Power Integrity
• Duty Cycle Distortion
• Capturing DCD Effect on System Clock
Equation 6
Equation 7
Then, the BER can be evaluated as an accumulation of probability density from the center
of the eye up to the target voltage point as:
Equation 8
where, is the center of the eye diagram. Assuming a given bit stream’s even probability
for each symbol, the boundary conditions of the BER are given as:
Equation 9
Use the port element to designate the incident (input) and probe (output) ports for the
system under analysis. You can specify ports can as single-ended or mixed-mode. You
stateyeanalysis setup
can apply random jitter to each incident and probe point in the system.
Each incident port acts as random bit pattern source with specified voltage magnitude. .
Probe ports function as observation points where you can define .PRINT, .PROBE, and
.MEASURE statements.
To perform the statistical eye diagram analysis, use the analysis command .STATEYE.
The following sections discuss these topics:
• Port Element Configuration
• .PRINT and .PROBE Syntax
• Output Data
• .MEASURE Syntax
• Understanding the Worst Pattern Measurement Result
• Understanding n-UI Accumulated Clock Period Jitter Measurements (RMS/PP)
• Sample Measurements
• Output
• Saving and Reusing Initial Transient Results
• Examples - Statistical Analysis Setup
• Example – StateEye Crosstalk using W Element
You can print or probe the following statistical eye diagram analysis:
• Eye diagram at a port
• Bit error rate map at a port
• Bathtub curve of the bit error rate at a port for specified voltage
• Bathtub curve of the bit error rate at a port for a specified time
• Emphasis (see Pre-Emphasis and De-Emphasis)
• Duty cycle distortion (see Duty Cycle Distortion)
• Perjitter analysis (see Periodic and Random Jitter Effect)
For P-element syntax, refer to Identifying Ports with the P-element.
If you define port elements, but do not specify them as incident or probe ports, PrimeSim
HSPICE assumes them to be DC voltage sources with no time dependence.
where:
• eye(port_idx) specifies the port to output the eye diagram.
• eyeBW(port_idx)specifies the port to output the eye diagram as black and white data.
• eyeC(port_idx) specifies the port to output the eye diagram as contour data (see
Figure 8).
• eyeV(port_idx,v)specifies the port to output as a cross-section of the eye diagram at
specified port at a specified voltage.
• eyeT(port_idx, t) specifies cross-section of the eye diagram at specified port at a
specified time.
• ber(port_idx) specifies the port to output the bit error rate.
• berC(port_idx, ber_value)) specifies the port to output the bit error rate as contour
data (see Figure 8). When BER_value is specified, the output contains single contour
at a given BER level. When no BER_value is specified, multiple contour levels are
included. See also BERC_Levels keyword description for more information about
contour levels.
• bathtubV(port_idx, v) specifies the port and voltage to output a bathtub curve.
• bathtubT(port_idx, t) specifies the port and time to output a bathtub curve.
• eyeUF(port_idx, bit_idx, bit_idx2)specifies the port and bit index to output
an unfolded time domain waveform (see Unfolding Statistical Eye Diagrams to
Waveforms). When one bit index is specified, StatEye outputs a time domain waveform
around the specified bit position. When two bit indices are specified, StatEye outputs a
bit stream waveform from the first index to the second index. In this case, you can use
“-1” for either or both indices where -1 in the first argument means the beginning of the
simulation and -1 in the second argument means the end of the simulation.
Output Data
This section discusses output for .PROBE, .PRINT, and.MEASURE commands and initial
transient results.
Probing Output
The .probe stateye command generates netlist.stet# and netlist.stev# for
following purposes:
• netlist.stet#: eye(t,v), eyeBW(t,v), eyeV(t), ber(t,v) and bathtubV(t)
• netlist.stev#: eyeT(v) and bathtubT(v)
Printing Output
The .print stateye command generates the data directory netlist.printSte#/. Then
the command stores a convenient gnuplot script for each .print stateye target with
necessary data files. For example:
• The .print stateye eye(2) statement creates the netlist.printSte0/eye_2.plt
script file.
• The .print stateye bathtubV(2,0.1) creates the netlist.printSte0/
bathtub_2_0.1000e+00.plt script file.
On the gnuplot command shell, you can load these scripts directly to display the target
data. For example:
% gnuplot
gnuplot> load "printSte0/eye_2.plt"
gnuplot> load "netlist.printSte0/bathtub_2_0.1000e+00.plt"
Measurement Output
The .measure stateye command generates the netlist.mste# file and stores the
measurement results.
StatEye Initial Transient Results
Storage of probe and measurement results takes place in the netlist.pNeM.tr# files,
where:
• N: Incident port index
• M: Edge index
• #: Alter index
Typically, netlist.p1e1.tr0 is the probe result file for the pulse response of the first
incident in single edge mode.
.MEASURE Syntax
You can measure the following statistical eye diagram analysis results:
eyetypemeasure syntax, StatEyeStateyeeyetype measurements
• Vertical eye opening at a specified time
• Horizontal eye opening, RMS, and peak-to-peak jitter at a specified voltage
• A bit pattern that produces the worst eye opening at a specified time in a high or low
state (See Figure 9.):
• Crosstalk measurement
• Accumulated period jitter, RMS, and peak-to-peak with the lowest target probability
specified as a tolerance (default is tol=1e-20)
Figure 9 Measurements show vertical and horizontal eyes, worst bit pattern, and voltage
with time eye
where:
• Veye port_idx [time=val] [tol=val] specifies the measurement port, time, and
tolerance for the vertical eye opening. (For more on tol, see Vertical/Horizontal Eye-
Opening Tolerance.) If you do not specify time, PrimeSim HSPICE measures the
maximum eye height and reports the time of the maximum eye opening in the listing
file. eyetype=1 (default) specifies a PDF-based eye opening measurement. eyetype=2
specifies a BER- based eye opening measurement.
• Veye_AVG port_idx[tol=val] specifies the measurement port and tolerance for
the average eye opening. (For more on tol, see Vertical/Horizontal Eye-Opening
Tolerance.) This measurement computes the average vertical eye opening over the
time interval for which eye height is nonzero.
Without random jitter, changes to the tolerance value have little effect on the eye-opening
result. Confirm this by viewing vertical/horizontal PDF/BER cross sections (eyeT, eyeV,
bathtubT, and bathtabV). Then, if you add random jitter to the eye, you can see the
usefulness of the tol=val control since random Gaussian distribution is unbounded. Thus
PDF/BER never reach zero.
Worst Bits Output Format
In the worst bits output, the number within parenthesis is the incident port index which
becomes important when you have multiple data lanes that include the effect of crosstalk.
In case of a multiple data lane system, the worst bits result that looks something like:
(1)00111111100(2)11110111101
This means that you will get the worst possible eye edge with this bit combination at the
two incident inputs.
In cases that have different bit lengths, the worst bits result that looks something like:
(1)01111(3)1111111111111101
The shorter bit sequence is left padded with don’t cares (-):
Incident port 1 bit sequence: -----------01111
Incident port 3 bit sequence: 1111111111111101
The values of the preceding bits do not matter and will still produce the worst bits.
The worst patterns set above consists of two N patterns where N is the number of
incidents including main signal and bits from crosstalk aggressors. Each pattern contains
header part and body (pattern) part. The header part contains 1, 2 or 3 numbers
depending on the StatEye analysis set up as follows:
1. When using the multilevel (PAM-N) logic, the header format contains 3 numbers:
(port_index : bit_index : symbol_index)
where,
◦ port_index is the input port index.
◦ bit_index is the bit position of the right most bit of the worst pattern.
◦ symbol_index is the symbol position corresponding to the bit position.
For example, Figure 10 indicates that, the signal from port-1 produces the worst
waveform situation at 40286-th bits, which means the 20143-th symbol (PAM-4 in this
case). And the worst pattern displays the pattern towards the worst point. Here, the
right most bit represents the 40286-th bit.
where,
◦ port_index is the input port index
◦ bit_index is the bit position of the right most bit of the worst pattern.
In DCD_mode=2, narrow and wide clock cycles toggle. When positive DCD is given to
the incident port, the bits in odd indices are in narrow cycle and bits in even indices are
in wide cycle.
where,
is the nUI accumulated period jitter.
and are the ideal period and the period at the p-th bit/symbol position.
Sample Measurements
.StatEye …
+ WORST_WAVEFORM=1
* 1 : worst waveform into binary (tr0) file
* 2: worst waveform into text (.txt) file
.measure stateye wst_h WorstBits 3 time=0e-12 state=high
.measure stateye wst_l WorstBits 3 time=0e-12 state=low
.measure stateye wst2_h WorstBits 3 time=70e-12 state=high
.measure stateye wst2_l WorstBits 3 time=70e-12 state=low
Output
****** Measured values for the netlist ***********************
worst_h= (1)000000000000000000010(2)000011111111111110101
worst_l= (1)100000111111011111101(2)110000110000010000010
worst2_h= (1)000000000000000000010(2)000011011111111110110
worst2_l= (1)100000111111011111101(2)110000010000010000001
% ls my_netlist.steuf0/
worst3_0.000000e+00_h.tr0 worst3_7.000000e-11_h.tr0
worst3_0.000000e+00_l.tr0 worst3_7.000000e-11_l.tr0
Figure 13 Output
loading function you can import externally generated pulse/step responses. The .StatEye
command takes the Save_tr and Load_tr keywords for such purposes.
For the save/load functionality, the name of data storage directory is netlist.save#/ (#:
alter number). In the storage directory, StatEye saves/seeks the following files for each
purpose:
• incident#.txt stores pulse responses (for Edge=1)
• incident#_r.txt stores rising step responses (for Edges=2)
• incident#_f.txt stores falling step responses (for Edges=2)
• incident#_eN.txt, N is 1-4 for Edges=4
• incident#_eN.txt, N is 1-8 for Edges=8
where # is the index number (PORT=n) of the incident port element. Save/Load data
files are in simple table data format. The first column is always the “time” entry then
probe# (# index number (PORT=n) of the probe port element) entries follow in the order of
probe_port keyword specification in the .StatEye statement.
Example (stateye.save0/incident1.txt)
time probe1 probe2
0.0000000000e+00 -4.9945800254e-01 0.0000000000e+00
1.0000000000e-12 -4.9945800254e-01 2.7317300241e-17
2.0000000000e-12 -4.9945800254e-01 7.4348539204e-17
3.0000000000e-12 -4.9945800254e-01 1.3213235524e-16
...
* Subcircuit definition
.subckt CONN _in _out
Rtest _in _out 50 RS=1e-3 $ skin effect resistor
Cin _in 0 0.3p
Cout _out 0 0.3p
.ends
* print and probe statements to output stateye results
* output eye diagram in color and black and white at the probe port
* output bit error rate (ber) at the probe port
.probe stateye eye(2) ber(2) eyeBW(2)
.print stateye eye(2) ber(2) eyeBW(2)
* print and probe statements to output bathtub curves
* Output bathtub curve at a time point and bathtub curve at a voltage
point
.probe stateye bathtubT(2,1e-11) bathtubV(2,0.0)
.print stateye bathtubT(2,1e-11) bathtubV(2,0.0)
* Print and probe statements to output the eye size
* Output eye cross section at a time point and at a voltage point
.probe stateye eyeV(2,0.0) eyeT(2,1.0e-11)
.print stateye eyeV(2,0.0) eyeT(2,1.0e-11)
* Measurement statements
* measure the vertical eye size at a time point
* measure the horizontal eye size at a voltage point
* measure the worst bits at a time point
.measure stateye veye1 Veye 2 time=1e-11 tol=1e-10
.measure stateye heye1 Heye 2 volt=0.0 tol=1e-10
.measure stateye worst1 WorstBits 2 time=10p
.end
P1 in1 0 port=1
+ LFSR (1 -1 0 '0.01*_BR' '0.01*_BR''1.0/_BR' 1 [13,5,2] )
P2 in2 0 port=2
+ LFSR (1 -1 0 '0.01*_BR' '0.01*_BR''1.0/_BR' 1 [15,14,6,1] )
P3 in3 0 port=3
+ LFSR (1 -1 0 '0.01*_BR' '0.01*_BR''1.0/_BR' 1 [14,13,2,1] )
P4 out1 0 port=4
P5 out2 0 port=5
P6 out3 0 port=6
.param _BR=0.1n
W1 in1 in2 in3 gnd out1 out2 out3 gnd FSmodel=line3 N=3 l=0.1
+ delayopt=3
+ includegdimag=yes
.layerstack stack1
+layer=(copper,10e-6)
+layer=(diel,200e-6)
.end
Ports 1, 2, and 3 are incident ports. Ports 4, 5, and 6 are termination ports; and port 4 is
designated as probe port in the StatEye analysis.
The crosstalk measurement on port 4 is written in the .mste0 file and lists the magnitude
of the crosstalk noise from each.
The PrimeSim HSPICE demonstration example, xt_meas.sp, is in $installdir/demo/
hspice/si/stat_xtalk.
Statistical Mode
The number of bits simulated is directly related to the length of the pulse response. The
pulse response length is reported in the log file (.lis). For example if the length reported
8.5
is 8.5T where T is the length of the UI, the number of bits simulated is 2 = 362 bits. To
increase the number of bits, use keyword ISI_DEPTH (Iter-Symbol Interference Depth)
in the .STATEYE command. Specifying ISI_DEPTH=20, the number of bits simulated is
20
2 =1048576.
Note:
By default, PrimeSim HSPICE determines the length of the time window (8.5T)
based on settling of the pulse response within a certain tolerance.
For example:
When ISI_DEPTH=5, all possible bit patterns simulated are:
00000
00001
00010
00011
.
.
11100
11101
11110
11111
The STATEYE analysis produces the output of all possible patterns above and generates
corresponding eye diagram. This can be thought of as a sequence of these bits
combination.
ISI_DPETH
The length of the sequence above becomes 2 =32 bits
The .STATEYE TRAN_INIT option limits the initial transient to 60 UIs. This would limit the
ISI_DEPTH in case ISIS_DEPTH is specified higher than TRAN_INIT.
Note:
The first all zero does not practically occur in PRBS (LFSR cannot have
seed=0). But statistically, all zero and ones are possible patterns.
Bit-by-bit Mode
When port elements are specified as LFSR or PAT sources, by default .STATEYE analysis
is run in bit-by-bit mode. The length of the simulated pattern determines the number of bits
simulated.
In the STATEYE transient mode (mode=tran), the number of bits is set by default to
1000 (MAX_BITS=1000). When edge mode (mode=edge) is used the number of bits
21
is 2 = 2097152 (approximately 2million bits). MAX_BITS and PATTERN_REPEAT can be
increased if more bits are desired. For more information, see keywords PATTERN_REPEAT
and MAX_BITS in the .STATEYE section of the PrimeSim Continuum Reference Manual:
Commands and Control Options.
Switching from bit-by-bit mode to statistical mode can be achieved by adding
MODE=STATISTICAL in the STATEYE analysis.
Edge Control
Statistical eye analysis method generates eye diagrams by superposing single bit
StatEyeedge control
responses based on symbols in a given bit stream. While the statistical approach
significantly reduces the computational cost for eye diagram generation compared to the
conventional transient-based approach, it may not be accurate when the target system is
strongly nonlinear.
Typical accuracy degradation occurs when a nonlinear buffer is imbalanced and the
negative pulse response becomes different from a positive one. In these cases, an
eye diagram becomes virtually nonsymmetric (Figure 15). As a result, the conventional
statistical method is unable to capture an eye diagram with great accuracy due to
imbalanced buffer.
To overcome the difficulty, you can use the Edge keyword in the .STATEYE command.
Here you can represent a pulse response, P(t), by using the rising edge step, R(t), and
falling edge step, F(t), responses with T as the unit interval (width of the input pulse):
Here, since nonlinear buffers usually have circuit-bias dependencies, you must specify
these edge response acquisitions at desired bias points. Then the statistical process
must correctly account for these bias points. Because of the double edge-based statistical
computations, the .STATEYE command realizes higher levels of consistency with
conventional transient-based results (Figure 16).
when IBIS-AMI filtering objects are attached to incident and/or probe port, transient probe
data in netlist.e0.tr# mean:
1. Probe data at incident terminals are waveforms filtered by transmitter side AMI model
(output from AMI).
2. Probe data at probe terminals are waveforms to be filtered by receiver side AMI model
(input to AMI).
To see the time domain waveforms filtered by receiver side AMI object, use:
.param UI=0.1n
.param trf = 'UI*0.1'
.param opfreq = '1.0/UI'
.param tstop='500*UI'
.stateye
+ T='UI' trf='trf'
+ incident_port=1 probe_port=1 2
+ mode=tran
+ STREAM_FILE='tran_wdf.tr0'
+ STREAM_SIGNAL='v(inp,inn)' 'v(outp,outn)'
+ ignore_bits=100
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 100
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Edge Control
.end
For a system with highly nonlinear memory effect in drivers and receiver circuits, Figure 17
shows a comparison of resulting eye diagrams from transient analysis versus StatEye
with Edge=1, 2, 4, and 8. As the number of edge patterns increases, you can model higher
nonlinearity accurately.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 101
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Capturing Steady State Noise for Power Integrity
Figure 17 Edge mode comparisons with transient analysis-based eye diagram (top)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 102
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Capturing Steady State Noise for Power Integrity
When input data independent steady state noise appears, StatEye’s edge superposition
algorithm requires special handling of such noise components; otherwise effect may
be over counted because the same noise appears on the top of all the edge response
waveforms as shown in Figure 19. As a result, eye diagram may become overly
pessimistic as shown in Figure .
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 103
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Capturing Steady State Noise for Power Integrity
To accurately account the steady state noise, StatEye introduces the steady_state
keyword. With this keyword, StatEye precharacterizes the steady state noise, removes the
noise effect from edge responses, and then performs edge superposition.
Finally, precharacterized steady state noise convolves to obtain the overall system eye
diagram accurately as shown in Figure 20.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 104
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Capturing Steady State Noise for Power Integrity
• When running StatEye with steady_state=1, the tool performs the noise
characterizations on logical low state.
• When running StatEye with steady_state=2, the tool performs the noise
characterization on low and high states.
* incident/probe ports
P1 1 0 port=1 pat (voh vol tper tr tr dbit sw1)
P2 2 0 port=2
P3 3 0 port=3 LFSR (pvdd 0 tdq 'tr' 'tr''1/dbit' 1 [20,14,5,2]
P4 4 0 port=4 LFSR (0 pvdd tdq 'tr' 'tr''1/dbit' 1 [20,14,5,2]
P5 5 0 port=5
P6 6 0 port=6
P7 7 0 port=7
P8 8 0 port=8
* clock pattern
.pat sw=
b0101010101010101010101010101010101010101010101010101010101010101
R=100000
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 105
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Capturing Steady State Noise for Power Integrity
.end
Reusing edge responses from initial transient analysis on the original PDN circuit, StatEye
generates edge superposition-based eye diagram (PDF) of the simultaneous switching
noise and writes it in the make_ssn.stev0 file. The probability distribution matures as
you increase max_pattern in .StatEye command. Also, make_ssn.steuf0/ directory
contains reproduced SSN (time domain) waveform.
The PrimeSim HSPICE demonstration example, make_ssn.sp, is in $installdir/demo/
hspice/si/ddr_sso/MakeSSN.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 106
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Duty Cycle Distortion
* clock pattern
.pat sw=
b0101010101010101010101010101010101010101010101010101010101010101
R=100000
.pat start= b00
.pat sw1=start sw
* incident/probe ports
Pvdqsd ins 0 port=1 Z0=0.0 pat (voh vol tper tr tr dbit sw1)
Pvdqd indq1 0 port=3 Z0=0.0 LFSR (pvdd 0 tdq 'tr' 'tr''1/dbit' 1
[14,5,2]
Pdqdv indq2 0 port=4 Z0=0.0 LFSR (0 pvdd tdq 'tr' 'tr''1/dbit' 1
[14,5,2]
P6 2 0 port=6
P7 3 0 port=7 $ w/o SSN
P8 4 0 port=8
.end
Reusing edge responses from initial transient analysis on the original nonlinear netlist,
StatEye performs edge superposition based eye diagram generation. Then second alter
adds SSN jitter on victim output.
add_ssn.stet0 : without SSN
add_ssn.stet1 : with SSN
(DCD) effect. DCD occurs when transmitter drivers show unwanted fluctuation in their
logical threshold. When the logical threshold value shifts higher than its ideal value, a
transmitter's output has a longer low state than expected (Figure 21).
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 107
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Duty Cycle Distortion
DCD typically displays the eye diagrams. StatEye analysis with the double-edge mode
(Edge=2) is capable of evaluating this effect.
Figure 22 DCD_TYPES
(2) 10% triangular DCD variation (3) 10% sinusoidal DCD variation
DCD Aids in .STATEYE analysis; specifies peak percentage of the duty cycle distortion
(DCD). Default is 0.
DCD_TYPE Aids in .STATEYE analysis; specifies variation type. Default type for non-zero
DCD is 1 (constant).
• 0: No DCD
• 1: Constant DCD
• 2: Uncorrelated triangular DCD variation
• 3: Uncorrelated sinusoidal DCD variation
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 108
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Capturing DCD Effect on System Clock
DCD Example
* StatEye w/ 10% DCD
.param _BW=0.05n
.param trf = '_BW*0.01'
.param opfreq = '1.0/_BW'
P1 in 0 port=1
+ DCD=10 DCD_TYPE=1 $ adds 10% constant DCD
P2 out 0 port=2
X1 in out CONN
st nd rd
Under such condition, primary bit (1 2 3 …) sequence is in narrower cycle and
nd th th
secondary bit (2 , 4 , 6 …) sequence is in wider cycle or vice versa depending on the
sign of DCD on the system clock.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 109
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Periodic and Random Jitter Effect
To capture this effect, StatEye analysis with the designated keyword DCD_mode=2
generates probability density function (PDF) eye diagrams for primary and secondary
sequence separately as shown in Figure 24 . And these two PDFs will be merged. This
method prevents inter-sequence crosstalk from being miscounted; therefore resulting eye
diagrams as well as worst bit pattern measurements accurately capture the system clock
DCD effect. The DCD_mode=2 supports constant DCD only.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 110
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Periodic and Random Jitter Effect
Periodic Jitter
Periodic jitter is an effect of unwanted periodic voltage/time interferences added to the
target signal. For example, an electromagnetic field from a power supply line adds a low
frequency sinusoidal voltage variation to the target signal. When a periodic interference
appears at an incident port, the shaping of the jitter is due to channel characteristics
before appearing at probing points (see Figure 26). StatEye analysis can evaluate this
type of effect. Incident and/or port elements take PJ and PJ_TYPE keywords to specify
periodic jitter.
(2) 100-mV pp uncorrelated triangular Tx-PJ (3) 100-mV pp uncorrelated sinusoidal Tx-PJ
Equation 10
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 111
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Periodic and Random Jitter Effect
The VN keyword adds vertical uncertainty by specifying the standard deviation of the
Gaussian random voltage noise.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 112
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Periodic and Random Jitter Effect
Equation 11
Then, the RMS jitter value can relate to the RJPP with a specific BER by using the inverse
of complementary error function as:
Equation 12
Equation 13
Note:
An RMS Jitter specification overrides a peak-to-peak jitter specification.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 113
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Periodic and Random Jitter Effect
P-element statement Px n1 n2 … Px n1 n2 …
+ JITTER_FILE=jit_t.txt + JITTER_FILE=jit_v.txt
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 114
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Periodic and Random Jitter Effect
Syntax Description
RJ Random jitter aids in .STATEYE analysis. Specifies an array of the real numbers for the standard
deviation of the Gaussian random jitter. By default, StatEye adds no random timing jitter. RJ=val
overrides RJPP and RJPP_BER keywords.
RJ_MEAN Specifies an array of the real numbers for the mean values of Gaussian random jitter specified by
the RJ keyword. Default mean value for nonzero RJ is zero.
PJ Aids in .STATEYE analysis. Specifies an array of real numbers for peak-to-peak values of periodic
jitter in voltage or time. Default is 0.
PJ_TYPE Aids in .STATEYE analysis. Specifies an array of integer number for periodic jitter variation type.
Default type for nonzero PJ is 3 (uncorrelated sinusoidal voltage variation).
• 0: No periodic jitter
• 1: Constant voltage shift
• 2: Uncorrelated triangular voltage variation
• 3: Uncorrelated sinusoidal voltage variation
• 4: Constant time shift
• 5: Uncorrelated triangular time variation
• 6: Uncorrelated sinusoidal time variation
VN Random voltage noise aids in .STATEYE analysis. Specifies an array of real numbers for the
standard deviation of the Gaussian random noise. By default, StatEye adds no random noise.
VNPP_BER BER for the peak-to-peak jitter specification with voltage noise (VN)
P1 in 0 port=1
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 115
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
N-Cycle Jitter Modeling for Data and Clock Signals
+ PJ=1e-1 PJ_TYPE=2
P2 out 0 port=2
X1 in out CONN
First WaveView (alter_0): port-3 shows no jitter, port-4 (bottom) has jitter. This is
because DQ and DQS have same in-phase jitter canceling out.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 116
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
N-Cycle Jitter Modeling for Data and Clock Signals
In WaveView (alter_1), port-3 shows 2x the jitter of port-4. This is because the DQ and
DQS jitter is out of phase (4.5*CLK_skew).
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 117
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
N-Cycle Jitter Modeling for Data and Clock Signals
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 118
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
N-Cycle Jitter Modeling for Data and Clock Signals
Top: DQ (w/ and w/0 jitter. Bottom: DQS (w/ w/o jitter)
Since skew is within a UI, you can see the same jitter at each edge transition between
DQ and DQS. Therefore, if you use the DQS as trigger, the jitter is canceled.
Top: DQ (w/ and w/o jitter ) bottom DQS (w/ and w/o jitter)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 119
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Pre-Emphasis and De-Emphasis
Since skew is within more than UI, the different jitter is observed at each edge
transition between DQ and DQS.
components in the rising and falling edges of the digital bit streams becomes significant.
de-emphasisStatEyeunfolding waveforms
To compensate for the loss, preshaping the incident waveform to increase the amount
of high frequency components becomes essential. You can use techniques called
pre-emphasis and de-emphasis for this purpose. Pre-emphasis adds high frequency
components to the rising and falling edges of the incident waveforms as shown in purple in
Figure 32. The de-emphasis voltage swing from the waveform portions specifies time after
the rising and falling edges. The red waveform in Figure 32 illustrates that the rising and
falling edges are also de-emphasized.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 120
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Pre-Emphasis and De-Emphasis
De-emphasized pulse
You can achieve clearer eye openings by using these emphasis techniques for the same
system with the same digital symbol voltage level as shown in Figure 33.
Figure 33 The effect of incident pre-emphasis: (left) original eye diagram; (right) eye diagram
with additional 30% of pre-emphasis to the incident port
Figure 34 shows how the amount of pre- or de-emphasis represents a fraction of 1. For
example, an emphasis_level = -.5 (or 50%) would correspond to 6-dB transmitter de-
emphasis.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 121
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Pre-Emphasis and De-Emphasis
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 122
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Pre-Emphasis and De-Emphasis
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 123
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Pre-Emphasis and De-Emphasis
Vxxx n+ n- LFSR [(] vlow vhigh tdelay trise tfall rate seed
+ [[] taps []] [rout=val] [)] [Emphasis_Level=val]
+ [Emphasis_Time=val]
Ixxx n+ n- LFSR [(] vlow vhigh tdelay trise tfall rate seed
+ [[] taps []] [rout=val] [)][Emphasis_Level=val]
+ [Emphasis_Time=val]
Usage Examples
• Example 1: Pre-Emphasis
• Example 2: De-Emphasis
Example 1: Pre-Emphasis
In this example, the voltage source Ve adds to the
original pulse waveform to emphasize the rising and falling edges of the original pulse
(Figure 35).
.param Vmag = 1.0
.param T = 3.33n
.param trf = 'T/20'
.param td = 4.5n
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 124
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Pre-Emphasis and De-Emphasis
Example 2: De-Emphasis
In this example, the voltage source Vde applies de-emphasis by adding
to the original waveform. A negative
Emphasis_Level specifies the de-emphasis. Figure 36 shows the pulse waveform after
you reduce Emphasis_Time in magnitude.
.param Vmag = 1.0
.param T = 3.33n
.param trf = 'T/20'
.param td = 4.5n
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 125
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Built-In DFE Function for Rx Port Element in StatEye Analysis
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 126
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Built-In DFE Function for Rx Port Element in StatEye Analysis
Equation 14
Where:
• xk is the DFE input voltage
• yk is the DFE output voltage
• d is the feedback coefficient
• k is the sample index in UI (bit position)
• m is the relative bit position to be fed back and
• vth is the logical threshold of the system.
An example netlist is provided in the PrimeSim HSPICE demo package in ../demo/
hspice/si/SNPS_AMI/biDFE.sp. This example uses the AMI model which represents a
transmitter-side feed-forward equalizer and a built-in DFE as the receiver-side equalizer.
The following figure compares eye diagrams with and without the DFE effect.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 127
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Built-In DFE Function for Rx Port Element in StatEye Analysis
.StatEye ....
+ incident_port=1, 2
+ probe_port=3, 4
+ Clock_Port=(4, 0.0)
+ Clock_Mode =2
In the preceding statements in the example, the StatEye command sets up one data (DQ)
lane and one clock (DQS) lane. The Clock_Port command specifies port-4 as the probing
point of the DQS signal with trigger at 0V. And Clock_Mode=2 sets the clock jitter injection
as a numerical perturbation sequence. Then, the following statements add timing variation
(PJ) with different frequency to port-1 (DQ input) and port-2 (DQS input).
P1 DQ0_n 0 port=1
+ pj = 10p
+ pj_type=6
+ pj_freq=1e8
+ LFSR (0 1 0 _TRF _TRF _BPS 1 [21,1] )
Finally, to add built-in DFE at receiver side of the DQ lane, the following statements are
used:
Pdq0_f dq0_f 0 port=3
+ DFE_TAP=1 2 DFE_COEFF=0.02 0.01 + DFE_VTH=0.16
+ DFE_CLK=1
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 128
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Perturbation Analysis with StatEye
The results show that a non-ideal clock signal is considered in the DFE slicer.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 129
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Unfolding Statistical Eye Diagrams to Waveforms
P1 in 0 port=1
P2 out 0 port=2
.include 'buff.inc'
x1 in m vdd buffer
x2 m mm vdd buffer First alter with 90-percent VDD
x3 mm out connector
incident port.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 130
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Unfolding Statistical Eye Diagrams to Waveforms
Under this condition, .STATEYE allows the following .PROBE and .PRINT commands to
extract partial time domain waveforms:
.PROBE eyeUF(port_index, bit_index)
.PRINT eyeUF(port_index, bit_index)
PrimeSim HSPICE extracts partial time domain waveforms about the bit stream
location, bit_index, from the resulting eye diagram at a probing port when you specify
port_index. The length of the partial time domain waveform is 100 bits. When -1 is
specified as the bit_index, PrimeSim HSPICE outputs the time domain waveform of the
entire bit sequence.
Note:
• Unfolding of eye diagrams applies only to pattern-specific eye diagram
generation.
• When using -1 as the bit_index, it is strongly recommended to use the
MAX_PATTERN keyword to limit the length of bits, to avoid a very large output
file.
Output
The .PROBE command outputs a binary time domain data file readable to WaveView. The
unfolded time domain files are stored under netlist.steuf#. The naming convention of
the binary data file is:
netlist.steuf#/portN_M
The .PRINT command outputs the text time domain data file under the
netlist.printSte0 directory. The naming convention of the text data file is:
Netlist.printSte#/data_v_t_M_
Also, the .PRINT command produces a script file which you can upload to the gnuplot
program:
Netlist.printSte#/eyeUF_N_M
where #, M, and N are the alter index number, probe port index number, and bit index
number, respectively.
Example: Unfolding StateEye Diagram
An example netlist is provided in the PrimeSim HSPICE demo package in demo/hspice/
si/stateye_unfold.sp. The example PrimeSim HSPICE netlist performs .STATEYE
analysis with an unfolding time domain waveform around the 500th bit (Figure 40).
*
* StatEye Unfolding Example
*
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 131
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Unfolding Statistical Eye Diagrams to Waveforms
.param BW=0.2n
.param trf = 'BW*0.01'
.param opfreq = '1.0/BW'
.param vdd = '3.0'
P1 in 0 port=1 LFSR 0 'vdd' 0 'trf' 'trf''opfreq' 1 [14,9,5,2]
P2 out 0 port=2
x1 in m vdd INV
x2 m mm vdd INV
x3 mm out CONN
.opt post accurate
.StatEye T='BW' TRF='trf' incident_port=1 probe_port=2
+ V_HIGH='vdd' V_LOW=0.0
+ edges=2
.print stateye eye(2) eyeUF(2,500)
.probe stateye eye(2) eyeUF(2,500)
.model nch nmos level=54
.model pch pmos level=54
Vd vdd 0 'vdd'
.subckt inv in out vdd
mn1 out in 0 0 nch l=0.25u w=30u
mp1 out in vdd vdd pch l=0.25u w=60u
.ends
.subckt CONN _in _out
Rtest _in _out 50 RS=1e-3 $ skin effect resistor
Cin _in 0 0.3p
Cout _out 0 0.3p
.ends
.end
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 132
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Multiple Data Rate Eye Diagram Analysis with StatEye
T_factor = n1 [, n2, ... nN] multiplies the unit interval of the incident bit stream at
each port.
Example:
.param _UI=1n
.param _TRF='0.05*_UI'
.stateye
+ T = '_UI'
+ TRF = '_TRF'
+ incident_port= 1 2
+ probe_port= 3 4
+ T_Factor= 1 2 $ UI x2 for 2nd incident
+ save_tr=ascii
+ TD_nUI=4
+ align_eye=sync
This example injects the bit stream with 1 ns unit interval at port 1 and the bit stream with
2 ns unit interval at port 2.
Note:
TD_nUI uses the unscaled unit interval.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 133
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
Known Limitation
-dp command-line argument) in conjunction with multi-threading (or MT, with the -mt
command-line argument) can significantly reduce the overall runtime.
For more information on invoking PrimeSim HSPICE with DP, see Running Multiple
Simulations in the PrimeSim HSPICE User Guide: Basic Simulation and Analysis.
For more information on invoking PrimeSim HSPICE with MT, see Running Multithreaded
Simulations in the PrimeSim HSPICE User Guide: Basic Simulation and Analysis.
Known Limitation
.StatEye assumes an equivalent to a bit stream response that you can obtain by
superposition of single bit responses. This assumption may not apply when you have
strongly nonlinear components in the system under test.
For StatEye analysis, .PRINT, .PROBE, and .MEASURE statements are taken at the probe
port. The statements must match the "probe_port" defined in the .stateye statement.
For example if the .STATEYE command is:
.stateye T='BW' trf='0.1*BW' incident_port=1 probe_port=2
You should identify the probe port in your output statement. The following example shows
valid .PRINT, .PROBE, and .MEASURE statements for this analysis:
.print stateye eye(2) * eye diagram of specified port
.probe stateye eyeV(2,V) * cross-section of eye at V
.print stateye bathtubT(2,T) * port and time for bathtub curve
.probe stateye ber(2) * output BER plot for port
.measure stateye res_name Veye 2 * maximum vertical eye measurement
PrimeSim HSPICE issues no warnings when the port listed in the output statement
matches the probe_port specified in the .STATEYE command.
References
[1] IBIS Version 5.0 Specification:http://eda.org/pub/ibis/ver5.0/ver5_0.txt.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 134
W-2024.09
Feedback
Chapter 3: Statistical Eye Analysis
References
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 135
W-2024.09
Feedback
4
Time Domain Reflectometry
This chapter discusses using digitized time domain reflectometry (TDR) in conjunction with
PrimeSim HSPICE to select design components.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 137
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Basic TDR Impedance Analysis
Use this calculation to graph the response of the transmission line in unit of characteristic
impedance which is often more useful than plotting the voltage of the TDR measured
wave. In at least one case, however, the open circuit termination is more useful to plot the
measured voltage. Note that due to the voltage divider effect, the measured voltage is 1/2
of the incident wave.
The following examples demonstrate classic impedance mismatches and discontinuities:
• Example 1: Short Circuit Termination
• Example 2: Open Circuit Termination
• Example 3: Mismatched Load Termination
• Example 4: Shunt Capacitance Discontinuity
• Example 5: Series Inductance Discontinuity
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 138
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Basic TDR Impedance Analysis
Tp
Tp
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 139
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Basic TDR Impedance Analysis
Z0 >
ZI<>Z0
<
Z0 Z0
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 140
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Testbench Netlist Overview
Z0 Z0
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 141
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Input and Output Ports
In the example shown in Figure 46, a port named “P1” connects between “input1” and
ground and has a characteristic impedance of 50 ohm. It supplies a single 40 ps rising
edge to input1 after a 100 ps delay. If you omit the voltage source argument, the port
serves as a simple termination. Each port must have a unique sequential numerical
designation in the “port=” argument. You also use the P-element in the LIN analysis to
extract S-parameters.
For more information on port elements, see Port Element in the PrimeSim Continuum User
Guide: Elements.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 142
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Simulating the Example DUTs
In a PrimeSim HSPICE trapezoidal pulse source function, specify the risetime from
0-100%.
So, for a 20-80% risetime, multiply the desired risetime by 1.67 to obtain the “tr” parameter
and for a 10-90% measured risetime, multiply the desired risetime by 1.25. For example:
The example testbench below, “An example PrimeSim HSPICE TDR Netlist with DUT3
Uncommented”, is completely functional and uses simple lossless transmission lines
and lumped elements to demonstrate the analysis, but it could just as easily use more
complex W-element or S-parameter models. A differential example follows at the end of
this section, and contains appropriate modifications to the ports, DUTs and equations.
An Example PrimeSim HSPICE TDR Netlist with DUT3 Uncommented
** Single-ended TDR example **
*
.opt post probe runlvl=5
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 143
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Simulating the Example DUTs
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 144
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Troubleshooting: TDR Zo Result Starts at Negative Value
Procedural Notes:
1. Increase the default RUNLVL from 3 to 5 to observe the subtleties in the discontinuities
of the waveforms.
2. Alternately, you can specify: .option runlvl=6 delmax=10p. Since the pulse is
a single event (non-repeating), you can omit the pw (pulse width) and per (period)
arguments, although a warning message is reported. Since delmax forces the
maximum time step length, it may sacrifice the efficiency of the dynamic time
step control. Therefore, unless you have a specific need for dense time points, do
not specify delmax. Uncomment only one DUT at a time to observe the example
discontinuities and impedance mismatches.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 145
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
Differential TDR Example Netlist
the denominator in the Zo equation. Using the formula in Basic TDR Impedance Analysis,
modify the equation as follows:
.probe tran Zo = par('zref*(vincident+vreflect)/
(vincident-vreflect+1e-20)')
The Zo result starts at zero ohm and can be shared without the need to explain the initial
starting impedance.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 146
W-2024.09
Feedback
Chapter 4: Time Domain Reflectometry
References
*
* Pref and Prefterm are a reference source and termination to use
* as the ideal incident wave in the reflection calculation
*
Pref refp refn 0 z0=zref port=3 pulse(vlo vhi td tr tf)
Prefterm refp refn 0 z0=zref port=4
*
* Calculations of the reflected wave and impedance
*
.probe tran vincident = par('v(refp)-v(refn)')
.probe tran vmeasured = par('v(dut_inp)-v(dut_inn)')
.probe tran vreflect = par('vmeasured-vincident')
.probe tran Zdiff
= par('2*zref*(vincident+vreflect)/(vincident-vreflect)')
*
.end
References
TDR Impedance Measurements: A Foundation for Signal Integrity, Copyright © 2001,
Tektronix, Inc.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 147
W-2024.09
Feedback
Part 2 focuses on signal integrity modeling and consists of the following chapters:
• Chapter 5, S-parameter Modeling Using the S-element
• Chapter 6, W- and T-elements Transmission-Line Modeling
• Chapter 7, Using the Field Solver to Extract Tx Line Parameters
• Chapter 8, Using IBIS Files
• Chapter 9, Using IBIS-AMI Equalizer Models with StatEye
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 148
W-2024.09
Feedback
5
S-parameter Modeling Using the S-element
Describes the S-parameter, S-parameter modeling, and other topics related to the S-
element.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 149
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Model
S-parameter Model
You can use small-signal parameters at the network terminals to characterize linear or
S-parameter modelmodelsS-parameter
nonlinear networks that have sufficiently small signals. (For details, see Chapter 2, Linear
Network Parameter Analysis.) After you set the parameters, you can simulate the block
in any external circuit. Designers of high frequency circuits widely use S-parameters to
characterize a linear network.
In multiport networks, S-parameters ( ) take the following definition:
Equation 15
In Equation 15, is an incident wave vector, and is a reflected wave vector, defined as
follows:
Equation 16
Equation 17
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 150
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Using the Scattering Parameter Element
Equation 18
where is the characteristic admittance matrix of the reference system. The following
formula relates to the characteristic impedance matrix:
Equation 19
Equation 20
For detailed information on the S-element syntax and examples, see S-element
(Scattering Parameter Data) in PrimeSim Continuum User Guide: Elements.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 151
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S Model Syntax
S Model Syntax
Use the following syntax to describe specific S models:
S model syntaxsyntaxS model
.MODEL Smodel_name S [N=dimension]
+ [TSTONEFILE=filename | CITIFILE=filename |
+ RFMFILE=file_name.rfm | BNPFILE=filename]
+ [TYPE=s|y] [Z0=value| vector_value]
+ [FBASE=base_frequency] [FMAX=maximum_frequency]
+ [INTERPOLATION=STEP|LINEAR|SPLINE|HYBRID]+ [INTDATTYP=[RI|MA|DBA]]
+ [HIGHPASS=0|1|2|3|4] [LOWPASS=0|1|2|3]
+ [DELAYHANDLE=1|2|0|ON|OFF] [DELAYFREQ=val]
+ [MIXEDMODE=0|1]
+ [DATATYPE=data_string] [XLINELENGTH=val]
+ [NoiPassiveChk [1|0]
+ [SMOOTH=val] [SMOOTHPTS=val]
+ [RATIONAL_FUNC=[0|1] [RATIONAL_FUNC_REUSE=0|1|2]
+ [RATIONAL_FUNC_FOR_AC=0|1]
+ [RATIONAL_FUNC_WINDOWING=[0|1]]
+ [PASSIVE=[0|1] [PASSIVE_TOL=val] [COLSUM_LIMIT=val]
+ [ENFORCE_PASSIVE=0|1] [STAMP=AUTO|Y|S|YSTS|SSTS|DEEMBED]
+ [PRECFAC=val] FQMODEL=sp_model_name
+ [NOISE=[1|0]] [DTEMP=value]
+ [CACHE_DIR=dir_str]
+ [CAUSALITY=[0|1]]
+ [CAUSALITY_FMAX_SCALE = val]
+ [WRITE_CAUSALITY_ENFORCED_FILE = [0|1]]
+ [WRITE_FITTED_FILE = 1|0]
+ [CAUSALITY_ENFORCED_FILE_NAME = file_name]
Keyword Description
N S model dimension, which is equal to the terminal number of an S-element and excludes
the reference node.
TSTONEFILE Specifies the name of a Touchstone file v 1.0/2.0. Data contains frequency-dependent
array of matrixes. Touchstone v1.x files must follow the .s#p file extension rule, where #
represents the dimension of the network.
You can specify the Touchstone file by specifying the filename within single quotes or by
using string parameters.
Example of using str( ) to specify a Touchstone file:
.subckt sparam n1 n2 tsfile=str('ss_ts.s2p') S1 n1 n2 0
mname=s_model .model s_model S TSTONEFILE=str(tsfile) .ends x1 A B
sparam tsfile=str('ss_ts.s2p') ...
For details, see Touchstone® File Format Specification by the IBIS Open Forum
(https://ibis.org/).
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 152
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S Model Syntax
Keyword Description
CITIFILE Specifies the name of the CITI file, which is a data file that contains frequency-dependent
data. Note that string parameters are supported for calling a CITIFILE. For details, see
Using Instruments with ADS by Agilent Technologies (http://www.agilent.com).
RFMFILE Specifies S-element rational function (RFM) file. See Accelerating S-Element Time
Domain Performance with Recursive Convolution.
BNPFILE Specifies Broadband Network Parameter (BNP) file (proprietary). Note that when
using the BNP file, there is no need for INTERPOLATION or LOW_PASS keywords. For
HIGH_PASS, other than all options are HIGH_PASS=4 supported.
Note:
If you get a warning such as BNP file read failure at f=xx, this means that
the BNP API is returning a read failure. It is likely that this BNP file does not cover the
f=xx frequency point.
Z0 (or Zo) Characteristic impedance value of the reference line (frequency-independent). For
multi-terminal lines (N>1), PrimeSim HSPICE assumes that the characteristic impedance
matrix of the reference lines are diagonal, and their diagonal values are set to Z0. You
also can set a vector value for nonuniform diagonal values. Use Z0 to specify more
general types of a reference-line system. The default is 50.
FBASE Base frequency used for transient analysis. PrimeSim HSPICE uses this value as the
base frequency point for IFFT:
• If FBASE is not set, PrimeSim HSPICE uses a reciprocal of the transient period as the
base frequency.
• If FBASE is set to a value smaller than the reciprocal value of transient period, transient
analysis performs circular convolution by using the reciprocal value of FBASE as a base
period.
FMAX Maximum frequency for transient analysis. Used as the maximum frequency point for
IFFT. See Predicting an Initial Value for FMAX in S-Element Models.
INTDATTYP Data type for the interpolation of the complex data. It's used only with linear and spline
interpolation.
• RI: real-imaginary based interpolation.
• DBA: dB-angle based interpolation.
• MA: magnitude-angle based interpolation (default).
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 153
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S Model Syntax
Keyword Description
DELAYHANDLE Extracts the system delay before constructing the system impulse response. This might
improve transient accuracy when the system does have delay, such as a transmission
line system, and RATIONAL_FUNC=0 is used.
When RATIONAL_FUNC=1 (default) is used, it is recommended to not specify the
DELAYHANDLE keyword. The S-element automatically detects and handles the
propagation delay.
If DELAYHANDLE is 2, the S-element extracts the propagation delay according to the model
property over the whole frequency band, instead of calculating group delay upon single
frequency point as that when DELAYHANDLE=1. This option is now only available when the
rational_func=1.
If DELAYHANDLE is 2, the S-element extracts the propagation delay according to the model
property over the whole frequency band, instead of calculating group delay upon single
frequency point as that when DELAYHANDLE=1. This option is now only available when
rational_func=1.
If you set DELAYHANDLE=OFF (or 0), but DELAYFREQ is not zero, PrimeSim HSPICE
simulates the S-element in the delay mode.
For Y-parameter models, DELAYHANDLE is not supported and will be ignored.
See also Group Delay Handler in Time Domain Analysis.
DELAYFREQ Delay frequency for transmission-line type parameters. The default is FMAX. If the
DELAYHANDLE is set to OFF, but DELAYFREQ is nonzero, PrimeSim HSPICE still simulates
the S-element in the delay mode.
DATATYPE A string used to determine the order of the indices of the mixed-signal incident or reflected
vector. The string must be an array of a letter and a number (Xn) where:
• X = D to indicate a differential term
• X = C to indicate a common term
• X = S to indicate a single (grounded) term
• n = the port number
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 154
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S Model Syntax
Keyword Description
XLINELENGTH The line length of the transmission line system where the S-parameters are extracted.
This keyword is required only when the S Model is used in a W-element.
SMOOTHPTS An integer value to specify width of the smoothing window on each side of the target
point. In total, 2*x +1 point is taken at each point calculation.
RATIONAL_FUNC_ REUSE • 0: Discard previously extracted rational function data and re-run the rational function
approximation.
• 1: Reuse rational function data if available.
• 2: (default) Reuse rational function data if available and make no change in parameter
source file (time stamp), FBASE, FMAX, HIGHPASS, LOWPASS, and passivity enforcement
configurations; otherwise, rerun the rational function approximation.
RATIONAL_FUNC_WINDOW When you specify this argument with a value 1, to an S-parameter model, a window
ING function is applied that will smoothly roll off the propagation toward the maximum
frequency when generating the rational function. The default maximum frequency is the
highest sampling point in the given S-parameter data.
When FMAX is specified, the value of FMAX is used for the maximum frequency.
When you specify this argument with a value 0 (default), no windowing function is applied.
To apply windowing globally to all S-parameter models in the design, see .OPTION
S_RATIONAL_FUNC_WINDOWING in the PrimeSim HSPICE Reference Manual:
Commands and Control Options.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 155
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S Model Syntax
Keyword Description
PASSIVE Activates the passive checker to help debug the passive models. The default is 0 for the
S-element where 0=deactivate and 1=activate. Using the tolerance value specified
by PASSIVE_TOL keyword, the eigenvalues of matrix (I-S*S'), ev[i], will be checked.
• If any frequency point violates RE(ev[i]) > -(TOL*0.1), PrimeSim HSPICE issues
a warning containing a list of violating frequencies with an “E” flag. Also, the checker
verifies potential passivity violations by checking the summation of each S-parameter
matrix column.
• If Sum > COLSUM_LIMIT, PrimeSim HSPICE issues a warning containing a list of
those violating frequencies with a “C” flag.
PASSIVE_TOL Tolerance for eigenvalue checking activated by the PASSIVE keyword. Default value is
0.01.
COLSUM_LIMIT Maximum value allowed for S-parameter matrix column summation. The limiting value will
be used for passivity checker and passivity enforcement. Default value is 1.0
ENFORCE_ PASSIVE With the ENFORCE_PASSIVE=1 keyword, the S-element checks passivity of all the given
frequency sampling points. Once passivity violations are found, the S-element seeks a
minimum amount of loss property which restores passivity of all the violated points. Then
the S-element adds the loss to all the given frequency points.
Note:
Passivity enforcement function generates cache data and stores it in a
<model_name>.penf file. When the cache file exists, the PrimeSim HSPICE
S-element reuses passivity enforcement result without re-enforcement.
PRECFAC In almost all cases, you do not need to specify a value for this parameter. This parameter
specifies the precondition factor keyword used for the precondition process of the
S-parameter. A precondition is used to avoid an infinite admittance matrix. The default is
0.75, which is good for most cases. See also, Preconditioning S-parameters.
FQMODEL Specifies the name of the frequency model file behavior of the S-,Y-, or Z-
parameters. The .MODEL statement of sp type defines the frequency-dependent matrices
array.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 156
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S Model Syntax
Keyword Description
DTEMP Temperature difference between the element and the circuit, expressed in ×C. The default
is 0.0.
Element temperature is calculated as:
T = Element temperature (°K)
= 273.15 (°K) + circuit temperature (°C)
+ DTEMP (°C)
Where circuit temperature is specified using either the .TEMP statement, or by sweeping
the global TEMP variable in .DC, .AC, or .TRAN statements.
When a .TEMP statement or TEMP variable is not used, the circuit temperature is set
by .OPTION TNOM, which defaults to 25°C unless you use .OPTION SPICE, which raises
the default to 27°C.
CACHE_DIR Specifies the directory to write (for reuse) the generated cache files, such as rational
function model generation.
CAUSALITY Turns on or off the causality enforcement algorithm for the IFFT model:
• 0 (default): OFF **
• 1: ON **
When causality enforcement is turned on, the HIGHPASS and FMAX keyword of S element
or model is ignored.
• For PrimeSim HSPICE: default is 0.
• For PrimeSim: default is 1.
CAUSALITY_FMAX_SCALE A real value val, which is used to manually set FMAX=val * Fmax_given in causality
enforcement algorithm, where Fmax_given is the highest frequency value in the S model.
Default is 3. Only valid when CAUSALITY=1.
WRITE_CAUSALITY_ENFO Turns on or off the causality enforced result output to a Touchstone format file.
RCED_FILE • 0 (default): do not output
• 1: output
Only valid when CAUSALITY=1
WRITE_FITTED_FILE Writes the rational function fitted s-parameters file when the RATIONAL_FUNC or
S_RATIONAL_FUNC commands are used. Default is 1.
CAUSALITY_ENFORCED_F Touchstone file name for the causality enforced result output.
ILE_NAME • Only valid when CAUSALITY=1.
When file name is not specified, while WRITE_CAUSALITY_ENFORCED_FILE=1, the default
file name is constructed by S model name, such as model_name_enforced.s#p.
The FQMODEL, TSTONEFILE, CITIFILE, and RFMFILE parameters describe the frequency-
varying behavior of a network. Only specify one of the parameters in an S model card.
If more than one method is declared, only the first one is used, and PrimeSim HSPICE
issues a warning message.
For full example demo files of the S model usage, see S-parameter Examples in the
PrimeSim HSPICE User Guide: Demonstration Netlists.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 157
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-element Data File Model Examples
results.
Example 1
S model statement code example:
s1 n1 n2 n3 n_ref mname=smodel
.model smodel s n=3 z0=50 fbase=25e6 fmax=1e9
s1 n1 n2 n3 n_ref z0=50 fbase=25e6 fmax=1e9
Example 2
In this example, the S model statement has the characteristic impedance equal to 100
instead of the 50 as defined in smodel. The impedance changes because the parameters
defined in the S element statement have higher priority than the parameters defined in the
S model statement:
s1 n1 n2 n3 n_ref mname=smodel z0=100
.model smodel s n=3 z0=50 fbase=25e6 fmax=1e9
Example 3
In this example, tstonefile and citifile are both declared in smodel. PrimeSim
HSPICE accepts tstonefile, ignores citifile, and issues a warning message.
It is illegal to define a tstonefile and CITIfile smodel in the same statement. This
prevents conflicts in the frequency-varying behavior description of the network. From the
tstonefile file extension .s3p, you can tell that the network has three ports:
s1 n1 n2 n3 n_ref mname=smodel
.model smodel s tstonefile=exp1.s3p
citifile=exp1.citi0
Example 4
In this example, is declared both in the S-element statement and the S model statement.
s1 n1 n2 n3 n_ref mname=smodel
.model smodel s n=3
Example 5
This example shows a generic S-parameter statement using port elements. For
information on port elements, see Identifying Ports with the P-element.
**S-parameter example
.OPTION post
.probe v(n2)
P1 n1 0 port=1 Z0=50 ac=1v PULSE 0v 5v 5n 0.5n 0.5n 25n
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 158
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-element Data File Model Examples
P2 n2 0 port=2 Z0=50
.ac lin 500 1Hz 30MegHz
.tran 0.1ns 10ns
* reference node is set
S1 n1 n2 0 mname=s_model
* S parameter
.model s_model S TSTONEFILE = ss_ts.s2p
Rt1 n2 0 50
.end
Example 6
This example shows the option line and noise parameters of a Touchstone file:
!
! touchstone file example
!
# Hz S MA R 50.0000
0.00000 0.637187 180.000 0.355136 0.00000
0.355136 0.00000 0.637187 180.000
......
! # HZ S DB R 50.0000
! 0.00000 -3.91466 180.000 -8.99211 0.00000
! -8.99211 0.00000 -3.91466 180.000
! ......
!
!# Hz S RI R 50.0000
! 0.00000 -0.637187 0.00000 0.355136 0.00000
! 0.355136 0.00000 -0.637187 0.00000
! ......
!
! 2-port noise parameter
! frequency[Hz] Nfmin[dB] GammaOpt(M) GammaOpt(P) RN/Z0
0.0000 0.29166 0.98916 180.00 0.11055E-03
0.52632E+08 6.2395 0.59071 -163.50 0.32868
0.10526E+09 7.7898 0.44537 175.26 0.56586
! ......
! end of file
Example 7
This example shows an S-parameter statement using port elements and the referenced
CITI file. For information on port elements, see Identifying Ports with the P-element.
**S-parameter
.OPTION post
.probe v(n2)
P1 n1 0 port=1 Z0=50 ac=1v PULSE 0v 5v 5n 0.5n 0.5n 25n
P2 n2 0 port=2 Z0=50
.ac lin 500 1Hz 30MegHz
.tran 0.1ns 10ns
*reference node is set
*S1 n1 n2 0 mname=s_model
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 159
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Mixed-Mode S-parameters
Mixed-Mode S-parameters
Mixed-mode refers to a combination of differential and common mode characteristics
mixed-mode S-parameterS-parametermixed mode
in PrimeSim HSPICE linear network (LIN) analysis by using the S-element. It is useful
to understand mixed-mode S-parameters since they present an overview of the wiring
channels. The S-parameters also provide a view of inherent behaviors of differential and
common-mode signal propagation characteristics.
PrimeSim HSPICE accepts both conventional single-ended S-parameters and mixed-
mode S-parameters. In PrimeSim HSPICE, since the mixed-mode S-parameters undergo
conversion to the single-ended S-parameters to fit with ground-referenced nodal analyses,
there is no difference in simulation results between single-ended S-parameters and the
equivalent mixed-mode representations of them.
Figure 49 Node indexing convention of the ground referenced (single ended) S-parameter
• Nodes 1 and 3 are the ports for one end of the transmission-line pair.
• Nodes 2 and 4 are the ports for the opposite end of the transmission-line pair.
The following sections discuss these topics:
• Relating Voltage and Current Waves to Nodal Waves
• Characterizing Differential Data Transfer Systems
• Deriving a Simpler Set of Voltage and Current Pairs
• Using the Mixed-Mode S-parameters (S-element)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 160
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Mixed-Mode S-parameters
voltage and current waves, relating them to nodal waves. Although you can apply mixed-
current waves-nodal waves
port 1 port 2
i1 i2
Line A
V1 V2
i3 i4
Line B
V3 V4
Solving the telegrapher’s equation, you can represent nodal voltage and current waves of
the data transfer system as:
Equation 21
Equation 22
Equation 23
Equation 24
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 161
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Mixed-Mode S-parameters
where:
• is the propagation constant for even mode waves.
• is the propagation constant for odd mode waves.
• is the characteristic impedance for even mode waves.
• is the characteristic impedance for odd mode waves.
• and represent phasor coefficients for the forward propagating modes.
characterize differential data transfer systems. The difference of the nodal wave defines
the voltage and current of the differential wave:
Equation 25
Equation 26
Equation 27
Equation 28
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 162
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Mixed-Mode S-parameters
Equation 29
Equation 30
Equation 31
Equation 32
You also can relate characteristic impedances of each mode to the even and odd mode
characteristic impedances:
and
Having defined a generalized parameter power, you can then define differential normalized
waves:
and
and
and
and
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 163
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Mixed-Mode S-parameters
You can then specify S-parameters for mixed-mode waves as ratios of these waves as
shown in Equation 33:
Equation 33
where:
• is the differential-mode S-parameter.
Based on these definitions, you can linearly transform nodal wave (standard) S-
parameters and mixed mode S-parameters:
mixedmode=1 is used. Any keywords besides mixedmode and datatype remain the same.
Use the following syntax for a mixed-mode S-parameter:
Keyword Description
pn+, pn- Positive and negative terminals of the port n, respectively. The port numbers must be in
an increasing order corresponding to the S matrices notation.
• If the port is in mixed-mode (balanced), it requires that both positive and negative
terminal names are in series.
• If the port is single-ended, mixed-mode requires only one terminal name.
mixedmode When mixedmode=1, PrimeSim HSPICE passes the information to the S-element that
the S-parameters are in mixed-mode. The default is 0 (standard mode).
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 164
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Mixed-Mode S-parameters
Keyword Description
datatype A string that determines the order of indices of the incident or reflected vectors (a and
b) in Equation 25. The string must be an array of pairs that consists of a letter and a
number (for example, Xn), where X =
• D or d to indicate differential term.
• C or c to indicate common term.
• S, s, G, or g to indicate single (grounded) term and n = port number.
The definition datatype = D1D2C1C2 is the default for a 2-balanced port network and
specifies the nodal relationship of the following equation:
Equation 34
where:
• is the incident wave goes into positive terminal of the port 1.
You also can derive the nodal relationship of the reflection wave in the same way.
PrimeSim HSPICE assigns nodes from the given S-matrices to the S-element in the order
of . For example, incident and reflected waves at the positive terminal of the
appear at the first node of the S-element.
The definition datatype=D1C1S2 specifies the nodal relationship of the following equation:
Equation 35
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 165
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Accelerating S-Element Time Domain Performance with Recursive Convolution
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 166
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Accelerating S-Element Time Domain Performance with Recursive Convolution
characteristics. To get a system response at time , the convolution integral can be done
as shown in Equation 36:
Equation 36
where are input at the , system response function in the time domain
and output at , respectively. As observed in Equation 36, the convolution integral is
computationally expensive, especially if becomes a long transient simulation due to
an increasing time window for each time point evaluation. The conventional S-element
obtains by applying IFFT to the original system function in the frequency domain and
performs a discrete linear convolution integral, while Equation 36 is continuous.
On the other hand, the frequency domain transfer function, can be described as:
Equation 37
Converting Equation 37 to the time domain gives the exponential decay function shown in
Equation 38:
Equation 38
The computational cost of the convolution integral at time point can be reduced using
the convolution result at a previous time point (recursive convolution). Since recursive
convolution only requires numerical integration from a previous time point to the current
time point, it saves computational time and storage for input signal history. Recursive
convolution can be formulated only when the system response can be represented in
certain forms of rational functions, as shown in Equation 39:
Equation 39
The PrimeSim HSPICE S-element generates a rational function matrix based on a given
function and performs recursive convolution. Once the rational function is generated, the
S-element stores the intermediate data for reuse in the following form: MODEL_NAME.yrf.
When RATIONAL_FUNC_REUSE=1, the S-element seeks an available data file and reuses it
without running a redundant rational function generation process.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 167
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Accelerating S-Element Time Domain Performance with Recursive Convolution
PrimeSim HSPICE also accepts rational function data input as external input. The input file
syntax is described in the following section, Rational Function Matrix (.rfm) File Format.
PrimeSim HSPICE accepts S- or preconditioned Y- parameter matrices as expressions
with pairs of poles and residues. In cases of frequency-dependent scattering parameters,
S( ), or preconditioned admittance parameter, Y'( ) can be represented as rational function
matrix components as:
Equation 40
Equation 41
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 168
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Accelerating S-Element Time Domain Performance with Recursive Convolution
Figure 51 Wall clock time for the rational function generation of a 131 port S-parameter
block (Linux system with 8 x 2666 MHz Intel® Xeon®)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 169
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Accelerating S-Element Time Domain Performance with Recursive Convolution
BEGIN 1 1
CONST 0.0
C 0.0
DELAY 0.0
BEGIN_REAL 2
3.50774e+07 -4.54754e-05
2.37196e+08 -0.00327245
BEGIN_COMPLEX 2
3.81668e+08 3.74508e+08 0.00583496 -2.54387
6.88144e+08 2.08242e+08 6.66955e-06 -2.78498
END
A single line can only contain single pairs of pole and residue. Therefore, two numbers
must appear in a line for a real pole and four numbers must appear in a line for a complex
pole. A single complex pole represents a complex conjugate pair of poles. An *.rfm file
does not need to include all the matrix components. If certain terms are not found, the S-
element regards these terms as ones with no propagation. The comment special character
is an exclamation point. Lines that begin with '!' are ignored.
An RFM keyword (with no whitespace) is always the first word on the new line. The
following table lists available keywords.
Keyword Description
SYMMETRIC Indicates symmetric matrix. Only a single declaration must appear in the
data field for transposing of pair of nondiagonal matrix components.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 170
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Multiport Noise Model for Passive Systems
Keyword Description
Z0 val(s) or Zo val(s) Reference impedance of ports. Real number impedance only. When a single
value is specified, the value is applied to all the ports. A vector of values with
the size of the number of port also can be specified. A single line can only
contain single number.
PRECFAC val Preconditioning factor; must be between 0.5 and 1.0 (0.5 < < 1.0).
BEGIN row col Beginning of a matrix component specified by row and column. The row and
column must be 1-based index of the matrix component.
CONST val Constant term of the rational function “B” term of Equation 39; if not
specified, CONST=0.
C val Reactive term of the rational function “C” term of Equation 39; if not
specified, C=0.
DELAY val Propagation delay from port[col] to port[row]. Must be zero or a positive
number. If not specified DELAY=0.
BEGIN_REAL n Pairs of real poles and residues follow. Following each line must contain a
real pole and a real residue in this order. If BEGIN_REAL is not specified, no
real pole is constructed. Other keywords must appear before BEGIN_REAL.
BEGIN_COMPLEX n Pairs of complex pole and residue follows. Following each line must contain
a real part and an imaginary part of pole, real and imaginary part of residue
in this order. A single complex pole and residue pair represents a conjugate
pair of poles. If BEGIN_COMPLEX is not specified, no complex pole is
constructed. Other keywords must appear before BEGIN_COMPLEX.
can exhibit considerable thermal noise. The passive noise model is used to present
such thermal noise for the S-element representing such circuits. The S-element passive
noise model supports normal, two-port and multiport noise analysis (.NOISE=1) and .LIN
noisecalc=1 for two-port and .LIN noisecalc=2 for N-port.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 171
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Multiport Noise Model for Passive Systems
Input Interface
To trigger a passive multiport noise model, the NOISE and DTEMP keywords in an S-
element statement are used:
Sxxx n1...nN
+ ...
+ [NOISE=[1|0]] [DTEMP=value]
See S Model Syntax for the description of the NOISE and DTEMP keywords.
When NOISE=1, PrimeSim HSPICE generates a N×N noise-current correlation matrix from
the N×N S-parameters according to Twiss' Theorem. The result can be stamped into a
PrimeSim HSPICE noise analysis as N-correlated noise current sources: ji (i=1~N) as
shown Equation 42:
Equation 42
where:
The noise-current correlation matrix represents the frequency-dependent statistical
relationship between N noise current sources, ji (i=1~N), shown in Figure 52.
...
Port i
Port j
... ji jj
j1 jN
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 172
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-element Noise Model
Output Interface
PrimeSim HSPICE creates a .lis output list file that shows the results of a noise analysis
just as any other noisy elements. The format is as follows:
**** s element squared noise voltages (sq v/hz)
element 0:s1
N(i,j) data
r(N(i,j)) data
... i,j = 1~N ...
total data
where:
• N(i,j) = contribution of jijj* to the output port.
• r(N(i,j)) = transimpedance of ji to the output port.
• total = contribution of total noise voltage of the S-element to the output port.
then transform the raw data into a form used for .NOISE and.LIN noisecalc=1[or 2]
analysis.
For example, you can represent a two-port with an S-element and then perform a noise
analysis (or any other analysis). The S-element noise model supports normal and two-port
(.NOISE and .LIN noisecalc=1). See Noise Parameters in 2-Port and N-Port Networks.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 173
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-element Noise Model
Note:
Because Touchstone files currently provide only two-port noise parameters, this
type of noise model only supports two-port S-parameter noise analysis for both
passive and active systems.
Input Interface
The frequency-dependent two-port noise parameters are provided in a network description
block of a Touchstone data file following the S-parameter data block.
The noise parameter data typically is organized by using the following syntax:
where:
• frequency = frequency in units.
• Nfmin[dB] = minimum noise figure (in dB).
• GammaOpt(M) = magnitude of reflection coefficient needed to realize Fmin.
• GammaOpt(P) = phase (in degrees) of reflection coefficient needed to realize Fmin.
• RN/Z0 = normalized noise resistance.
• ! = indicates a comment line.
For example:
! 2-port noise parameter
! frequency[Hz] Nfmin[dB] GammaOpt(M) GammaOpt(P) RN/Z0
0.0000 0.29166 0.98916 180.00 0.11055E-03
0.52632E+08 6.2395 0.59071 -163.50 0.32868
0.10526E+09 7.7898 0.44537 175.26 0.56586
Both GammaOpt and RN/Z0 values are normalized for characteristic impedance, Z0,
specified in the header of the Touchstone data file. PrimeSim HSPICE reads this raw data
and converts it to a coefficient of the noise-current correlation matrix. This matrix can be
stamped into a PrimeSim HSPICE noise analysis as two correlated noise current sources:
j1 and j2, as shown here:
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 174
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-element Noise Model
Output Interface
PrimeSim HSPICE creates a .lis output list file that shows the results of a noise analysis
just as any other noisy elements. The format is:
**** s element squared noise voltages (sq v/hz)
element 0:s1
N11 data
r(N11) data
N12 data
r(N12) data
N21 data
r(N21) data
N22 data
r(N22) data
total data
where:
• N11 = contribution of j1 to the output port
• r(N11) = transimpedance of j1 to the output port
• N12 = contribution of j1j2* to the output port
• r(N12) = transimpedance of j1 to the output port
• N21 = contribution of j2j1* to the output port
• r(N21) = transimpedance of j2 to the output port
• N22 = contribution of j2 to the output port
• r(N22) = transimpedance of j2 to the output port
• total = contribution of total noise voltage of the S-element to the output port
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 175
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 176
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
• SPUTIL Functions
• Status Messages
• Causality Checking
• Using Interpolation for Causality Checking
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 177
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
Note:
1. Accepts both "!" and "*" as comment characters in the runset file.
2. Allows the first line to be a blank line in the runset file.
3. Ignores spaces or extra line feeds at the end of the runset file.
In cases where you want to connect capacitors and subsequently reduce the S-parameter
ports, you can use the MAKEDOTLIN command. An example command set looks like this:
NPORT 4
TSTONEFILE dc.s4p
DATAFORMAT MA
MAKE_DOT_LIN example.sp
This command set creates an example.sp file, which is modified to remove ports 3 and
4 and add capacitors for nets connected to ports 3 and 4. Running PrimeSim HSPICE on
the modified file gives the reduced 2 port S-parameter file.
Commands
A command keyword must always be the first word on the new line. The command
keyword is always one continuous word without embedded spaces.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 178
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
S-element keywords. See also S-element Syntax in PrimeSim Continuum User Guide: Elements for full keyword
descriptions.
TSTONE_HEADER filename Specifies the name of the file which contains the
necessary comments for the Touchstone file header.
SPUTIL will copy all the lines before the index line (that
is, the line beginning with "#") from the specified file to
the output Touchstone file.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 179
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
Control Keywords
CAUSAL_TOL value This command places as target for causality a value for
the threshold. The value starts at 0.0 (causal). If no value
is given, the threshold is set to its default value: 0.1.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 180
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
FREQ_SWEEP hspice_sweep Specifies frequency points in output data file. You can
specify any of ORG, LIN, DEC, OCT, or POI. ORG takes
frequency points from the input data file, while others
specify various frequency sweeps with nsteps, start,
and stop values using the following syntax for each
type:
• LIN nsteps start stop
• DEC nsteps start stop
• OCT nsteps start stop
• POI nsteps freq_values
• ORG [fmin fmax]
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 181
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
REORDER_PORT io2bus | bus2io | port_indices Swaps the port ordering method used for the
S-parameters between I/O pair ordering and bus
ordering conventions.
• io2bus changes from I/O pair ordering (i1 o1 i2 o2...)
to bus ordering (i1 i2... o1 o2...).
• bus2io changes from bus ordering (i1 i2... o1 o2...) to
I/O pair ordering (i1 o1 i2 o2...).
• port_indices, which is an array of integers,
specifies port indices for custom port reorder.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 182
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
REDUCE_W_OPEN array_of_indices Specifies an array of port indices that are set to open
termination, when performing port reduction using the
PICK_PORT command.
REDUCE_W_SHORT array_of_indices Specifies an array of port indices that are set short to
the ground/supply termination, when performing port
reduction using the PICK_PORT command.
Note:
• REDUCE_W_OPEN and REDUCE_W_SHORT arguments accept the To keyword to represent an array of
incremental indices from the left index to the right index. For example, REDUCE_W_OPEN 4 7 to 10 is
equivalent to REDUCE_W_OPEN 4 7 8 9 10.
• REDUCE_W_OPEN and REDUCE_W_SHORT can be specified multiple times. For example, REDUCE_W_SHORT 1
2 and REDUCE_W_SHORT 3 4 are equivalent to REDUCE_W_SHORT 1 2 3 4.
• When performing port reduction using the PICK_PORT command, for ports not specified for either open or
short termination, SPUTIL terminates them with the reference impedance.
SCALE_FREQ scale_factor Every frequency point in the output file is scaled by this
factor.
CHECK_CONNECTION port_index | all Prints all the connections from the specified
port_index, in the order of strength. If all is specified,
the connection list will be generated for all ports. SPUTIL
recognizes a connection between a port n and a port m,
when the magnitude of Smn (port n to port m direction)
exceeds CONNECTION_TOL at any frequency point.
XLINELENGTH value Specifies the line length of the transmission line system
from which the S parameter model is extracted. This
must be exactly the same as the line length of the
extracted system.
For information on usage, see RLGC Model Output from
S-parameters.
WRITEXLINEPARAMS = prefix Specifies the prefix of the output RLGC file name.
For information on usage, see RLGC Model Output from
S-parameters.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 183
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
WINDOWING target Fstart Fend [tolerance This command applies a function to roll off the
[tolerance_fstart tolerance_fend]] magnitude terms from the initial magnitude value at
the Fstart frequency to a value of zero at the Fend
frequency.
• The value of target can be one of the following:
• all: All terms.
• minor: Only minor terms where the maximum
magnitude is below the tolerance.
• major: Only major terms where the maximum
magnitude is above the tolerance.
• diag: Diagonal terms only.
• offdiag: Off diagonal terms only.
tolerance_fstart and tolerance_fend specify the range of
frequency for tolerance checking when target is specified
as major or minor.
SCALE_PARAM target scale_value [tolerance This command applies a scaling factor, scale_value, to
[tolerance_fstart tolerance_fend]] target parameters.
For a description of target, tolerance, tolerance_fstart,
and tolerance_fend arguments, see the WINDOWING
command description.
ADD_DELAY target delay_value [tolerance This command adds a propagation delay, delay_value,
[tolerance_fstart tolerance_fend]] to target parameters.
For a description of target, tolerance, tolerance_fstart,
and tolerance_fend arguments, see the WINDOWING
command description.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 184
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
As a result, in the output, vector, the energy originated from the term, becomes:
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 185
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
SPUTIL Functions
The following are the SPUTIL functions:
• write_fitted_file
Use the write_fitted_file function to generate an S-parameter file from the rational
function file file.srf. The generated S-parameter file is then used to compare to the
original S-parameter file from which the rational function is generated.
TSTONEFILE <input_sparam_file>
rational_func=1
write_fitted_file 1
• write_bbs_file
Use the write_bbs_file function to generate a broadband SPICE model from an S-
parameter file. This function is used with rational_func=1 for a broadband SPICE
model.
TSTONEFILE <input_sparam_file>
rational_func 1
write_bbs_file 1
• rfmfile
Use the rfmfile function to manipulate a rational function matrix file (.rfm) in SPUTIL.
The runset generates an S-parameters file from the RFM file. Frequency sweep is
optional and used to specify a given frequency range in the output file.
Note:
Currently broadband SPICE model output is supported in S-domain rational
function model only.
RFMFILE <input.rfm>
FREQ_SWEEP <sweep_type>
TSTONE_OUT <output_sparam_file>
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 186
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
Status Messages
Status messages are written in the command terminal as an SPutil runset proceeds. For
example, when the following runset is executed:
NPORT 4
TSTONEFILE good_tx.s4p
PASSIVE 1
TSTONE_OUT output.s4p
FREQ_SWEEP DEC 10 1e3 1e9
Causality Checking
• The SPUTIL's causality checker checks the causality of the given frequency points in
the raw S-parameter.
• The IFFT causality enforcement during simulation in the PrimeSim HSPICE and
PrimeSim HSPICE tool is to ensure causality when preparing data for the IFFT
algorithm throughout the extrapolated frequency points. The SPUTIL causality checker
is used to check the quality of the raw S-parameters prior to causality enforcement
during simulation.
To check the sampled data included in a scattering-parameters Touchstone-file, the input
file should look like:
TSTONEFILE rlc128p_7169_0_1e11.s128p
CAUSAL CHECK
CAUSAL_TOL 0.953496955
In this example, the input file name represents a 128 port-network (whose data has been
sampled 7169 times for a frequency range that goes from 0 Hz to 1e11 Hz). Causality
checking is asked using a GDM better than 0.953496955.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 187
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-parameter Standalone Manipulation Utility
There are two output files. One of them is a *.lis file that displays a short summary as in
the following example:
Parsing rlc128p_7169_0_1e11.in ...
Reading TSTONEFILE rlc128p_7169_0_1e11.s128p......
Touchstone File [rlc128p_7169_0_1e11.s128p] s-params: 7169 pts 0Hz -
1e+11Hz
No noise parameter read.
s-parameters: 7169 pts 0 - 1e+11
no noise parameter read
The three worst e-average Global Difference Measures (1.0 >= eGDM >= 0.0)
for 8192 points are listed below.
Port combination [58,122], its average eGDM is: 0.987236
Port combination [122,58], its average eGDM is: 0.987236
Port combination [3,68], its average eGDM is: 0.988165
Average eGDM for the input Scattering Matrix: 0.999882
Note: 1.0 >= eGDM > 0.65 is good. 0.65 >= eGDM > 0.2 is fair.
0.20 >= eGDM is poor.
More details can be seen by plotting rlc128p_7169_0_1e11REP.s128p
SPUTIL concluded
The other output file is an RI Touchstone file where the suffix .sNp is replaced by REP.sNp
(with N being the number of ports). The file holds, for each frequency point, the GDM value
in the corresponding real part and a causality boolean in the imaginary part. That is, one
for each GDM is equal to or less than the threshold given in CAUSAL_TOL, or zero when the
GDM is greater than that threshold.
For the given example, the name of the second output file is
rlc128p_7169_0_1e11REP.s4p.
• Frequency spacing:
In the preceding example, the number of frequency points, k, is 7169 and the maximum
frequency, fmax, is 100GHz. The number of frequency points is interpolated to 8192
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 188
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Preconditioning S-parameters
evenly-spaced points. The number of frequency points used in the causality check global
difference measurements are printed to the *.lis file.
Preconditioning S-parameters
Certain S-parameters, such as series inductor (2-port), show a singularity when converting
S- to Y-parameters. To avoid this singularity, the S-element adds series resistance
to precondition S matrices:
Equation 43
S kRref S
Preconditioning
S’
S to Y
-kRref Y’
Y’
NMA stamp
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 189
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Group Delay Handler in Time Domain Analysis
Equation 44
• is the target frequency, which you can set using DELAYFREQ. The default target
frequency is the maximum frequency point.
• is the phase of .
After time domain analysis obtains the group delay matrix, Equation 45 eliminates the
delay amount from the frequency domain system-transfer function:
Equation 45
Equation 46
S-element and W-element. Scattering parameters are frequently given from measurement
instruments such as vector network analyzers (VNA). In measurements, there are many
causes of noise injection such as calibration failure, electromagnetic interference (EMI)
and so on, especially in high frequency range. For such cases, several data smoothing
functions are available to the S-parameter data reader to restore the original noiseless
data.
Data smoothing alters the original data to suppress unwanted noise. Therefore, if you are
confident of the accuracy of the original data, data smoothing is not recommended.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 190
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
S-Model Data Smoothing
neighbors as:
S-Model Syntax
.model model_name S ....
+ [SMOOTH=val] [SMOOTHPTS=val]
Default 0
See S Model Syntax for the description of the SMOOTH and SMOOTHPTS keywords.
Description
Each smoothing function has different characteristics. You should observe the original data
on the waveform viewer when determining the smoothing filter configuration. Typically, the
average function has a strong ability of smoothing, but it may lose the necessary bumps
in data if they are narrow. Since both the average and median (SMOOTH=1 or 2) takes an
intermediate value of the points within the specified window, if these reference points have
a wide range of phase difference due to sparse frequency sampling, the smoothing result
may lose accuracy.
The Median filter is effective if there are sharp and high noise spikes. These spikes
are eliminated by the median filter without changing the offset level. Polynomial fittings
are relatively weak in data smoothing, but they preserve narrow bumps. Typically, for
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 191
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Predicting an Initial Value for FMAX in S-Element Models
transmission line type S-parameters, polynomial fittings are effective since sinusoidal
curves (many narrow bumps) are expected in real and imaginary versus frequency plots
due to constant propagation delay.
The 2nd order and 4th order polynomial smoothing methods preserve the overall
waveform trend better than the former two methods. However, they are relatively weak in
strong, narrow range noises.
Example
The plot on the left side of Figure 55 shows the original measurement data for
the propagation term of the differential pair of transmission lines. With SMOOTH=3
SMOOTHPTS=5, 2nd polynomial fitting with 11 points (5 points from each side in addition to
the target point) is applied. The plot on the right side shows smoothed data.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 192
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
De-Embedding S-parameters
De-Embedding S-parameters
The S-element in PrimeSim HSPICE provides an interface to use measured or extracted
S-parameters. When obtaining S-parameters by measurement, the measured S-
parameters may contain characteristics of unwanted peripherals such as probes,
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 193
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
De-Embedding S-parameters
connectors, and so on, in addition to the target device under test (DUT) characteristics.
If the characteristics of these unwanted peripherals are known as S-parameters, you can
use PrimeSim HSPICE to de-embed them through common text-based data file formats
such as Touchstone, CITIfile, and the netlist model format, *.sc# by using the existing LIN
analysis and S-elements with the following stamping scheme:
Figure 56 (Left) The measured S-parameter model may include the characteristics of
fixtures and the DUT itself. (Right) When the characteristics of fixtures are given, software
de-embedding extracts pure DUT characteristics.
S-Model Syntax
S1 1 2 3 4 5 6 7 8 mname=model_name …
+ STAMP=DEEMBED
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 194
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Small-Signal Parameter Data Frequency Table Model
or:
.model model_name S …
+ STAMP=DEEMBED
Note:
Since negated stamp causes noncausal behavior in time domain analysis,
STAMP=DEEMBED is only supported in frequency domain analyses. For time
domain analyses, generate de-embedded S-parameters first using LIN analysis,
and then reuse them.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 195
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Small-Signal Parameter Data Frequency Table Model
SP Model Syntax
.MODEL name sp [N=val FSTART=val FSTOP=val NI=val
+ SPACING=val MATRIX=val VALTYPE=val INFINITY=matrixval
+ INTERPOLATION=val EXTRAPOLATION=val DC=val]
+ DATA=(npts ...)|DATAFILE=filename
Parameter Description
N Matrix dimension (number of signal terminals). Default is 1. If you use a value other than the
default, you must specify that value before you set INFINITY and DATA.
FSTOP Final frequency point for data. Use this parameter only for the LINEAR and LOG spacing
formats.
NI Number of frequency points per interval. Use this parameter only for the DEC and OCT
spacing formats. Default=10.
INFINITY Data point at infinity. Typically real-valued. This data format must be consistent with MATRIX
and VALTYPE specifications. npts does not count this point.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 196
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Small-Signal Parameter Data Frequency Table Model
Parameter Description
DC Data port at DC. Normally real-valued. This data format must be consistent with MATRIX and
VALTYPE specifications. npts does not count this point. You must specify either the DC point
or the data point at frequency=0.
DATAFILE Data points in an external file. This file must contain only raw numbers without any suffixes,
comments, or continuation letters. The first number in the file must be an integer value to
indicate the number of sampling points in the file. Then, sampling data must follow. The
order of sampling data must be the same as in the DATA statement. This data file has no
limitation on line length so you can enter a large number of data points.
Note:
Interpolation and extrapolation occur after the simulator internally converts the
Z- and S-parameter data to Y-parameter data.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 197
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Small-Signal Parameter Data Frequency Table Model
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 198
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Small-Signal Parameter Data Frequency Table Model
Examples
Example 1
**S-parameter example
.OPTION post=2
.probe v(n2)
V1 n1 0 ac=1v PULSE 0v 5v 5n 0.5n 0.5n 25n
.op
.ac lin 500 1Hz 30MegHz
.tran 0.1ns 10ns
*S1 n1 n2 0 mname=s_model
S1 n1 n2 0 mname=s_model
.model s_model S fqmodel=fmod Z0=50 50
*.model s_model S fqmodel=fmod2 Z0=50 100
* S parameter for Z0=(50 50)
.MODEL fmod SP N=2 FSTOP=30MegHz DATA = 1
+ 0.333333333 0.0 0.666666667 0.0 0.333333333 0.0
* S parameter for Z0=(50 100)
.MODEL fmod2 SP N=2 FSTOP=30MegHz MATRIX=NONSYMMETRIC
+ DATA = 1
+ 0.5 0.0 0.5 0.0
+ 1.0 0.0 0.0 0.0
Rt1 n2 0 50
.end
Example 2
Figure 57 illustrates a transmission line that uses a resistive termination, and Table 4
transmission linesresistive termination
shows a corresponding input file listing. In this example, the two outputs from the resistor
and S-parameter modeling must match exactly.
transmission linesS ElementS-elementtransmission line
Figure 57 Transmission Line with Resistive Termination
Four-conductor line
Ro, L, Go, C, Rs, Gd
+
v1
-
Reference conductor
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 199
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Small-Signal Parameter Data Frequency Table Model
Termination x1 o1 o2 o3 0 terminator
Frequency model definition .MODEL fmod sp N=3 FSTOP=30MegHz DATA= 1 + -0.270166 0.0 + 0.322825
0.0 -0.41488 0.0 + 0.17811 0.0 0.322825 0.0 -0.270166 0.0
Example 3
The transmission-line example shown here uses capacitive network termination. The two
outputs from the resistor and S-parameter modeling in Example 2 differ slightly due to the
linear frequency dependency relative to the capacitor. To remove this difference, use the
linear interpolation scheme in .MODEL.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 200
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
Small-Signal Parameter Data Frequency Table Model
Example 4
Figure 58 and Table 5 show an example of a transmission line that uses the S-parameter.
s-parametertransmission line
Figure 58 3-Conductor transmission line
3-conductor line
+
v1
-
Reference conductor
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 201
W-2024.09
Feedback
Chapter 5: S-parameter Modeling Using the S-element
References
References
[1] Dmitri Borisovich Kuznetsov and Jose E. Schutt-Aine, “Optimal Transient Simulation of
Transmission Lines”, IEE Transaction on Circuits and Systems-I: Fundamental Theory
and Applications. Vol. 43, No. 2, February 1996
[2] Bjorn Gustavsen and Adam Semlyen, “Rational Approximation of Frequency Domain
Responses by Vector Fitting,” IEEE Transaction on Power Delivery, Vol.14, No.3, pp.
1052-1061, July 1999
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 202
W-2024.09
Feedback
6
W- and T-elements Transmission-Line Modeling
Describes how to use basic and advance transmission-line models and the various
methods available to input transmission-line descriptions.
PrimeSim HSPICE ships many examples for your use. For W-element-related demo files,
see Transmission (W-element) Line Examples in the PrimeSim HSPICE User Guide:
Demonstration Netlists.
The following sections discuss these topics:
• Overview of W-element Usage
• Using the W-element
• Controlling W-element Accuracy
• Understanding Frequency-dependent Matrices and Transmission Line Theory
• Overview of T-element Usage
• Using T-element for Predicting Simple Tx Line Effects
• References
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 203
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Overview of W-element Usage
W-element Capabilities
The W-element is a multiconductor lossy frequency-dependent transmission line. It
provides advanced modeling capabilities for transmission lines. The W-element provides:
• Ability to extract analytical solutions for AC and DC.
• No limit on the number of coupled conductors.
• No restriction on the structure of RLGC matrices; all matrices can be full.
• No spurious ringing, such as is produced by the lumped model. (See Figure 59.)
• Accurate modeling of frequency-dependent loss in the transient analysis.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 204
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
• Built-in 2D field solver, which you can use to specify a physical line shape.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 205
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Syntax
The syntax of the RLGC model for the W-element is:
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 206
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Parameter Description
wp Angular frequency of the polarization constant [radian/sec] (see Introducing the Complex
Dielectric Loss Model). When the wp value is specified, the unit of Gd becomes [S/m].
The wp parameter is an array property; you can specify as many polarization frequencies
as you want to achieve Equation 61.
Lgnd DC inductance value, per unit length for grounds (reference line).
Rsgnd Skin effect resistance value, per unit length for ground .
Sample Netlist
The following input netlist file shows RLGC input for the W-element:
* W-Element example, four-conductor line
W1 N=3 1 3 5 0 2 4 6 0 RLGCMODEL=example_rlc l=0.97
V1 1 0 AC=1v DC=0v pulse(4.82v 0v 5ns 0.1ns 0.1ns 25ns)
.AC lin 1000 0Hz 1GHz
.DC v1 0v 5v 0.1v
.tran 0.1ns 200ns
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 207
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Simulation Results
The following three figures show plots of the simulation results:
• Figure 60 shows DC sweep.
• Figure 61 shows AC response.
• Figure 62 shows transient waveforms.
These figures also demonstrate that the transmission line behavior of interconnects
has a significant and complicated effect on the integrity of a signal. This is why it is very
important to accurately model transmission lines when you verify high-speed designs.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 208
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
4
Frequency Responses (V)
V4
2
V1
V5
0
0 200 400 600 800 1000
Frequency (MHz)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 209
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
V1
4
Transient Waveforms (V)
2
V4
0 V5
-2
-4
0 50 100 150 200
Time (ns)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 210
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Note:
You can skip the optional parameters, because they default to zero. But if you
specify an optional parameter, then you must specify all preceding parameters,
even if they are zero.
An asterisk (*) in an RLGC file comments out everything until the end of that line. You can
use any of the following characters to separate numbers:
This RLGC file is for the same netlist example used for the RLGC model in the Input
Model 1: W-element, RLGC Model:
* W- Element example, four-conductor line
.end
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 211
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
0 41.0
0 0 33.5
* Go
0.000609
-0.0001419 0.000599
-0.00002323 -0.00009 0.000502
* Rs
0.00135
0 0.001303
0 0 0.001064
* Gd
5.242e-13
-1.221e-13 5.164e-13
-1.999e-14 -7.747e-14 4.321e-13
The RLGC file format does not support scale suffixes, such as:
n (10^-9) or p (10^-12)
Umodel=U-model_name
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 212
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Equation 47
In the preceding equation, the core resistance (Rc) is equivalent to the DC resistance
(Ro) in the W-element. The frequency at which the U-element computes the R matrix
is:
Equation 48
RLGC input; Elev=2 Uses the Rs values that you specify in the U model.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 213
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Geometric input; Elev=1 Divides the Rs (which the U model computes internally), by
to obtain the Rs value. For Elev=1, the Rs value in the U model
printout is not the same as the Rs value in the W-element.
If you do not specify the RISETIME option, the U-element uses Tstep from the .TRAN card.
Table 8 RLGC Matrices in the W-element and the U Model
W- U Model parameters
element
paramet
ers
L, C
Go, Gd
Sample Netlist
The following netlist is for a 4-conductor line as shown in Figure 63.
* W Element example, four-conductor line, U model
W1 1 3 5 0 2 4 6 0 Umodel=example N=3 l=0.97
.MODEL example U LEVEL=3 NL=3 Elev=2 Llev=0 Plev=1 Nlay=2
+ L11=2.311uH
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 214
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
+ L12=0.414uH L22=2.988uH
+ L13=84.2nH L23=0.527uH L33=2.813uH
+ Cr1=17.43pF
+ C12=5.41pF Cr2=10.1pF
+ C13=1.08pF C23=5.72pF Cr3=17.67pF
+ R1c=42.5 R2c=41.0 R3c=33.5
+ Gr1=0.44387mS
+ G12=0.1419mS Gr2=0.3671mS
+ G13=23.23uS G23=90uS Gr3=0.38877mS
+ R1s=0.00135 R2s=0.001303 R3s=0.001064
V1 1 0 AC=1v DC=0v pulse(4.82v 0v 5ns 0.1ns 0.1ns 25ns)
.AC lin 1000 0Hz 1GHz
.DC v1 0v 5v 0.1v
.TRAN 0.1ns 200ns
.END
Four-conductor line
+ v3 v4
-
v5 v6
+ Reference conductor +
_ _
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 215
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
You can use this extension of the W-element syntax to specify a table model (use
a .MODEL statement of type w). To accomplish this, the .MODEL statement refers to .MODEL
statements where the “type” is SP (described in Small-Signal Parameter Data Frequency
Table Model), which contain the actual table data for the RLGC matrices.
Note:
To ensure accuracy, the W-element tabular model requires the following:
W elementtabular model accuracyaccuracy, W element tabular model
• R and G tables require zero frequency points.
• L and C tables require infinity frequency points as well as zero frequency points.
To specify a zero frequency point, you may use DC keyword or f=0 data entry in the DATA
field of the SP model. To specify an infinity frequency point, use the INFINITY keyword of
the SP model. See also, Small-Signal Parameter Data Frequency Table Model.
The following sections discuss these topics:
• Notation Used
• Table Model Card Syntax
• Examples: 4-Conductor Tx Line and RLGC Model List
• Introducing Causality Check for W-element RLGC Table Model
Notation Used
• Lower-case variable: Scalar quantity
• Upper-case variable: Matrix quantity
• All upper-case words: Keyword
• Parentheses and commas: Optional
Parameter Description
FITCG Keyword for W Model (w/ MODELTYPE=TABLE) 1=causality check on (eliminates ringings
for segmented lines), 0= causality check off (default)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 216
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Parameter Description
RLMODEL SP model name for the resistance matrix array. By default, it is zero.
GMODEL SP model name for the conductance matrix array. By default, it is zero.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 217
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Header, options and .OPTION POST V1 7 0 ac=1v dc=0.5v pulse(0.5v 1.5v 0ns 0.1ns) V2 8 0
sources dc=1v
Analysis .DC v1 0.5v 5.5v 0.1v SWEEP length POI 2 1.2 2 .AC lin 200 0Hz 1GHz
SWEEP Ro POI 3 400 41.6667 400 .TRAN 0.1ns 50ns
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 218
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Figure 64 Non-consistency between segmented lines and one integral line; DELAYOPT=0
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 219
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Figure 65 Non-consistency between segmented lines and one integral line; DELAYOPT=3
The solution to this issue lies in the dielectric properties of a transmission line system. In
an ideal capacitor, the current that flows through the capacitor is exactly 90 degrees out
of phase with the voltage sine wave. If the ideal capacitor were filled with an insulator with
a dielectric constant of , the capacitance would increase to . However, real
dielectric materials have some resistivity associated, which leads to leakage current. This
current is completely in phase with the voltage. It can be modeled as an ideal resistor.
By conventional transmission line theory, it is modeled by conductor G. Both of C and G
are frequency-dependent parameters in a real transmission line system. The frequency-
dependent character comes from the dipoles in dielectric material. Actually, both of these
two terms relate to the number of dipoles, how large they are and how they are able to
move. These characters are described by dielectric constant of the material.
Equation 49
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 220
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
The real part of corresponds to the motion of the dipoles that are out of phase with
the applied field and contributes to increasing capacitance, while the imaginary part
corresponds to the motion of the dipoles that are in phase with the applied voltage and
contribute to the losses.
Since the frequency-dependent character of both of these terms relates to the motion of
dipoles, which can be described by , the real and imaginary part of must satisfy the
Kramers-Kronig relationship. And therefore, we can fit with rational function.
Equation 50
SMODEL=Smodel_name NODEMAP=XiYj...
where:
• Smodel_name is an S-model, which is normally used for an S-element. Use the
XLINELENGTH keyword in the S-model statement to indicate the line length of the
system where the S-parameters are extracted. This keyword is required only when
you use an S-model with a W-element. See S-element Syntax in PrimeSim Continuum
User Guide: Elements for more information.
• NODEMAP is a string that assign each index of the S-parameter matrix to one of the W-
element terminals. This string must be an array of pairs that consists of a letter and a
number, (for example, Xn), where
◦ X= I, i, N, or n to indicate near end (input side) terminal of the W-element
◦ X= O, i, F, or f to indicate far end (output side) terminal of the W-element.
For example, NODEMAP = I1I2O1O2 represents that the
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 221
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
◦ 1st port of the s-matrix corresponds to the 1st near end terminal of the W-element.
◦ 2nd port of the s-matrix corresponds to the 2nd near end terminal of the W-element.
◦ 3rd port of the s-matrix corresponds to the 1st far end terminal of the W-element.
◦ 4th port of the s-matrix corresponds to the 2nd far end terminal of the W-element.
NODEMAP = I1I2I3...InO1O2O3...On is the default setting.
S-Model Conventions
When specifying an S model, you must adhere to the following rules and conventions:
• The size of the NODEMAP array must be the same as twice the line number of the W-
elements and also must be the same as the port count of the S-parameter matrices.
• If the W-element input model is S-MODEL, an S-model definition must accompany that
input model.
• S-parameters must have even number of terminals.
• S-parameters must be symmetric.
• S-parameters must be passive.
• Transmission-line based S-parameters can be used with different lengths of a system
when the varying length keyword (L) in a W-element instance statement is present.
• The XLINELENGTH keyword must be set when used in S-models that use W-elements.
S-Model Example
The following input netlist file shows S-model input for the W-element:
**** W Element Example: S Model ***
rout out 0 50
vin in gnd LFSR (1 0 0 0.1n 0.1n 1g 1 [5,2] rout=50)
*+ pulse(0 1 0 0.1n 0.1n 0.9n 2n)
W1 in gnd out gnd SMODEL=smodel N=1 l=0.3
+ NODEMAP=I1O1
.MODEL smodel S TSTONEFILE=w.s2p
+ XLINELENGTH=0.3
.opt accurate post
.tran .01n 20n
.end
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 222
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
Input Interface
To trigger a passive noise model, the NOISE and DTEMP keywords in an W-element
statement are used:
Parameter Description
DTEMP Temperature difference between the element and the circuit, expressed in °C. The default is 0.0.
Element temperature is calculated as:
T = Element temperature (°K)
= 273.15 (°K) + circuit temperature (°C)
+ DTEMP (°C)
Where circuit temperature is specified using either the .TEMP statement, or by sweeping the global
TEMP variable in .DC, .AC, or .TRAN statements. When a .TEMP statement or TEMP variable is
not used, the circuit temperature is set by .OPTION TNOM, which defaults to 25 °C unless you
use .OPTION SPICE, which raises the default to 27 °C.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 223
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using the W-element
result can be stamped into a PrimeSim HSPICE noise analysis as 2N-correlated noise
current sources: ji (i=1~2N), as shown in Equation 51:
Equation 51
where:
i=1~N corresponding to N input terminals
i=N+1~2N corresponding to N output terminals.
The noise-current correlation matrix represents the frequency-dependent statistical
relationship between 2N noise current sources, ji (i=1~2N), shown in the following figure.
j1 j
N+1
in1 out1 in2 out2
in2 out2
j2 j
N+2
...
...
...
...
...
j
N
j2 N
Output Interface
PrimeSim HSPICE creates a .lis output list file that shows the results of a noise analysis
just as any other noisy elements. The format is as follows:
**** w element squared noise voltages (sq v/hz)
element 0:w1
N(i,j) data
r(N(i,j)) data
... i,j = 1~N ...
total data
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 224
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Controlling W-element Accuracy
where:
• N(i,j) = contribution of j1jj* to the output port
• r(N(i,j)) = transimpedance of ji to the output port
• total = contribution of total noise voltage of the W-element to the output port.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 225
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Controlling W-element Accuracy
It is generally a good idea to explicitly set RISETIME, especially if you are using behavioral
(controlled) sources or Verilog-A sources that do not have edge rates that can be
determined by statically parsing the netlist.
You may want to let PrimeSim HSPICE determine RISETIME under the following
conditions:
• The sources are independent and not subject to unexpected incidents that modify the
predicted edge rates.
• You don't want to risk forgetting to reset RISETIME when you modify your sources.
• You share the netlist others who may use it without knowing that the RISETIME is set
such as in the case of intellectual property.
• There is a potential for making a mistake in RISETIME estimation.
Note:
The DELAYOPT=3 option activates additional evaluation functions in transient
analysis, which might take longer CPU time.
To set this parameter as a global option for all W-elements in a netlist, see .OPTION
WDELAYOPT in the PrimeSim HSPICE Reference Manual: Commands and Control
Options.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 226
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Controlling W-element Accuracy
if necessary. This process may cause slight additional computational cost and slight
difference in element behavior in DC offset. Should you choose to use this conventional
behavior, set DCACC=0 in the W-element instance or model line to deactivate this process.
improves transient accuracy for short lines, but reduces efficiency. Setting TLINLIMIT=1
disables this special breakpoint building.
Longer transmission lines might experience prolonged time intervals when nothing
happens at the terminals, while the wave propagates along the line. If you increase the
time step, the accuracy of the simulation decreases when the wave reaches the terminal.
To prevent this for longer lines excited with short pulses, set .OPTION DELMAX to limit the
time step to between 0.5 and 1 of the excitation transient.
TLINLIMIT=0 parameter limits the maximum time step by the minimum transmission line
delay, which results in poor performance for cases with ultra-short delay transmission lines
because too many redundant time points are calculated, especially when the transmission
line terminal signals do not vary rapidly. The same problem exists with the DELMAX option
where time steps are evenly set in spite of terminal signal variation. This is inefficient.
The WACC option was added to solve this problem by providing dynamic step control for W-
element transient analysis. Setting WACC to a positive value removes the static breakpoints
and the necessary time points are set dynamically according to the variations in terminal
currents and voltages.
The WACC option has the following syntax:
.OPTION WACC=value
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 227
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
where WACC is a non-negative real value between 0.0 and 10.0. PrimeSim HSPICE
assigns WACC -1 if you do not set a WACC option, or if you set .OPTION WACC. When a
value of 1 is specified, PrimeSim HSPICE assigns WACC with a positive value. If a non-
negative value is set in the .option line (.OPTION WACC=XXX), PrimeSim HSPICE uses
the specified WACC value for all the W-elements. When a positive WACC value is set, the
dynamic time step control algorithm is activated. When WACC is zero, the conventional
static time step control method is used. Larger WACC values result in less restriction in time
point intervals therefore faster simulation), while smaller values result in denser time points
with higher accuracy.
A positive WACC is selected by default to activate the dynamic time step control. PrimeSim
HSPICE automatically finds the optimum WACC value based on the netlist properties such
as transmission line system delay, risetime, and transient command configurations. Since
the W-elements in the netlist may have different properties, each has its own WACC values.
If a user-specified positive WACC value is found in the netlist, PrimeSim HSPICE uses the
user-defined WACC value for all the W-elements in the netlist. If the user-specified WACC is
larger than the automatic estimation, PrimeSim HSPICE outputs a warning message.
For cases containing IBIS, PKG, EBD, or ICM blocks, PrimeSim HSPICE turns WACC off
automatically. If you want to use the dynamic time step control algorithm for IBIS related
cases, you must set it explicitly in the netlist for example:
.option WACC $ Make PrimeSim HSPICE use automatically generated WACC
value for each W element
or:
.option WACC=value $ Use this value for all the W elements
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 228
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
Equation 52
Equation 53
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 229
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
Multiconductor systems in which this approximation is valid take the name quasi-TEM
lines. For typical micro-strip systems the quasi-static approximation holds up to a few GHz.
Frequency-Dependent Matrices
The static (constant) L and C matrices are accurate for a wide range of frequencies. In
contrast, the static (DC) R matrix applies to only a limited frequency range, mainly due to
the skin effect. A good approximate expression of the R resistance matrix with the skin
effect is:
Equation 54
or:
Equation 55
where:
• is the DC resistance matrix.
• is the skin effect matrix.
The imaginary term depicts the correct frequency response at high frequency; however,
it might cause significant errors for low-frequency applications. In the W-element,
Equation 54 can be chosen by RSTYPE=1 (default) or Equation 55 by RSTYPE=2. Also, you
can exclude this imaginary term:
Wxxx i1 i2 ... iN iR o1 o2 ... oN oR N=val L=val INCLUDERSIMAG=NO
Equation 56
where:
• models the shunt current due to free electrons in imperfect dielectrics.
• models the power loss due to the rotation of dipoles under the alternating field (C.
A. Balanis, Advanced Engineering Electromagnetics, New York: Wiley, 1989).
• fgd is a cut-off frequency.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 230
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
If you do not set fgd, or if you set fgd to 0, then G(f) keeps linear dependency on the
frequency. In the W-element, the default fgd is zero (that is, G(f) does not use the fgd
value).
You can specify an alternate value in the W-element statement:
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 231
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
This polarization loss leads to a complex permittivity, , for the dielectric material [3].
Equation 57
You can specify loss tangent of the dielectric material as the ratio of imaginary part of
to the real part:
Equation 58
You can write complex electric permittivity for a single dielectric dipolar moment:
Equation 59
where:
• and are low and high frequency limits of dielectric permittivity, which are real
numbers.
• is the angular frequency that corresponds to the polarization time constant of the
dielectric material.
In Equation 59, frequency-dependent complex shunt loss conductance is expressed as [4],
Equation 60
Where the imaginary part of the conductance contributes reactively. In cases of multiple
dielectric materials surrounding the system, the complex loss conductance extends as
linear combinations of multiple dipole moments as:
Equation 61
Since Equation 61 satisfies the Krong-Kramers condition, you can ensure the passivity/
causality of the system. Activating this new model changes the definition of Gd from
conventional [S/m*Hz] to [S/m].
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 232
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
To set the INCLUDEGDMAG keyword as a global option for all W-elements in a netlist,
see .OPTION WINCLUDEGDIMAG in the PrimeSim HSPICE Reference Manual:
Commands and Control Options.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 233
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 234
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
Equation 62
Equation 63
A diagonal term of an admittance matrix is the sum of all self and mutual admittance in this
row. This term is larger (in absolute value) than the sum of all off-diagonal terms in its row
or column. Admittance matrices are strictly diagonally dominant (except for a zero matrix).
For example, you can express diagonal terms for capacitance matrix c as shown in the
following figure:
C12 C13
2 1 3
Cr1
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 235
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
You can obtain loop impedance matrix terms from the partial impedance matrix:
Equation 64
where partial impedance is a ratio of induced current versus applied voltage without
considering the series and coupling effect of the return path. Then in the preceding
equation, the g index denotes a reference node which does not appear in Maxwellian
format matrices.
The file line2.wzo stores the output (see the following example external file).
* w-element model [2_line] Characteristic Impedance Matrix:
.MODEL ZO SP N=2 SPACING=POI MATRIX=SYMMETRIC
+ DATA=3
+ 1.0e6
+ 175.362 -156.577
+ 3.54758 -2.53246 175.362 -156.577
+ 1.0e9
+ 48.7663 -1.3087
+ 1.69417 -0.0073233 48.7663 -1.3087
+ 1e12
+ 48.9545 0.238574
+ 1.66444 0.0348332 48.9545 0.238574
The following example shows a PRINTZO statement with the MIXEDMODEZO option enabled.
The syntax is:
W1 N=2 in1 gnd out1 out2 gnd RLGMODEL=line2_mx 1=0.1
+ PRINTZO=POI 3 1e6 1e9 1e12
+ MIXEDMODEZO=1
Then the mixed mode characteristic impedance will be stored in: line2_mx.wzo. For more
information about *.wzo, see File Description for *.wzo.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 236
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
Equation 65
where and are inductance and capacitance matrices of the system, respectively,
and in this case, the characteristic impedance is a real matrix. When the system becomes
lossy, in other words, the system has nonzero resistance, , and/or nonzero shunt
loss conductance, . Equation 66 expresses characteristic impedance as a function of
frequency, :
Equation 66
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 237
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
solver) mode, U-element model, or scattering (S-parameter) model. You can compute the
characteristic impedance, not only from the RLGC model, but also from any other of W-
element configurations when you use the keyword PRINTZO to specify the frequency point.
i4
L4
v4 i3
L3
v3 i2
L2
v2 i1
v1
L2n l2d,i2c
v2d,v2
L2p
L1n
l1d,i1c
L1p
Equation 67
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 238
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
Substitute Equation 67 for Equation 69, and the mixed-mode characteristic impedance can
relate to the single-ended one as shown in Equation 69:
Equation 68
Equation 69
thus:
Equation 70
For example, for a system with one differential pair of lines, the transformation matrix
would be:
Equation 71
Equation 72
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 239
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
where:
• is differential (mode) impedance
Equation 73
Equation 74
The netlist fragment creates two impedance matrices, one at 10 MHz and the other at 10
GHz. The netlist fragment then writes them to the file line.wzo for this two-conductor W-
element.
The .wzo file contains complex impedances in the form R + jX, where the first term of each
pair is R and the second is X. The off-diagonal (negative) terms relate to the interactions
between conductors (common mode). For a single-ended analysis, the diagonal terms are
identical.
For the mixed-mode configuration, the [1,1] term is the differential mode impedance, and
the [2,2] term is the common mode impedance. It is typical for the matrices to show a 3 or
4 to 1 ratio of the [1,1] to the [2,2] terms. Loosely-coupled conductors means that the ratio
is close to 4:1. This is because and .
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 240
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
Wave Propagation
To illustrate the physical process of wave propagation and reflection in transmission lines,
Figure 69 shows lines where the voltage step excites simple termination.
Z1 v2 Z2
v1
v
t=t1
x
v
t=t2
x
v
t=t3
x=0 x=l x
v1 v2
0 2t 4t 6t 8t t 0 t 3t 5t 7t t
t1, t2, t3 t1, t2, t3
• At time t=t1, a voltage step from the e1 source, attenuated by the Z1 impedance,
propagates along the transmission line.
• At t=t2, the voltage wave arrives at the far end of the transmission line, is reflected, and
propagates in the backward direction. The voltage at the load end is the sum of the
incident and reflected waves.
• At t=t3, the reflected wave arrives back at the near end, is reflected again, and again
propagates in the forward direction. The voltage at the source end is the sum of
attenuated voltage from the e1 source, the backward wave, and the reflected forward
wave.
The surface plot in Figure 70 shows voltage at each point in the transmission line. The
input incident propagates from the left (length = 0) to the right. You can observe both
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 241
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
reflection at the end of the line (length = 1) and a reflected wave that goes backward to the
near end.
1
V1 [V]
1
0.05
0.5
0
0 0.1
0.2 0.05
0.4
0.6 Time [ns]
0.8 0
Length [cm]
You can find more information about transmission lines in this resource: H.B. Bakoglu,
Circuits, Interconnections and Packaging for VLSI. Reading, MA: Addison-Wesley, 1990.
The following sections discuss these topics:
• Propagating a Voltage Step
• Handling Line-to-Line Junctions
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 242
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
Termination
n et wo r k2
+ . .
n et wo r k1
[e1]2 . + [e2]2
. - . . . -
. .
. [v1]N
.
+ [v2]N .
[e1]M + + +
- _ Reference conductor _ [e2]M
-
0 l x
vr1 vr2
Wvr v2
v1 v2
+ +
e1 e2
Tv1 + v1 Wvb
+ Tv2
vb1 vb2
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 243
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
This model reproduces the general relationship between the physical phenomena of wave
propagation, transmission, reflection, and coupling in a distributed system. It can represent
an arbitrarily-distributed system, such as:
• Transmission line
• Waveguide
• Plane-wave propagation
You can use this model for:
• System analysis of distributed systems, or
• Writing a macro solution for a distributed system without complicated mathematical
derivations.
Figure 60 shows how transmission lines and terminations form a feedback system.
Because the feedback loop contains a delay, both the phase shift, and the sign of the
feedback change periodically with the frequency. This causes oscillations in the frequency-
domain response of the transmission lines, such as those in Figure 60.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 244
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Understanding Frequency-dependent Matrices and Transmission Line Theory
. . .
. . .
[v]N
+
-
Wvr1 T1 + Wvr2
v v
+ 1 2 +
Wvb1 + T2 Wvb2
The Wvr and Wvb propagation functions describe how propagation (from one termination
to another) affects a wave. These functions are equal for the forward (Wvr) and backward
(Wvb) directions. The off-diagonal terms of the propagation functions represent the
coupling between conductors of a multiconductor line.
As a wave propagates along the line, it experiences delay, attenuation, and distortion
(see Figure 73). Lines with frequency-dependent parameters (that is, all real lines) do not
contain the frequency-independent attenuation component.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 245
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Overview of T-element Usage
Transient
characteristic
ww (t)
Frequency Larger
dependent losses
issues
Attenuation
Distortion
0 Delay Time, t
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 246
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
T-element Capabilities
The T-element is useful for modeling ideal transmission lines in terms of their impedance
and delay. The U-element is useful for modeling lossy, nonideal transmission lines in terms
of lumped-element equivalent circuits. The T- and U-elements can model effects such as:
• Time delay
• Phase shift
• Coupling and Crosstalk
• Distortion
in out
Z0 Z0
vin vout
iin iout
refin refout
The input and output of an ideal transmission line have these relationships:
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 247
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
The signal (propagation) delays for ideal transmission lines are specified as one of the
following:
• TDeff=TD (if only TD is given)
• TDeff=TD*L if TD and L are given
• TDeff=NL/F if NL and F are given
• TDeff=TD if you use a U model
The ideal transmission line only delays the difference between the signal and the
reference. Note that although you can specify length as an input parameter, it is used
only to compute the effective propagation delay. Some applications, such as a differential
output driving twisted pair cable, require both differential and common mode propagation.
Use a W-element or U-element, if you need to model both propagation modes and
coupling. If not, you can use two T-elements (see Figure 75) to model uncoupled
differential signals. In this figure, the two lines are completely uncoupled but the delay and
impedance values are correctly modeled.
out
in
outbar
You cannot implement coupled lines with the T-element so use W-elements or U-elements
for applications requiring two or three coupled conductors.
transmission linescoupledlines
Synopsys circuit simulation uses a transient timestep that does not exceed half the
minimum line delay. Very short transmission lines (relative to the analysis time step) cause
long simulation times. You can replace very short lines with a single R, L, or C-element
(see Figure 76).
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 248
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 249
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
or:
R = equivalent series resistance
C = equivalent shunt capacitor
L = equivalent series inductance
Figure 76 shows how to select a model based on source and interconnect properties.
wiremodel selectioncharttransmission linesmodelsselection
Figure 76 Wire model selection chart
Default U
Compatibility with
conventional SPICE T
Infinite bandwidth:
trise < 5 TD required for ideal T
(high frequency) sources
U model
Consider crosstalk U
effects
Default U
Use the U model with either the ideal T-element or the lossy U-element. You can also
use the T-element alone without the U model. PrimeSim HSPICE offers both a flexible
definition of the conventional SPICE T-element and an accurate U-element lossy
simulation.
transmission linesselectionelements
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 250
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
Physical Geometry
U Model Calculated
Precalculated R, C, L Field Solution R, C, L
The T- and U-elements do not support the [M=val] multiplier function. If a U- or T-element
multiplier function, U and T Elementsmultiplier parameter, U and T ElementsU Elementsmultiplier function MT Elementsmultiplier function M
is used in a subcircuit and an instance of the subcircuit has a multiplier applied, that
multiplier is not applied to the T- or U-element.
A warning message similar to the following is issued in both the status file (.st0) and the
output file (.lis) if the smallest transmission line delay is less than TSTOP/10e6:
**warning**: the smallest T-line delay (TD) = 0.245E-14 is too small
Please check TD, L and SCALE specification warnings, T-line delay too small
This feature is an aid to finding errors that cause excessively long simulations.
transmission linesdelay too small warning
Note:
All transmission lines have a ground reference for the signal conductors. In
this manual, the ground reference is called the reference plane so that it is not
confused with SPICE ground. The reference plane is the shield or the ground
plane of the transmission line element. The reference plane nodes may or may
not be connected to SPICE ground.
transmission linesHSPICEreference planereferenceplane, transmission linesgroundplane, transmission linestransmission linesground plane
Comparison of Ideal and Lossy Transmission Line Elements
The ideal and lossy transmission line models each have particular advantages, and they
may be used in a complementary manner. Both model types are fully functional in AC
analysis and transient analysis. Some of the comparative advantages and uses of each
type of model are listed in Table 11.
transmission linesidealpropertiestransmission lineslossy modelpropertieslossytransmission linesideal transmission linelosslesstransmission lines
Table 11 Ideal versus Lossy Transmission Line
Ideal Transmission Line Lossy Transmission Line
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 251
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
Less CPU time for long delays Less CPU time for short delays
The ideal line is modeled as a voltage source and a resistor. The lossy line is modeled as
a multiple lumped filter section as shown in Figure 78.
transmission lineslumpedRC model
Figure 78 Ideal versus lossy transmission line model
in out in out
Because the ideal element represents the complex impedance as a resistor, the
transmission line impedance is constant, even at DC values. On the other hand, you must
prefilter the lossy element if ideal piecewise linear voltage sources are used to drive the
line.
Transmission Lines: Example
The following file fragment is an example of how both T-elements and U-elements can be
referred to a single U-model as indicated in Figure 77. The file specifies a 200 mm printed
circuit wire implemented as both a U-element and a T-element. The two implementations
share a U-model that is a geometric description (ELEV=1) of a planar structure (PLEV=1).
T1 in gnd t_out gnd micro1 L=200m
U1 in gnd u_out gnd micro1 L=200m
.model micro1 U LEVEL=3 PLEV=1 ELEV=1 wd=2m ht=2m th=0.25m
+ KD=5
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 252
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
The A represents the incident voltage, B represents the reflected voltage, Z0 is the
characteristic impedance, and β is the propagation constant. The latter is related to the
transmission line inductance (L) and capacitance (C) by the following equation:
At the end of the transmission line ( ), the propagation term becomes the following
equation:
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 253
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
Using T-element for Predicting Simple Tx Line Effects
where:
: absolute time delay (sec)
: physical length (L) (meters)
: phase velocity (meters/sec)
Using standard distance=velocity*time relationships, the PrimeSim HSPICE T-element
parameter values are related to these terms according to:
where:
: frequency
: wavelength
: relative time delay (TD) (sec/meter)
where:
: physical length (L) (meters)
: normalized length (NL)
: frequency at NL (F) (Hz)
The T-element is therefore an ideal behavioral model given in terms of Zo and delay, yet
you can relate it back to inductance, capacitance, velocity, and/or length quantities as
needed. PrimeSim HSPICE allows you to specify the T-element transmission line in four
different ways:
• Z0, TD
• Z0, TD, L
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 254
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
References
• Z0, NL, F
References
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 255
W-2024.09
Feedback
Chapter 6: W- and T-elements Transmission-Line Modeling
References
[1] Dmitri Kuznetsov, “Optimal Transient Simulation of Transmission Lines,” IEEE Trans.,
Circuits Syst., vol.43, pp. 110-121, Feb., 1996.
[2] Luca Daniel and Joel Philips, “Model Order Reduction for Strictly Passive and Causal
Distributed Systems,” proceeding of DAC, June, 2002
[3] [2] Colin Gordon, Thomas Blazeck, and Raj Mittra, “Time-Domain Simulation of
Multiconductor Transmission Lines with Frequency-Dependent Losses,” IEEE
TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. I I. NO. 11, pp. 1372-1387,
NOVEMBER 1992
[4] [3] Qingiian Yu and Omar Wing, “Computational Models of Transmission Lines
with Skin Effects and Dielectric Loss,” IEEE TRANSACTIONS ON CIRCUITS AND
SYSTEMS-I: FUNDAMENTAL THEORY AND APPLICATIONS. VOL. 41, NO. 2, pp.
107-119, FEBRUARY 1994
[5] Eric Bogatin, “Signal Integrity Simplified”, Prentice HallBjorn Gustavsen and Adam
Semlyen, “Rational Approximation of Frequency Domain Responses by Vector Fitting,”
IEEE Transaction on Power Delivery, Vol.14, No.3, pp. 1052-1061, July 1999
[6] Ravi Kollipara, et al “Practical Design Considerations for 10 to 25 Gbps Copper
Backplane Serial Links,” DesignCon 2006, Santa Clara, CA, U.S.A. E. Hammerstad
and O. Jensen, “Accurate models for microstrip computer aided design,” IEEE MTT-S
Int. Microwave Symp. Dig., 1980,. pp. 407-409.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 256
W-2024.09
Feedback
7
Using the Field Solver to Extract Tx Line
Parameters
Describes how to use the built-in PrimeSim HSPICE Field Solver for transmission line
parameter extraction.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 257
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Using the Field Solver Model
Filament Method
This section describes the filament method for the skin-effect resistance and inductance
solver. The 2-D filament method uses data about magnetic coupling when it extracts
frequency-dependent resistance and inductance. To use this solver, set COMPUTE_RS=yes
in a .FSOPTIONS statement.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 258
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Using the Field Solver Model
4. This method uses the following equation to solve the current matrix ( ):
Equation 75
6. The filament method uses the following equation to solve the partial impedance matrix
( ):
161
7. From the components of the partial impedance matrix, the filament method uses
the following relationship to calculate the components of the loop
impedance matrix:
Equation 76
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 259
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field-Solver-Related Netlist Statements
Modeling Geometries
In geometry modeling:
• The number of dielectric layers is arbitrary.
• You can arbitrarily shape the conductor cross-section, including an infinitely-thin strip.
• The number of conductors is unlimited.
• The current dielectric region must be planar.
• Conductors must not overlap each other.
• Magnetic materials are not supported.
Geometric modeling outputs the Maxwellian (short-circuit) transmission line matrices: C, L,
Ro, Rs, Go, and Gd. (See Equations and Parameters.)
Solver Limitation
When the field solver computes the conductance matrices (Go and Gd), if the media are
not homogeneous, then the solver uses the arithmetic average values of conductivities
and loss tangents.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 260
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field-Solver-Related Netlist Statements
.FSOPTIONS Use this statement to set various options for the field
solver.
Parameter Description
FSOPTIONS Associated option name. If you do not specify this entry, the Field Solver uses
the default options.
RLGCFILE Use the output file for RLGC matrices, instead of the standard error output
device. An RLGC file name must start with an alphabetic letter (not a number).
If the specified file already exists, then the Field Solver appends the output. To
generate output, you must set PRINTDATA in .FSOPTIONS to YES; setting it to
APPEND, appends the extracted RLGC model to the specified file.
COORD The polar field solver is invoked only when COORD=1 or COORD=POLAR.
OUTPUTFORMAT Model syntax format for RLGC matrices in the W-element. Specified in the
RLGC file. Default format is an RLGC model.
MATERIAL Conductor material name. If you do not specify this entry, the Field Solver
defaults to the predefined metal name PEC (perfect electrical conductor).
PEC
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 261
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field-Solver-Related Netlist Statements
Parameter Description
ORIGIN=(val1, val2) val1, val2 can be (x,y) for regular coordinates and (radius, degree) for polar
coordinates.
Notes
• The forms of the following arguments are interchangeable:
COMPUTE_GO : COMPUTEGO
COMPUTE_GD : COMPUTEGD
COMPUTE_RO : COMPUTERO
COMPUTE_RS : COMPUTERS
COMPUTE_TABLE : COMPUTETABLE
• If you only set COMPUTE_GD=yes in the .FSOPTIONS statement, you do not generate
data in the Gd matrix of the RLGC file. Since Gd is the dielectric loss conductance
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 262
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field-Solver-Related Netlist Statements
matrix, you also need to define the loss tangent values for each dielectric material you
have in your layer stack. For example:
.MATERIAL die1 DIELECTRIC ER=4.1 LOSSTANGENT=.012
when multiple loss tangent values are given to the .layerstack structure, the average
value (including background material property) is used.
COMPUTE_TABLE/COMPUTETABLE Keyword
Frequency sweep Definition
COMPUTE_TABLE or Specifies a type of frequency sweep. You can specify either LIN, DEC, OCT,
COMPUTETABLE POI. Specify the nsteps, start, and stop values using the following syntax for
each type of sweep:
• LIN nsteps start stop
• DEC nsteps start stop
• OCT nsteps start stop
• POI nsteps freq_values
Note: To reduce the risk of instability in subsequent simulations, the field
solver adds points to ensure that there is at least one frequency point per
decade up to 1 THz.
Default
If the COMPUTE_TABLE keyword is not specified, a conventional RLGC model is generated.
Note:
The direct solver is chosen (COMPUTERS=DIRECT) by default for table model
extraction as well as for the RLGC (non-table) model.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 263
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field-Solver-Related Netlist Statements
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 264
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field-Solver-Related Netlist Statements
Equation 77
To calculate the RMS surface roughness height, the ratio of resistivity increment, , may
be empirically estimated as:
Equation 78
Where and are the RMS surface roughness height and skin depth of the conductor
material.
When ROUGHNESS_METHOD=1 (default) is chosen, the W-element field solver will re-scale
the metal resistivity of each conductor filament at each frequency point using the surface
roughness factor as:
Equation 79
When ROUGHNESS_METHOD=2 is chosen, the W-element field solver first solves frequency
dependent impedance without surface roughness effect. Then roughness factor (SR in
Equation 62) will be applied to scale the impedance as:
Equation 80
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 265
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field-Solver-Related Netlist Statements
Where Zrough (f), Zo and Z(f) are impedance with surface roughness effect, DC impedance
and impedance without surface roughness effect, respectively.
The following sections discuss these topics:
• Syntax for Scaling RS Matrix
• Syntax for Taking RMS Surface Roughness of Conductor Materials
• Syntax for Choosing Surface Roughness Method
• Example: Transmission Line Surface Roughness
Keyword
SCALE_RS: Scaling factor to the RS matrix
Keyword
ROUGHNESS: RMS surface roughness height.
Keyword
ROUGHNESS_METHOD: Surface roughness computation method.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 266
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Accelerating the W-element Field Solver Using Multicore Technology
Keyword
COMPUTE_RS | COMPUTERS
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 267
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Visualizing Cross-Sectional Geometric Information
DIRECT Activate filament solver with direct matrix solver (same as YES)
For full discussion of the .FSOPTIONS command, see .FSOPTIONS in the PrimeSim
HSPICE Reference Manual: Commands and Control Options.
or
% chmod +x model_name.str
% model_name.str
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 268
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
The following dynamic functions are available on the structural display window:
• Move the mouse cursor over an object to display corresponding material properties.
• Drag the mouse cursor to display geometrical locations.
Note:
To use this function, the Tcl/Tk environment must be installed on users'
systems. On a Linux system, Tcl/Tk is included in the default installation
package. Manual installations are needed for the other platforms. The Tcl/Tk
environment is available for all the platforms supported by PrimeSim HSPICE.
Limitation: the POLAR coordinate is not currently supported.
For further information go to: http://www.tcl.tk/software/tcltk/8.0.html
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 269
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
Equation 81
Equation 82
Equation 83
Figure 80 shows the geometry of a copper cylindrical conductor above an ideal ground
plane.
Equation 84
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 270
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
c = 5.76e7
r = 4.0 d = 1 mm H = 3 mm
tan = 1.2e-3
Ground Plane
Header, options and * Example: cylindrical conductor .OPTION PROBE POST VIMPULSE in1
sources gnd PULSE 4.82v 0v 5n 0.5n 0.5n 25n
Analysis, outputs and end .TRAN 0.5n 100n .PROBE v(out1) .END
Compare the computed results with the analytical solutions in Table 15. The Field Solver
computes the resistance and conductance at the frequency of 200 MHz, but does not
include the DC resistance (Ro) and conductance (Go) in the computed values.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 271
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
Note:
The analytical resistance value does not consider ground plane resistivity.
AIR
150 150
2 3
r = 3.2 100
1 70
350
r = 4.3 200
Header, options * Example: three traces in dielectric .OPTION PROBE POST VIMPULSE in1 gnd PULSE 4.82v
and sources 0v 5n 0.5n 0.5n 25n
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 272
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
Table 16 Input File for Three Traces Immersed in Stratified Dielectric Media (Continued)
Listing Type Field Solver Stratified Dielectric Example
W-element W1 in1 in2 in3 gnd out1 out2 out3 gnd + FSmodel=cond3_sys N=3 l=0.5
Note:
W. Delbare and D. D. Zutter, “Space-domain Green’s function approach to the
capacitance calculation of multi-conductor lines in multi-layered dielectrics with
improved surface charge modeling,” IEEE Trans. Microwave Theory and Tech.,
vol. 37, pp. 1562-1568, October 1989.
Figure 82 shows the results of convergence analysis, based on the total capacitance of
the first conductor with respect to the GRIDFACTOR parameter.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 273
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
Accuracy Comparison
1.5
Error [%]
0.5 1
2
Grid Factor
0 3
LOW MEDIUM HIGH
Accuracy Mode
r = 2.5 0.2 mm 1 mm
3 mm
0.2 mm
r = 10 2 mm
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 274
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
Table 17 Input Netlist for Two Traces Between Two Ground Planes
Listing Type Field Solver Ground Planes Example
Header, options and * Example: two traces between gnd planes .OPTION PROBE POST VIMPULSE
sources in1 gnd PULSE 4.82v 0v 5n 0.5n 0.5n 25n
W-element W1 in1 in2 gnd out1 out2 gnd FSmodel=cond2_sys +N=2 l=0.5
Analysis, outputs and end .TRAN 0.5n 100n .PROBE v(out1) .END
Table 18 compares the computed result with the Finite Element (FEM) solver result.
Table 18 Comparison Between Computed and FEM Solver
Results
Computed
(pF/m)
FEM Solver
(pF/m)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 275
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 276
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
Coax Line
Figure 85 Polar field solver for modeling coaxial lines
*W element
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 277
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
* [[ Material List ]]
.MATERIAL diel_1 DIELECTRIC ER=4
.MATERIAL copper METAL CONDUCTIVITY=57.6meg
* [[ Shape List ]]
.SHAPE circle_1 CIRCLE RADIUS=0.5m
* [[ Layer Stack ]]
.LAYERSTACK coaxial LAYER=(diel_1 11m) $ only one
* [[ Material List ]]
.MATERIAL diel_1 DIELECTRIC ER=4
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 278
W-2024.09
Feedback
Chapter 7: Using the Field Solver to Extract Tx Line Parameters
Field Solver Examples
* [[ Shape List ]]
.SHAPE circle_1 CIRCLE RADIUS=0.5m
* [[ Layer Stack ]]
.LAYERSTACK coaxial LAYER=(diel_1 11m)) $ only one
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 279
W-2024.09
Feedback
8
Using IBIS Files
Describes how IBIS model components are included in a PrimeSim HSPICE simulation,
with usage models for IBIS buffer, component package, board-level components (EBD),
and Interconnect Specification (ICM).
PrimeSim HSPICE ships numerous of examples for your use. Find paths to IBIS-related
demo files under IBIS Examples in the PrimeSim HSPICE User Guide: Demonstration
Netlists.
For information about IBIS-Algorithmic Modeling Interface (AMI) usage with PrimeSim
HSPICE, see Chapter 9, Using IBIS-AMI Equalizer Models with StatEye.
The Input/Output Buffer Information Specification (IBIS) specifies a standard ASCII format
bufferIBIS
for presenting information describing the behavior of various I/O buffers that send electrical
signals outside the silicon chip or receive such signals.
IBIS promotes tool independent I/O models for system level Signal Integrity work and has
become:
• The ANSI/SAE-ITC and IEC 62014-1 standard for describing the analog behavior of
the buffers of digital devices using plain ASCII text-formatted data.
• An alternative to models - IBIS files are not models, they contain the data to be used by
the behavioral models and algorithms inside the simulator.
Except for SPICE or Verilog-A formatted buffers, IBIS specifies formats for the following
types of information:
• Output I-V curves for output buffers in LOW and HIGH states.
• V(t) curves describing the exact form of transitions from LOW to HIGH states and from
HIGH to LOW states for a given load.
• Values for die capacitance.
The IBIS standard was developed by the IBIS Open Forum, affiliated with the Society of
IBISmodels
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 280
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Terminology
For introductory information on using IBIS with PrimeSim HSPICE, see Simulating Circuits
with IBIS Models in PrimeSim HSPICE in this user guide.
The following sections discuss these topics:
• Terminology
• Verifying IBIS Files with the Golden Parser
• Specifying Models for IBIS Buffers
• Troubleshooting Signal Propagation Issues/Overclocking
• Multiple Rising and Falling Waveforms Support
• Differential Pins
• Buffers in Subcircuits
• Netlist Example with Output Buffer, Transmission Line, and Input Buffer
• Using the IBIS Component Command
• Using IBIS Package Modeling
• Using IBIS Board-Level Components
• Using IBIS Interconnect Modeling (ICM)
•
Terminology
The following terms are frequently used in this chapter:
Table 20 Terminologies Used in This Chapter
Term Definition
B-element The B-elementis a single instance of an IBIS buffer, whereas the .IBIS
component defines a component that has multiple buffers and can also include
package and pin information. Model selection is not available when using the
B-element.
.IBIS component The .IBIS component enables model selection using mod_sel. The mod_sel
keyword in the .IBIS statement supports multiple model assignments. If you
want to model package effects, the .IBIS component allows the use of package
models that are defined in the IBIS file or in a separate package file.
card, buffer card Denote lines from the netlist that specifies the buffer name (should begin with
the letter b), a list of external nodes, required keyword, and optional keywords.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 281
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Verifying IBIS Files with the Golden Parser
buffer, I/O buffer, One of 14 IBIS models as specified in the standard, version 5.0, and
input/output buffer implemented in the Synopsys IBIS device models.
I/O Input/Output
parser is freely available as an executable and should be used for verification of IBIS files.
The golden parser is incorporated into Synopsys circuit simulators. When processing
an IBIS file, the golden parser produces warnings or error messages that appear in the
PrimeSim HSPICE output by default.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 282
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Troubleshooting Signal Propagation Issues/Overclocking
Except for SPICE or Verilog-A formatted buffers, there are two significant differences from
the use of other elements:
• You can specify a total of 3 to 8 external nodes depending on the buffer type.
• If nodes are supposed to connect to power or ground rails, do not connect them in the
netlist because the simulation connects the nodes by default.
This chapter is not intended to introduce the IBIS standard, because it is a large
document; familiarity with the standard is assumed. A significant amount of information is
available on the Internet.
The official IBIS Open Forum web site is located at:
http://www.ibis.org
This site contains articles introducing IBIS, text of the IBIS standard, examples of IBIS
files, and tools such as the golden parser. The site also links to other web sites devoted to
IBIS.
Three types of analysis are supported for input/output buffers:
• DC analysis
• Transient analysis
• AC analysis
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 283
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Multiple Rising and Falling Waveforms Support
rm_dly_rwf and rm_dly_fwf remove initial delays from [Rising Waveform] and [Falling
Waveform], respectively.
rm_tail_rwf and rm_tail_fwf remove flat tails from [Rising Waveform] and [Falling
Waveform], respectively.
For each keyword, if the value is set as a positive number, then that amount of time is
removed from the corresponding V-T waveforms.
For each keyword, if the value is set as default, then for each V-T waveform, PrimeSim
HSPICE computes the amount of no-switching time based on the criteria that the voltage
change should be less than 0.2% of full voltage swing, then selects the minimum one as
the final value used.
The removal of initial no-switching time by 0.2% criteria is the default for both B-
element and .IBIS cards. So there is no need to set rm_dly_rwf=default or
rm_dly_fwf=default. These two keywords are just for backward compatibility.
For detailed information on the keywords, see Specifying Required and Optional Common
Keywords in PrimeSim Continuum User Guide: Elements.
Differential Pins
Differential pins refer to the relationship between buffers. This facilitates creating pseudo-
bufferdifferential pins
differential buffer by two B-elements. Specify these pins in the “Component Description”
section of the IBIS standard. Figure 87 and Figure 88, and the examples that follow these
figures, show how you can simulate differential pins using the Synopsys implementation of
IBIS.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 284
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Differential Pins
input for
output buffer Differential pins
Output
Buffer
Transmission line
You must use two separate buffers, each specified in a separate card in the netlist. They
are related only through their input, which is differential. To implement the inverter in this
situation, you must specify two independent voltage sources that have opposite polarity.
You must specify the out_of_in_1, and out_of_in_2 nodes, even if they are not used.
Differential input buffers probe the voltage between nd_in_1 and nd_in_2. A voltage-
dependent voltage source processes the voltage.
V_diff is a differential voltage parameter from the IBIS file (default is 200 mV). Add a
definition of the V_diff parameter, the E_diff_out_of_in voltage controlled voltage source,
and a R_diff_out_of_in resistor.
Differential pins
out_ot_in_2 Input
Buffer
nd_in_2
Transmission line
For example,
.PARAM V_diff = 0.2
E_diff_out_of_in diff_out_of_in 0 PWL(1) nd_in_1 nd_in_2
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 285
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Differential Pins
Use the voltage across R_diff_out_of_in as the output of the differential input buffer as
shown below:
If V(nd_in_1) - V(nd_in_2) < V_diff, V(diff_out_of_in) = 0
if V(nd_in_1) - V(nd_in_2) > V_diff, V(diff_out_of_in) = 1
In IBIS 4.1, a true differential buffer with SPICE-formatted external model is introduced.
You can use it with the rules in Multilingual Model Support and SPICE or Verilog-A
Formatted B-element Naming Rules sections.
• For greater accuracy, use a series buffer for differential mode characteristics.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 286
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Buffers in Subcircuits
Buffers in Subcircuits
The following examples demonstrate usage of buffers in subcircuit definition. Also,
modification in the circuit description, by changing the power keyword value, is explained.
**********************************************
* example 1 * buffers in subcircuit, power=on
**********************************************
v_in1 nd_in1 0 pulse
+ ( 0V 1.0V CLK_Q_PRD DLT_TIME DLT_TIME CLK_H_PRD CLK_PRD )
v_en1 nd_en1 0 1V
v_in2 nd_in2 0 pulse
+ ( 1.1V 0V CLK_Q_PRD DLT_TIME DLT_TIME CLK_H_PRD CLK_PRD )
v_en2 nd_en2 0 1V
x1 nd_out1 nd_in1 nd_en1 nd_outofin1 buffer11
x2 nd_out2 nd_in2 nd_en2 nd_outofin2 buffer11
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 287
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Buffers in Subcircuits
In this example, buffers are connected to power sources implicitly, inside the subcircuit.
Subcircuit external terminals does not need to include nd_pu, nd_pd, nd_pc, and nd_gc.
**********************************************
* example 2* buffers in subcircuit, power=off
**********************************************
v_in1 nd_in1 0 pulse
+ ( 0V 1.0V CLK_Q_PRD DLT_TIME DLT_TIME CLK_H_PRD CLK_PRD )
v_en1 nd_en1 0 1V
v_in2 nd_in2 0 pulse
+ ( 1.1V 0V CLK_Q_PRD DLT_TIME DLT_TIME CLK_H_PRD CLK_PRD )
v_en2 nd_en2 0 1V
In the example above, only one voltage source (V_power) is used to power all buffers.
Specify the power nodes, nd_pu, nd_pd, nd_pc, and nd_gc. In other words, if subcircuit
external terminals include nd_pu, nd_pd, nd_pc, or nd_gc, take care that the two X
elements calling the same subcircuit are not be connected to the same node of pu, pd, pc,
or gc. Otherwise, this results in a voltage loop error.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 288
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Netlist Example with Output Buffer, Transmission Line, and Input Buffer
buffer is shown below. A digital signal is supplied to the nd_in node. The output buffer
bufferinputexamplebufferoutputexample outputbufferexample
* transmission line
wline1 n1 0 n2 0 RLGCmodel=pcb N=1 L=0.3
* IBIS buffers
b1 nd_pc nd_gc n2 out_of_in
+ file = 'at16245.ibs'
+ model = 'AT16245_IN'
* load
rload n2 0 50
.end
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 289
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
For the syntax of the .IBIS command, see .IBIS in the PrimeSim HSPICE Reference
Manual: Commands and Control Options.
The following sections discuss these topics:
• How .IBIS Creates Buffers
• Required Keywords
• Optional Keywords
• Component Calls for SPICE or Verilog-A Formatted Pins
• Component Calls for SPICE or Verilog-A Formatted [External Circuit]
• Buffer Power
Note:
The .IBIS command does not create a buffer if the pin name is a reserved
model name, such as POWER, GND, or NC.
buffer_name = 'cname'_'pin_name'
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 290
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
Component Package
Buffer1
node1 node2 node3
PrimeSim HSPICE connects the new buffers that the .IBIS command creates to the
following nodes:
• name of buffer 1: ‘cname'_'pin_name’
• name of node 1: 'cname'_'pin_name'_i
• name of node 2: 'cname'_'pin_name'_o
• name of node 3: 'cname'_'pin_name'
Note that:
• 'cname'_'pin_name'_en is the enable node if the buffer has enable node.
• 'cname'_'pin_name'_i is the outofin node if the buffer is an input buffer; for an input/
output buffer, the outofin node is 'cname'_'pin_name'_outofin.
Required Keywords
file=’file_name’
This keyword identifies the IBIS file. The file_name parameter must be lower case and
must specify either the absolute path for the file or the path relative to the directory from
which you run the simulation.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 291
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
Example
file = '.ibis/at16245.ibs'
file = '/home/oneuser/ibis/models/abc.ibs'
component=’component_name’
This keyword identifies the component for an .IBIS command from the IBIS file, specified
using the file='...' keyword. The component_name keyword is case-sensitive, and it
must match one of the components from the IBIS file.
Example
component = 'procfast'
component = 'Virtex_SSTL_3-I_BG432'
Optional Keywords
The following sections discuss these optional keywords:
• package
• pkgfile=’pkg_file_name’
• [Model Selector] Support
• Other Optional Keywords
package
This keyword specifies the type of package to add.
package = [0|1|2|3|4]
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 292
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
This card combines the .pkg and .ibs files. If you use [Package Model] in the
cpu_133mhz_ff component, HSPICE searches for the pkg model in the comp.ibs and
test.pkg files.
pkgfile=’pkg_file_name’
You can define the package model file using the pkgfile keyword.
pkgfile = 'pkg_file_name'
If you cannot find a package model defined within a component in both the PKG and IBIS
files, HSPICE issues an error message.
If selName and modName cannot be found in a related IBIS file or they cannot be matched,
then an error occurs. In addition, the input string should be less than 1024 characters. If
a model selector is used for a pin of a component, but mod_sel is not set, then the first
model under the corresponding [Model Selector] is selected as default.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 293
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
• ramp_rwf
• ramp_fwf
• ss_state
• time_control
• dt_scale
• pd_scal
• pu_scal
• pc_scal
• gc_scal
• rwf_scal
• fwf_scal
• nowarn
• hsp_ver
• c_com_pd
• c_com_pu
• c_com_pc
• c_com_gc
• detect_oti_mid
If any keyword above is used, then it will be applied to all buffers created by the .IBIS
command.
.IBIS ibis_command_name
+ file='ibis_filename' component='component_name'
+ [package=3|0|1|2] [pkgfile='pkg_file_name']
+ [nowarn]
+ [mod_sel = 'selName_1=modName_1,
+ selName_2=modName_2,...,selName_n=modName_n']
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 294
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
buffer_name='cname'_'pin1_name1'_'pin2_name'
For related node names, refer to SPICE or Verilog-A Formatted B-element Naming Rules.
Buffer Power
The buffer component creates buffers that are always connected to the power sources
that are specified in the IBIS file. You can specify power sources in two different ways, as
described in the following sections:
• Buffer Power ON
• Buffer Power OFF
Buffer Power ON
If [Pin Mapping] is not defined in the ibs file or hsp_ver <= 2002.2, PrimeSim HSPICE
automatically sets the power of buffers to ON. Use the [Voltage Range], [Pullup
Reference], [Pulldown Reference], [POWER Clamp Reference], and [GND Clamp
Reference] keywords in the ibs file to set the voltage source inside the buffer.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 295
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
The buffer nodes expect input and output node names in this format:
'buffer_name'_node_name
buffer_name = 'cname'_'pin_name'
INPUT pc , gc
OUTPUT pu , pd , pc , gc
INPUT_OUTPUT pu , pd , en , outofin , pc , gc
THREE_STATE pu , pd , en , pc , gc
OPEN_DRAIN pu , pd , pc , gc
IO_OPEN_DRAIN pu , pd , en , outofin , pc , gc
OPEN_SINK pu , pd , pc , gc
IO_OPEN_SINK pu , pd , en , outofin , pc , gc
OPEN_SOURCE pu , pd , pc , gc
IO_OPEN_SOURCE pu , pd , en , outofin , pc , gc
INPUT_ECL pc , gc
OUTPUT_ECL pu , pc , gc
IO_ECL pu , en , outofin , pc , gc
THREE_STATE_ECL pu , en , pc , gc
Note:
For more information about nodes for different buffers, see Buffer Types in
PrimeSim Continuum User Guide: Elements.
Table 21 shows the names of the input and output nodes for the buffers:
Table 21 Input and Output Node Names for Buffers
Buffer Type Node Names
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 296
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
If the buffer has an enable terminal, you must create a node named buffer_name_en to
enable the buffer.
You can test the following sample cases using the same method explained.
In this example, you can test the buffers with the B-element.
*********
.tran 50p 30n
.option post probe
.subckt twobus_b out1 out2
boutput1 nd_pu1 nd_pd1 out1 nd_in1 nd_pc1 nd_gc1
+ file = 'pinmap.ibs'
+ model = 'out50v'
+ buffer=2 power_on
+ nowarn
boutput2 nd_pu2 nd_pd2 out2 nd_in2 nd_pc2 nd_gc2
+ file = 'pinmap.ibs'
+ model = 'out50v'
+ buffer=2 power=on
+ nowarn
Vin1_b nd_in1 0 0V pulse ( 0V 1V 1n 0.1n 0.1n 7.5n 15n )
Vin2_b nd_in2 0 0V pulse ( 0V 1V 1n 0.1n 0.1n 7.5n 15n )
.ends
Rout1_b out1_b 0 50
Rout2_b out2_b 0 50
.probe tran
+ out1_of_output_b = v(out1_b)
+ out2_of_output_b = v(out2_b)
+ in_of_output_b = v(Xtwobus_b.nd_in1)
.end
In this example, you can test the buffers that the .IBIS command creates.
*********
.tran 50p 30n
.option post probe
* add component
.ibis pcomp
+ file = 'pinmap.ibs'
+ component = 'NO_PINMAPPING'
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 297
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
+ nowarn
+ package = 0
Vin1 pcomp_1_i 0 0V pulse ( 0V 1V 1n 0.1n 0.1n 7.5n 15n )
Vin2 pcomp_2_i 0 0V pulse ( 0V 1V 1n 0.1n 0.1n 7.5n 15n )
Rout1_1 pcomp_1 0 50
Rout2_1 pcomp_2 0 50
.probe tran
+ out1_of_nopm = v(pcomp_1)
+ out2_of_nopm = v(pcomp_2)
+ in_of_output = v(pcomp_1_i)
.end
|*********************************************************
| Component NO PINMAPPING
|*********************************************************
|
[Component] NO_PINMAPPING
|
[Manufacturer] TEST
|
R_pkg 0 NA NA
L_pkg 0 NA NA
C_pkg 0 NA NA
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 298
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
.....................
|model information
....................
[END]
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 299
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
.probe tran
+ out_of_in = v(pcomp_in_2)
+ out_of_3st = v(pcomp_3)
+ out_of_io = v(pcomp_6)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 300
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using the IBIS Component Command
+ out_of_output = v(pcomp_7)
+ in_of_output = v(pcomp_7_i)
.end
[Component] IO_OUTPUT_3ST_INPUT[Manufacturer]
TEST
R_pkg 0 NA NA
L_pkg 0 NA NA
C_pkg 0 NA NA
|
|*********************************************************
|
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 301
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Package Modeling
|*********************************************************|
NC NC NC NC
NC NC GND1 VCC1
NC VCC1 NC NC
.....................
|model information
....................
[END]
Syntax
.PKG pkgname
+ pkgfile='pkgfilename'
+ model='pkgmodelname'
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 302
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Package Modeling
Examples
Example 1
.pkg p_test
+ pkgfile='processor_clk_ff.ibs'
+ model='FCPGA_FF_PKG'
Example 2—This example shows how in the second line, pin1 is referenced as the
element name changes:
p_test_pin1_dia and p_test_pin1
w_p_test_pin1_? ? or r_p_test_pin1_? ? ...
The IBIS file contains the following package information for the pins that you want to
access.
[Package Model] pkg_model
[Pin] signal_name model_name R_pin L_pin
C_pin
vdd vdd POWER
gnd gnd GND
out out driver
out2 out2 driver
Note:
If [pin mapping] is not defined in the IBIS file, then there is no connection
to the pins of vdd and gnd and the nodes of buff_vdd and buff_gnd are not
created. PrimeSim HSPICE creates voltage sources automatically for pins of
out and out2.If [pin mapping] is defined in the IBIS file, then PrimeSim HSPICE
connects PU, PD, PC, and GC of out and out2 to pins of vdd and gnd (in fact,
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 303
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
.op
.tran 10p 30n
.option probe
**********************************************************
* Stimulus
**********************************************************
**********************************************************
* Rload
**********************************************************
Rd1 ebd1_a3 0 50
Rd2 ebd1_a3 0 50
**********************************************************
* Define Component
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 304
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
**********************************************************
.ibis cmp1
+ file = 'pinmap.ibs'
+ component = 'Component1'
+ package = 0
*********************************************************
* Define EBD
*********************************************************
.ebd ebd1
+ file = 'pinmap.ebd'
+ model = 'Board1'
+ component = 'cmp1:u21'
********************************************************
* Output
********************************************************
.probe tran
+ cmp1_5_out = v(cmp1_5) $ buf_5(Output): cmp1_5
+ cmp1_5_in = v(cmp1_5_i) $ no package , so the out node is cmp1_5,
$ not cmp1_5_o
+ ebd1_a3 = v(ebd1_a3)
+ ebd1_a4 = v(ebd1_a4)
.end
.EBD 'ebd_name'
+ file = 'ebd_file_name' $ case-sensitive
+ model = 'ebd_model_name' $ case-sensitive
+ component = 'ibis_or_ebd_name:ref_des' $ case-insensitive
+ [component = 'ibis_or_ebd_name:ref_des'[...]]
.IBIS 'ibis_name'
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 305
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
Note:
Parameters surrounded by arrow brackets (< >) are not required.
Table 22 .EBD/.IBIS Required Argument Descriptions
Parameter Description
ebd_name Specifies the name of the .EBD command. This argument is case-insensitive.
ibis_or_ebd_name Specifies the name of associated .IBIS or .EBD command. This argument is
case-insensitive.
ebd_file_name Identifies the EBD file. You must specify either the absolute path for the file or the
path relative to the directory from where you run the simulation. This argument is
case-sensitive. For example:
file = './ebd/test.ebd' file = '/home/usr/ebd/test.ebd'
ebd_model_name Identifies the Board-Level Component. Visible in the [Begin Board Description] keyword
in the EBD file. This argument is case-sensitive.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 306
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
D_1
Component EBD
S_Buf_i
Die
S_Buf_# ‘ibis_name’_’pin1_name’_’pin2_name’ If the [Series Pin Mapping] keyword is not in the IBIS
file, no S_Buf_# series/series switch buffer exists.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 307
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
C_# ‘ibis_name’_’ibis_pin_name’
D_# ‘ebd_name’_’ebd_pin_name’
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 308
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
In the following node names, the first matched pin name in [Pin] consists of ground/power
connections given in [Pin Mapping] in the *.ibs file.
• 'ibis_name': Name of .IBIS command.
• 'ebd_name': Name of .EBD command.
• 'ibis_pin_name': Pin Name, the first column in Keyword: [Pin] in the IBIS file.
• 'ebd_pin_name': Pin Name, the pin name given in [Path Description] in the EBD file.
• 'pin1_name': One of two pins joined by a series model, the first column in Keyword:
[Series Pin Mapping] in the IBIS file.
• 'Pin2_name': The other of two pins joined by a series model, the second column in
Keyword: [Series Pin Mapping] in the IBIS file.
• 'ibis_pin_pd_name'
• 'ibis_pin_pu_name'
• 'ibis_pin_gc_name'
• 'ibis_pin_pc_name': The first matched pin name in [Pin] which is the ground/power
connections given in [Pin Mapping] in the IBIS file.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 309
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
Component
A_1_2 S_Buff_1
Die (SPICE-Formatted EBD
Series Switch)
TDBuf_# 'ibis_name'_'pin1_name'_'pin2_name’ If [Diff Pin] keyword is not in the IBIS file, or it is not a
true differential buffer, no TDBuf_# buffer exists.
S_Buf_# 'ibis_name'_'pin1_name'_'pin2_name' If the [Series Pin Mapping] keyword is not in the IBIS
file, no S_Buf_# series/series switch buffer exists.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 310
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
The following rules (Table 26) apply when naming SPICE or Verilog-A formatted nodes in
IBIS board level components:
Table 26 Node naming rules—SPICE/Verilog-A formatted buffers in component
Node Name Corresponding buffer
node/port
C_# 'ibis_name'_'ibis_pin_name'
D_# 'ebd_name'_'ebd_pin_name'
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 311
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
The following names are the same as in Table 24 except that for TDBuf_#, 'pin1_name',
and 'pin2_name' are two pins joined by a true differential buffer model. They are the first
and second columns in the keyword: [Diff Pin] in the IBIS file:
• 'ibis_name'
• 'ibis_pin_name'
• 'pin1_name'
• 'pin2_name'
• ’ibis_pin_pd_name'
• 'ibis_pin_pu_name'
• 'ibis_pin_gc_name'
• 'ibis_pin_pc_name’
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 312
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 313
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
Note:
The component keyword is case sensitive and the specified component name
must match the case of [Component] in the .ibs file or PrimeSim HSPICE
prints an error message that the component is not defined.
Example 2: .IBIS Command File
** HSPICE Netlist **
.ibis cmp1
+ file = 'test1.ibs'
+ component = 'Component1'
+ package = 1
.ebd ebd1
+ file = 'test.ebd'
+ model = 'Board1'
+ component = 'cmp1:u21'
The nodes listed in Table 27 are used with B-elements in the example above.
Table 27 B -element Nodes
Buffer/Node Name
A_1 cmp1_1_i
B_1 cmp1_1_o
B_2 cmp1_2_o
B_3 cmp1_3_o
C_1 cmp1_1
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 314
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
C_2 cmp1_2
C_3 cmp1_3
D_1 ebd1_a1
D_2 ebd1_a2
D_3 ebd1_a3
Buf_1 cmp1_1
S_Buf_1 cmp1_2_3
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 315
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
The .EBD command requires an instance name of the board to be specified. For this case,
the name sb1 is used. The board definition can be written as:
* board description
.ebd sb1
+ file='4mx32.ebd'
+ model='board1'
+ component=bc1:u1
Now that both the ibis component and board description are defined, the input, enables,
and terminations for the buffers can be defined. The node naming convention follows the
node naming rules defined in Table 24. The complete netlist can be written as:
* EBD Usage Example
* ibis component
.ibis bc1 component='K4D263238A'
+ file='4mx32.ibs'
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 316
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Board-Level Components
+ ramp_rwf=0 ramp_fwf=0
+ pkgfile='4mx32.pkg'
+ package=3
* board description
.ebd sb1
+ file='4mx32.ebd'
+ model='board1'
+ component=bc1:u1
* enables
v3 bc1_b7_en 0 1
v4 bc1_c6_en 0 1
* data
vdq0 bc1_b7_i 0 pulse(0 1 1n 0.1n 0.1n 5n 20n)
vdq1 bc1_c6_i 0 pulse(0 1 1n 0.1n 0.1n 5n 15n)
* terminations
r1 sb1_b7 0 50
r2 sb1_c6 0 50
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 317
W-2024.09
Feedback
Chapter 8: Using IBIS Files
Using IBIS Interconnect Modeling (ICM)
[Manufacturer] Test
|...
[Pin List] signal_name
12 RDQ8
[Path Description] 12
Pin 12
Len=0.10604 L=8.39999e-009 C=2.74272e-012 R=0.25139 /
Len=0 R=15.00000 /
Fork
Len=0.07935 L=8.39999e-009 C=2.74272e-012 R=0.25139 /
Node U2.C8
Endfork
Len=0.07063 L=8.39999e-009 C=2.74272e-012 R=0.25139 /
Node U20.A13
.ICM icmname
+ file='icmfilename'
+ model='icmmodelname'
Example
.ICM icm1
+ file='test1.icm'
+ model='FourLineModel1'
For the complete description of the command, see the PrimeSim HSPICE Reference
Manual: Commands and Control Options, .ICM.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 318
W-2024.09
Feedback
9
Using IBIS-AMI Equalizer Models with StatEye
Describes use of the Algorithmic Modeling Interface (AMI) to enable StatEye analysis of
systems with Serializer-Deserializer (SERDES) devices for equalizers in both transmitter
and receiver sides.
PrimeSim HSPICE supports an interface that uses the IBIS Version 5.0 interface to the
C/C++ language-based compiled shared object called Algorithmic Modeling Interface
(AMI). The AMI models complex linear and non-linear equalizers and enables the StatEye
AMI utilityAlgorithmic Modeling InterfaceIBISAMI utilityStatEyeAMI usage
Figure 94 High-speed serial links can be composed of three parts: Transmitter algorithmic
part (Tx), the analog channel, and Receiver algorithmic part (Rx)
See Chapter 3, Statistical Eye Analysis, for a full discussion of the .STATEYE command
and application examples.
These topics are discussed in the following sections:
• IBIS-AMI Model Structure
• Using the Standalone AMI Object Checking Program ’amicheck’
• How AMI Works in PrimeSim HSPICE
• StatEye Analysis with AMI Using Demo Example
• Parametric Control over AMI File for Quoted Expressions
• Using an IBIS-AMI Mid-Channel Repeater Model
• References
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 319
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
IBIS-AMI Model Structure
Example
[Algorithmic Model]
Executable Linux_gcc_32 libtx_ami.so
tx_ami_params.ami
[End Algorithmic Model]
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 320
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Using the Standalone AMI Object Checking Program ’amicheck’
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 321
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Using the Standalone AMI Object Checking Program ’amicheck’
Note:
PrimeSim HSPICE and amicheck uses standard shared object loader
function which attempts to find the target library in the path specified in the
LD_LIBRARY_PATH environment variable.
PrimeSim HSPICE and amicheck fails to locate the target library if you do not
have your current directory (“.”) included in the LD_LIBRARY_PATH environment
variable.
The following sections discuss these topics:
• amicheck Flow
• Windows OS ’amicheck’ Setup
• amicheck Output
amicheck Flow
On launch, the amicheck flow follows this process:
1. Applies linear time invariant (LTI) filters to the entire system using AMI_init
2. When supplied in AMI object, applies non-LTI filters to the bit stream response
waveforms using the AMI_GetWave Closes the AMI interface with AMI_Close
3. Calls AMI_Init, AMI_GetWave (if available) and AMI_Close with falling step input
4. Calls AMI_Init, AMI_GetWave (if available) and AMI_Close with pulse input
5. Unloads the AMI object and exits
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 322
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
How AMI Works in PrimeSim HSPICE
amicheck Output
The amicheck program generates these output files:
• parameter_filename.lis: program status output.
• parameter_filename.tree: parsed parameter tree
• object_filename.rise: rise step response
• object_filename.fall: fall step response
• object_filename.pulse: pulse response
WaveView can be used to display the waveform response files, object_filename.{rise,
fall, pulse}. These files contain the following columns:
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 323
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
How AMI Works in PrimeSim HSPICE
Input Syntax
Pi n1 n2 port=1 …
+ [AMI_OBJ=filename]
+ [AMI_PARAM=filename]
+ [AMI_CDR=0|1]
+ [AMI_CORNER=idx]
Keyword Description
AMI_OBJ Specifies an AMI shared object (typically, lib *.so for UNIX, *.dll for Windows
AMI_CDR When AMI_CDR=1, StatEye analysis with specific pattern (LFSR/PAT) input takes
into account the clock data recovery (CDR) output information from the receiver side
AMI_GetWave function. Default = 0.
AMI_CORNER Specifies an index number. The IBIS keyword "...(Corner val1 val2 ...)" defines the
corner values in the IBIS-AMI file specified by AMI_PARAM. When you use AMI_CORNER,
idx is used to chose the idxth value defined by the "...(Corner ...)" keyword.
For example, if AMI_CORNER =2 is specified in a port element and the associated AMI
parameter file has the following:
(My_AMI_param1 ... (Corner 1 2 3))
(My_AMI_param2 ... (Corner 4 5 6))
(My_AMI_param3 ... (Corner 7 8 9))
Then, 2, 5 and 8 are chosen for My_AMI_param{1,2 and 3} respectively.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 324
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
How AMI Works in PrimeSim HSPICE
Default value. If you do not specify a Default value in the GUI content, then
PrimeSim HSPICE:
• Tries to set a “typical” value based on the Value/Range/List/Step/
Increment keyword. Then, when a value is determined, PrimeSim HSPICE
describes it in the *.lis file.
• Issues a warning.
For example, for this syntax:
(my_param
(Range 30 0 100)(Usage Info)(Type Integer)(Default 10)
)
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 325
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
StatEye Analysis with AMI Using Demo Example
INCIDENT_PORT and PROBE_PORT lists. You also need to add .PROBE statements to output
the desired eye diagram.
For example:
.STATEYE T=200p trf=25p incident_port=1 probe_port=2
.PROBE stateye eye(2) $ eye diagram at port 2
Usage Example
This example demonstrates PrimeSim HSPICE's StatEye analysis setup with a receiver
side equalizer described by AMI.
*
* StatEye with an AMI model
*
.param _BW=0.05n
.param trf = '_BW*0.1'
P1 in 0 port=1
P2 out 0 port=2
+ AMI_OBJ='./my_AMI_lib.so' AMI_PARAM='./
my_AMI_params.ami'
Xdut in out DUT
stateye T='_BW' trf='trf' incident_port=1
probe_port=2_port=2
.subckt DUT _in _out
*** your DUT
.ends
.end
By activating one AMI assignment statement for your platform, you can examine the
effect of the AMI DFE module in the .StatEye analysis. Also with AMI parameter file,
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 326
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
StatEye Analysis with AMI Using Demo Example
SNPS_Rx.ami, you can modify the DFE behavior by changing the number of taps, tap
locations, and tap weights described in following part of the file.
(Model_Specific
(TAP
(Description "TAP (location weight) ")
(-1 -0.200)
(0 0.900)
(1 -0.030)
(2 0.035)
(3 -0.010)
)
)
Equation 85
where:
• : DFE output (equalized waveform)
• : DFE input (pre-equalized waveform)
• : i-th tap location
• : i-th tap weight
• : Unit interval
Figure 95 Output statistical eye diagram from the demo example: (left) without equalization
(right) with equalization
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 327
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Parametric Control over AMI File for Quoted Expressions
Note:
Descriptions about definitions of controllable model specific parameters must
be provided by each AMI model provider. Follow vendor guidelines before
changing the contents of vendor supplied *.ami parameter files.
Then, in the AMI parameter file (.ami file), you can insert expressions as (single) quoted
strings. When loading the AMI parameter file, PrimeSim HSPICE evaluates these quoted
strings as expressions, then builds a string to be passed to the AMI_Init function. Once
PrimeSim HSPICE parses the AMI parameter tree evaluates expressions the tool prints
the resulting parameter tree and the parameter string for the AMI_Init function to the
listing file.
Example
The following PrimeSim HSPICE netlist performs two .StatEye runs with different
parameter sets for an AMI parameter file.
*
* StatEye with SNPS Rx Equalizer Model in AMI
*
.param _BW=0.05n
.param trf = '_BW*0.01'
.param opfreq = '1.0/_BW'
P1 in 0 port=1
*+ LFSR (1 -1 0 'trf' 'trf''opfreq' 1 [14,5,2] )
P2 out 0 port=2
+ AMI_OBJ='./libSNPS_Rx.so'
AMI_PARAM=SNPS_Rx_param.ami
X1 in out CONN
.stateye T='_BW' trf='0.1*_BW' incident_port=1 probe_port=2
.opt post accurate delmax=1e-12
.subckt CONN _in _out
Rtest _in _out 50 RS=1e-3 $ skin effect resistor
Cin _in 0 0.3p
Cout _out 0 0.3p
.ends
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 328
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Parametric Control over AMI File for Quoted Expressions
This is the resulting parameter tree with expression evaluation at first alter (to be printed
out in the .lis file):
--------------------------------
, SNPS_Rx
, , Description "SNPS Rx Equalizer Model"
, , Reserved_Parameters
, , , Ignore_Bits 10
, , , Max_Init_Aggressors 0
, , , Init_Returns_Impulse False
, , , GetWave_Exists True
, , , Use_Init_Output False
, , Model_Specific
, , , TAP
, , , , Description "TAP (loc weight) "
, , , , -1 0
, , , , 0 1
, , , , 1 0
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 329
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Parametric Control over AMI File for Quoted Expressions
, , , , 2 0
, , , , 3 0
--------------------------------
The resulting parameter tree with expression evaluation at the second alter is also printed
to the .lis file):
--------------------------------
, SNPS_Rx
, , Description "SNPS Rx Equalizer Model"
, , Reserved_Parameters
, , , Ignore_Bits 10
, , , Max_Init_Aggressors 0
, , , Init_Returns_Impulse False
, , , GetWave_Exists True
, , , Use_Init_Output False
, , Model_Specific
, , , TAP
, , , , Description "TAP (loc weight) "
, , , , -1 -0.162
, , , , 0 0.9
, , , , 1 -0.027
, , , , 2 0.036
, , , , 3 -0.009
--------------------------------
Here, the resulting eye diagrams show the effect of equalizer tap weight.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 330
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Backchannel Communication Interface for IBIS-AMI’s Link Training Protocol
Input Syntax
No additional netlist keyword is necessary. PrimeSim HSPICE reads the reserved
keywords in the *.ami file and automatically activates channel training flow.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 331
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Using an IBIS-AMI Mid-Channel Repeater Model
Output
There is no change in the output. The output from AM_Init and AMI_GetWave may include
BCI_State for either one of the following Off, Training, Converged, Failed, and Error
outputs.
where
netlsti_name: main (PrimeSim HSPICE) netlist body name (without suffix, for
example, .sp)
#:alter index
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 332
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
Using an IBIS-AMI Mid-Channel Repeater Model
Note:
The mid-channel repeater analysis, using either of the two preceding keywords,
requires StatEye's convolution mode (mode=conv) to be set.
P1 in1 0 port=1
+ LFSR (-1 1 0 'trf' 'trf' 'opfreq' 2 [14 7 2] )
X1 in1 out1 CONN
P2 out1 0 port=2
+ AMI_OBJ='my_rx1.so' AMI_PARAM=my_rx1.ami
P3 in2 0 port=3
+ AMI_OBJ='my_tx2.so' AMI_PARAM=my_tx2.ami
X2 in2 out2 CONN
P4 out2 0 port=4
+ AMI_OBJ='my_rx2.so' AMI_PARAM=my_rx2.ami
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 333
W-2024.09
Feedback
Chapter 9: Using IBIS-AMI Equalizer Models with StatEye
References
Results
References
[1] IBIS Version 5.0 Specification:https://ibis.org/ver5.0/ver5_0.txt
[2] IBIS (I/O Buffer Information Specification) home page: http://www.eigroup.org/ibis/
default.htm
[3] IBIS Version 7.0 Specification:(Training/Analysis flow for channels with no repeater):
https://ibis.org/ver7.0/ver7_0.pdf
[4] IBIS Specification v7.0 :http://ibis.org/specs/
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 334
W-2024.09
Feedback
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 335
W-2024.09
Feedback
10
Introduction to Feed-Forward Equalization
Equalization is important in high-speed data channels where frequency dependent losses
and dispersion result in inter symbol interference (ISI). Equalizers are used at both
transmit and receive positions to compensate for channel distortion.
Feed-forward equalization (FFE) is useful at the transmitter (TX) end, where it can be used
to increase the transmitted ratio of high-frequency to low-frequency symbol power to help
offset channel losses at higher frequencies. The basic FFE equalizer concept is shown in
Figure 98. Delayed and scaled versions of the transmitted signal are combined to reshape
its power spectrum.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 336
W-2024.09
Feedback
Chapter 10: Introduction to Feed-Forward Equalization
Built-in FFE Model Using Port Emphasis Parameters
Using Verilog-A, the transfer function is easily implemented in PrimeSim HSPICE using
a linear discrete-time Z-transform filter operator. The core of an example Verilog-A model
implementation is below:
// Z-transformFFE modelin Verilog-A
...
analog begin
V(out) <+ zi_nd( V(in),{a0,a1,a2,a3},{1},sampleT );
end
...
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 337
W-2024.09
Feedback
Chapter 10: Introduction to Feed-Forward Equalization
E-element Delay Based Modeling
where the Emphasis_Time parameter sets the delay value (typically one-half the bit-
width or UI/2) and the Emphasis_Level or parameter controls both tap coefficients
according to
Note that negative values of results in de-emphasis, while positive values give
emphasis. This 2-tap combination restricts the emphasis/de-emphasis waveform effect to
the Emphasis_Time interval on rising and falling edges.
where the propagation delay is specified with the input parameter TD and the scaling
is given by the SCALE parameter. By using a combination of E-elements as delays and
VCVS components(for scaling and summing), a two-tap FFE can be realized as shown in
Figure 100.
In this example, the main tap has an initial propagation delay of 0.5Unit Intervals(UI). The
subsequent tap has an additional delayof UI/2. Note that this example corresponds to the
sampled Z-domain transfer function.
But with an additional propagation delay and with a sampling interval of UI/2. E-element
FFE implementations are also linear, and can be used with all PrimeSim HSPICE analyses
including StatEye.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 338
W-2024.09
Feedback
Appendices
Describes how to simulate circuits with Signetics drivers and Xilinx FPGAs.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 339
W-2024.09
Feedback
A
Simulating Circuits with Signetics Drivers
Figure 101 I/O drivers/receivers with package lead inductance, parallel 4" lossy microstrip
connectors
5.5 v
driver receiver
+
_ z0 = 75 z0 = 75 75
_
+
vin
The schematic in Figure 101 shows a pair of drivers driving 4 inches of transmission
line to a pair of receivers that drive 4 inches of transmission line. A cross-section of the
transmission line is shown in Figure 102.
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 340
W-2024.09
Feedback
Appendix A: Simulating Circuits with Signetics Drivers
Simulating Circuits with Signetics Drivers—Examples
Insulator
SP12
WD1=8 mil (5 mil) WD1=8 mil
TS=32 mil
TH1=1.3 mil line 1 line 1 TH1=1.3 mil
W1eff
(6 mil) HT1=10 mil
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 341
W-2024.09
Feedback
Appendix A: Simulating Circuits with Signetics Drivers
Simulating Circuits with Signetics Drivers—Examples
Here’s a full netlist example of how I/O chips connect with transmission lines:
.OPTION SEARCH='$installdir/parts/signet'
.OPTION POST=2 TNOM=27 NOMOD LIST METHOD=GEAR
.TEMP 27
$ DEFINE PARAMETER VALUES
.PARAM LV=0 HV=3 TD1=10n TR1=3n TF1=3n TPW=20n
+ TPER=100n TD2=20n TR2=2n TF2=2n LNGTH=101.6m
$ POWER SUPPLY
VCC VCC 0 DC 5.5
$ INPUT SOURCES
VIN1 STIM1 0 PULSE LV HV TD1 TR1 TF1 TPW TPER
VIN2 STIM2 0 PULSE LV HV TD2 TR2 TF2 TPW TPER
$ FIRST STAGE: DRIVER WITH TLINE
X1ST_TOP STIM1 OUTPIN1 VCC GND IO_CHIP PIN_IN=2.6n
+ PIN_OUT=4.6n
X1ST_DN STIM2 OUTPIN2 VCC GND IO_CHIP PIN_IN=2.9n
+ PIN_OUT=5.6n
U_1ST OUTPIN1 OUTPIN2 GND TLOUT1 TLOUT2 GND USTRIP L=LNGTH
$ SECOND STAGE: RECEIVER WITH TLINE
X2ST_TOP TLOUT1 OUTPIN3 VCC GND IO_CHIP PIN_IN=4.0n
+ PIN_OUT=2.5n
X2ST_DN TLOUT2 OUTPIN4 VCC GND IO_CHIP PIN_IN=3.6n
+ PIN_OUT=5.1n
U_2ST OUTPIN3 OUTPIN4 GND TLOUT3 TLOUT4 GND USTRIP L=LNGTH
$ TERMINATING RESISTORS
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 342
W-2024.09
Feedback
Appendix A: Simulating Circuits with Signetics Drivers
Simulating Circuits with Signetics Drivers—Examples
R1 TLOUT3 GND 75
R2 TLOUT4 GND 75
$ IO CHIP MODEL - SIGNETICS
.SUBCKT IO_CHIP IN OUT VCC XGND PIN_VCC=7n PIN_GND=1.8n
X1 IN1 INVOUT VCC1 XGND1 ACTINPUT
X2 INVOUT OUT1 VCC1 XGND1 AC109EQ
*Package Inductance
LIN_PIN IN IN1 PIN_IN
LOUT_PIN OUT1 OUT PIN_OUT
LVCC VCC VCC1 PIN_VCC
LGND XGND1 XGND PIN_GND
.ENDS
$ TLINE MODEL - 2 SIGNAL CONDUCTORS WITH GND
$ PLANE
.MODEL USTRIP U LEVEL=3 ELEV=1 PLEV=1
+ TH1=1.3mil HT1=10mil TS=32mil KD1=4.5 DLEV=0 WD1=8mil
+ XW=-2mil KD2=4.5 NL=2 SP12=5mil
$ ANALYSIS / PRINTS
.TRAN .1NS 100NS
.PROBE V(STIM1) V(STIM2)
.PROBE V(TLOUT1) V(TLOUT2) V(TLOUT3) V(TLOUT4)
.END
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 343
W-2024.09
Feedback
B
Simulating Circuits with Xilinx FPGAs
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 344
W-2024.09
Feedback
Appendix B: Simulating Circuits with Xilinx FPGAs
Ground-Bounce Simulation
Nodes Description
GND ground
All grounds and supplies are common to the external nodes for the ground and VDD. You
can redefine grounds to add package models.
Ground-Bounce Simulation
Ground-bounce simulation duplicates the Xilinx internal measurements methods. It
simultaneously toggles 8 to 32 outputs. The simulation loads each output with a 56 pF
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 345
W-2024.09
Feedback
Appendix B: Simulating Circuits with Xilinx FPGAs
Ground-Bounce Simulation
capacitance. Simulation also uses an 84-pin package mode and an output buffer held at
chip ground to measure the internal ground bounce.
groundbounce
Figure 104 Ground bounce simulation
< <
84plcc
pkg
PrimeSim HSPICE adjusts the simulation model for the oscilloscope recordings so you
can use it for the two-bond wire ground. For example, the following netlist simulates
ground bounce:
qabounce.sp test of xilinx i/o buffers
.OPTION SEARCH='$installdir/parts/xilinx'
.op
.option post list
.tran 1ns 50ns sweep gates 8 32 4
.measure bounce max v(out1x)
*.tran .1ns 7ns
.param gates=8
.print v(out1x) v(out8x) i(vdd) power
$.param xil_dtemp=-65 $ -40 degrees c
$ (65 degrees from +25 degrees)
vdd vdd gnd 5.25
vgnd return gnd 0
upower1 vdd return iob1vdd iob1gnd pcb_power
+ L=600mil
* local power supply capacitors
xc1a iob1vdd iob1gnd cap_mod cval=.1u
xc1b iob1vdd iob1gnd cap_mod cval=.1u
xc1c iob1vdd iob1gnd cap_mod cval=1u
xgnd_b iob1vdd iob1gnd out8x out1x xil_gnd_test
xcout8x out8x iob1gnd cap_mod m=gates
xcout1x out1x iob1gnd cap_mod m=1
.model pcb_power u LEVEL=3 elev=1 plev=1 nl=1 llev=1
+ th=1.3mil ht=10mil kd=4.5 dlev=1 wd=500mil xw=-2mil
.macro cap_mod node1 node2 cval=56p
Lr1 node1 node1x L=2nh R=0.05
cap node1x node2x c=cval
Lr2 node2x node2 L=2nh R=0.05
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 346
W-2024.09
Feedback
Appendix B: Simulating Circuits with Xilinx FPGAs
Ground-Bounce Simulation
.eom
.macro xil_gnd_test vdd gnd outx outref
+ gates=8
* example of 8 iobuffers simultaneously switching
* through approx. 4nh lead inductance
* 1 iob is active low for ground bounce measurements
vout drive chipgnd pwl 0ns 5v, 10ns 5v, 10.5ns 0v,
$+ 20ns 0v, 20.5ns 5v, 40ns 5v R
x8 I8 drive PAD8x TS FAST PPUB TTL chipvdd chipgnd
+ xil_iob xil_sig=0 xil_dtemp=0 xil_shrink=1 M=gates
x1 I1 gnd PAD1x TS FAST PPUB TTL chipvdd chipgnd
+ xil_iob xil_sig=0 xil_dtemp=0 xil_shrink=1 m=1
*Control Settings
rts ts chipgnd 1
rfast fast chipvdd 1
rppub ppub chipgnd 1
rttl ttl chipvdd 1
* pad model plcc84 rough estimates
lvdd vdd chipvdd L=3.0nh r=.02
lgnd gnd chipgnd L=3.0nh r=.02
lout8x outx pad8x L='5n/gates' r='0.05/gates'
lout1x outref pad1x L=5nh r=0.05
c_vdd_gnd chipvdd chipgnd 100n
.eom
.end
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 347
W-2024.09
Feedback
Appendix B: Simulating Circuits with Xilinx FPGAs
Coupled Line Noise
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 348
W-2024.09
Feedback
Appendix B: Simulating Circuits with Xilinx FPGAs
Coupled Line Noise
m
V
V
V
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 349
W-2024.09
Feedback
Appendix B: Simulating Circuits with Xilinx FPGAs
Coupled Line Noise
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 350
W-2024.09
Feedback
Appendix B: Simulating Circuits with Xilinx FPGAs
Coupled Line Noise
PrimeSim™ HSPICE® User Guide: Signal Integrity Modeling and Analysis 351
W-2024.09