Star-Hspice includes a built-in 2-D electromagnetic field solver, which is highly optimized for interconnects in stratified media. Its implementation makes use of the W Element and supports optimization and statistical analysis within transient simulation. The solver is based on an improved version of the boundary-element method1 and filament method that is also implemented in Raphael2.
This section describes the filament method for the skin effect resistance and inductance solver.
The 2D filament method is introduced in release 2001.2 to extract frequency dependent resistance and inductance by taking magnetic coupling into account. This solver is invoked when COMPUTERS=yes is set in . fsoption .
The principle of the filament method is that the original conductor system is divided into thin filaments. The distributed magnetic coupling of the inside and outside of the conductor is derived from the coupling of these filaments.
Once conductors are divided into thin filaments, the impedance matrix of the filament system is given as
. Then, the current matrix
Here,
vf
is an excitation vector for the filament system. As a result, the partial current matrix of conductor system
The partial impedance matrix
Loop impedance matrix components which are needed for W element analysis are calculated from partial impedance matrix components based on the following relationship:
Here, n is the number of signal (non-reference) conductors in the system.
Geometric modeling outputs the Maxwellian (short-circuit) transmission line matrices: C, L,
The Star-Hspice field solver has the following limitation: the arithmetic average values of conductivities and loss tangents are used for inhomogeneous media when it computes the conductance matrices,
The Star-Hspice input syntax related to the field solver contains five new statements: .
MATERIAL
, .
LAYERSTACK
, .
SHAPE
and .
FSOPTIONS
, and a .
MODEL W
statement. Include these new statements in a netlist to define the material properties, stacking of materials, material shapes, field solver options and the transmission-line model as follows.
Use the .
MATERIAL
statement to define the properties of a material.
.MATERIAL mname METAL|DIELECTRIC <ER=val> <UR=val> + <CONDUCTIVITY=val> <LOSSTANGENT=val>
Static field conductivity of conductor or lossy dielectric (S/m) |
|
The Star-Hspice field solver assigns the following default values for metal:
CONDUCTIVITY
= -1 (perfect conductor),
ER
= 1,
UR
= 1.
PEC
is a predefined metal name with the default values and cannot be redefined.
The Star-Hspice field solver assigns the following default values for dielectrics:
CONDUCTIVITY
= 0 (lossless dielectric)
, LOSSTANGENT
= 0 (lossless dielectric),
ER
= 1,
UR
= 1
. AIR
is a predefined dielectric name with default values and cannot be redefined.
UR
values.A layer stack defines a stack of dielectric or/and metal layers. Each transmission line system is associated with exactly one layer stack. But a single-layer stack can be associated with many transmission line systems.
.LAYERSTACK sname <BACKGROUND=mname> + <LAYER=(mname,thickness) ...>
Background dielectric material name. By default, |
|
Free space without ground: .
LAYERSTACK mystack
Free space with a (bottom) ground plane:
.LAYERSTACK halfSpace PEC 0.1mm
Use the
SHAPE
statement to define a shape (used to describe the conductor cross-section).
.SHAPE sname Shape_Descriptor
Use a shape descriptor that defines a rectangle.
RECTANGLE WIDTH=val HEIGHT=val <NW=val> <NH=val>
NW
and
NH
since they are automatically set by the solver depending on the accuracy mode. But you can specify only one of these values and let the solver determine the other. The discretization parameters of other shape descriptors follow the same convention.
Use a shape descriptor that defines a circle. A circle is discretized as an inscribed regular polygon with N edges. Do not use the
CIRCLE
descriptor to model actual polygons; instead use the
POLYGON
descriptor.
CIRCLE RADIUS=val <N=val>
Shape descriptor that defines an infinitesimally thin strip.
STRIP WIDTH=val <N=val>
Use a shape descriptor that defines a polygon. The specified coordinates are in the local coordinate with respect to the origin of a conductor.
POLYGON VERTEX=(x1 y1 x2 y2 ...) <N=(n1,n2,...)>
Rectangular polygon using the default discretization:
POLYGON VERTEX=(1 10 1 11 5 11 5 10)
Rectangular polygon using five segments for each edge:
POLYGON VERTEX=(1 10 1 11 5 11 5 10) N=5
Rectangular polygon using the different number of segments for each edge:
POLYGON VERTEX=(1 10 1 11 5 11 5 10) N=(5 3 5 3)
Use the
FSOPTIONS
statement to set various options for the solver.
.FSOPTIONS name <ACCURACY=LOW|MEDIUM|HIGH> + <GRIDFACTOR=val> <PRINTDATA=YES|NO> <COMPUTEG0=YES|NO> + <COMPUTEGD=YES|NO> <COMPUTERO=YES|NO> <COMPUTERS=YES|NO>
The L and C matrices are always computed.
For each accuracy mode, the solver uses either the predefined number of segments or the user-specified value for discretization. It then multiplies this number by the
GRIDFACTOR
to obtain the final number of segments.
HIGH
option, increase the
GRIDFACTOR
value.Use the field-solver model to specify a W Element transmission-line geometry model.
REFERENCE
are all electrically connected and correspond to the reference node in W Element..MODEL mname W MODELTYPE=FieldSolver LAYERSTACK=name + <FSOPTIONS=name> <RLGCFILE=name> + <OUTPUTFORMAT=RLGC|RLGCFILE> + CONDUCTOR=( SHAPE=name <MATERIAL=name> <ORIGIN=(x,y)> + <TYPE=SIGNAL|REFERENCE|FLOATING> ) ...