close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
HSPICE – Highlights and
Introductions
Techniques for SI
Lecture 12 - 15
1
Features Use for SI













Parameters
Alters
Libraries
Syntax based – NO GUI
Self documenting ASCII node names
Voltage Controlled Resistor
Monte Carlo
Node equation based source
PWL linear based source
Nodal measurement produce measurement files
Accurate Transmission lines with W elements
Frequency dependant transmission lines Transient
IBIS buffers
HSPICE for SI
2
Good Practices
 Modularize with sub-circuits and/or
libraries!
 Circuit text should flow line a drawing.
Don’t put all caps, resistors, and
transmission lines respective separate
sections.
 Most SI circuits are composed of data
generator, buffers, transmission lines,
package models, and connectors.
HSPICE for SI
3
Global, Local, and Position
 Circuit elements within a sub-circuit or the main net
list are position insensitive.
Good-news/bad news
It is easier to follow elements whose code traces out the
circuit.
 In general parameters are global unless passed into a

sub-circuit.
Parameters are not positions insensitive
Treat definition of parameters as last reference wins the
definition.
This can be trick to determine for complex decks.
Deck is old terminology that comes form “punch card
decks”
 Make the first 8 characters of library names unique
 Most HSPICE is case insensitive.
The exception is libraries and file names that are enclosed
in single quotes
HSPICE for SI
4
Top Level Program
 First step is to draw as simulation block
diagram.
 The following slides are a learn by example
method
 We will review some common HSPICE
elements used for signal integrity
HSPICE for SI
package
package
Data generator
Buffers
Printed Wiring
Board
Receiver
5
Structure I – We will use this one for now
Parameters
And
instantiations
Main
Netlist
Produces tr0, tr1,
tr2, … files etc.
Libraries
Libraries
Libraries
Subcircuits
Subcircuits
Subcircuits
Alters
We’ll use a neat trick and keep
all this in one file.
Large programs may use many
files
HSPICE for SI
Transmission
Transmission
Transmission
Line
Line
RLCGLine
file
RLCG file
RLCG file
6
Structure II
Produces set of tr0
files, etc. with
filename of parent
Parameters
Parameters
Set
Parameters
Set
Parameters
Set
Set
Instantiation
Instantiation
Set
Instantiation
Set
Instantiation
Set
Set
Main Netlist
Subcircuits
Subcircuits
Subcircuits
Main
Netlist
Main
MainNetlist
Netlist
Each Simulation case is a different
cataloged file
HSPICE for SI
Transmission
Transmission
Transmission
Line
Line
RLCGLine
file
RLCG file
RLCG file
7
Structure III
Parameters
And
instantiations
Main
Netlist
Libraries
Libraries
Libraries
Subcircuits
Subcircuits
Subcircuits
Sweep
parameters
Produces single
tr0 file, etc. but
multiple
waveforms per
file
HSPICE for SI
Transmission
Transmission
Transmission
Line
Line
RLCGLine
file
RLCG file
RLCG file
8
Running the netlist
 Clicking on simulate will create the following files
Transient analysis nodal file – testckt.tr0
This is where the waveform data is
Measurement results file – testckt.mt0
List file – testckt.lis
Edit this to debug errors
Initial conditions file – testckt.in0
Sub-circuit cross reference list – testckt.pa0
Output status file – testckt.st0
HSPICE for SI
9
Data Generator
.LIB
'pulse'
.SUBCKT
DATAS bit1
bit2
datarate=-1
V1 bit1 0 PULSE 0v 1v 0n 0.5n 0.5n 'datarate- 0.5n' '2*datarate'
V2 bit2 0 PULSE 0v 1v 0n 0.5n 0.5n 'datarate- 0.5n' '2*datarate'
.ENDS
.ENDL
 Bit1 and Bit2 are data stream outputs for this sub-circuit
 “datarate” is passed from the call site
Note that a subcircuit is analogous to a software subroutine
”datarate” is set to “-1” to force an error if the parameter was
not passed.
 This pulse generator example produces a 1V Aggressor
and victim w/ 500 ps rise/fall time.
The pulse width is “datarate” adjusted by the risetime.
The period is 2*datarate
This special case uses 0v and 1v as a bit stream which has
advantages that we will learn later in behavioral modeling.
HSPICE for SI
10
Parameterized Generator
.LIB
'pulse'
.SUBCKT
DATAS bit1
bit2
datarate=-1
V1 bit1 0 PULSE 0v 1v 0n tr tr 'datarate-tr' '2*datarate'
V2 bit2 0 PULSE 0v 1v 0n tr tr 'datarate-tr' '2*datarate'
.ENDS
.ENDL
 We can replace the 0.5n entries with a
parameter called tr. (equal rise/fall)
 We can set this parameter in the main
net list as follows: .PARAM tr=0.5n
 Notice the difference between the two
parameters tr and datarate
HSPICE for SI
11
Square Wave in Previous
0.5ns
This is how the pulse
source function
defines pw
Source’s
pulse width
datarate
2*datarate
1V
datarate
0V
0.5ns
HSPICE for SI
12
Piece Wise Linear Source
bit1, tr*1
Vol, 0S
bit1, UI*1
bit2,UI*1+tr
bit3,UI*2+tr
bit2,UI*2
*rise/fall time = tr
HSPICE for SI
13
Assignment
 Create same driver with a PWL source
and with data pattern “101100110”.
 Assume all parameter except datarate
are global
 Parameterize bits as bit0, bit1, bit2…
 Parameter for rise and fall time with a
signal parameter Tr
 Write separate code for parameter
statements in the main netlist.
HSPICE for SI
14
Driver Sub-circuit
.LIB
'driver'
.SUBCKT MYBUF
in
out
Vss
Edrive out1
Vss
in
0 VOL='(Voh-Vol)*V(in)+Vol‘
Rout out1 out 50
Cout out Vss 1p
.ENDS
.ENDL
 This example just uses the bits on node “in” and creates an
output voltage with Vol and Vol one node “out”.
 Vol and Voh are global in this case because they were not passed
 This example uses a equation controlled voltage source. This a
very powerful feature.
The equation is enclosed in quotes much the same why a parameter
equation is.
 This entire subcircuit can be replaced at a later time with a
transistor based buffer model or an IBIS model.
 The source impedance in this case is 50 ohms with a pF across
the output terminal “out”
HSPICE for SI
15
Parameterize Driver
.LIB
'driver‘
.SUBCKT
MYBUF in
out
Vss
Edrive
out1 Vss
VOL='(Voh-Vol)*V(in)+Vol‘
Rout
out1 out
Tx_rterm
Cout
out1 Vss
Tx_cterm
Rin in vss 1G
.ENDS
.ENDL
 Change the source terminations into parameters:

Tx_rterm and Rx_cterm
As a good practice place a hi impedance DC path
across input.
This can avoid transient errors.
 We can set this parameter in the main net list as
follows:
.PARAM
Tx_rterm=50 Tx_Cterm=1pF
HSPICE for SI
16
Package Sub-circuit
.LIB
.SUBCKT
L1
in1
L2
in2
K1
L1
.ENDS
.ENDL
'LC_pack'
PKG
out1 1n
out2 1n
L2
0.2
in1
in2
out1
out2 Vss
 This is a simple package that uses a
coupled inductor circuit.
 Often this subcircuit is more complex
and derive from tools like Ansoft
HSPICE for SI
17
Coupled Inductors
L1
in1
out1
K
L12
L1  L2
Where L12 is the mutual inductance between inductor
L1 and L2
L2
in2
out2
HSPICE for SI
18
Printed wiring board modeling
.LIB
.SUBCKT
Wline1
+
.ENDS
.ENDL
'easy_lines‘
BRD
in1
in2
RLGCFILE=
in1
in2
out1
Vss
out1
out2
‘s5_z068.9_z0d108.8'
out2
Vss
N=2
Vss
L=0.1
 Board etches can be accurately modeled with W-elements.
 For that case we use coupled transmission lines for the board
traces
 The file ‘s5_z068.9_z0d108.8.rlc’ contains the transmission line
characteristics. This data may be created with internal HSPICE
2-D field solver or any other 2-D field solver such as Ansoft.
 The symbol “+” is a continuation line.
 Often this subcircuit can become quite substantial containing
many transmission lines and board features modeled as passive
elements.
HSPICE for SI
19
W-element: Model Reference
.LIB
'easy_lines‘
.SUBCKT
BRD
in1
in2
out1
Wline1
in1
in2
Vss
out1
out2
+
RLGCMODEL= ' s5_z068.9_z0d108.8 '
.ENDS
.ENDL
out2
Vss
N=2
Vss
L=.1
 Additionally a model statement can be used to specify RLGC
data.
HSPICE for SI
20
Transmission Line W-Element
Wline1
in1
in2
Vss
out1 out2 Vss
+ RLGCMODEL=‘s5_z068.9_z0d108.8‘ N=2 L=0.1
in1
in2
out1
out2
Vss
Vss
 The general syntax support any number of input and


equal number of output port.
This length in this example is 0.1
The units are the often assumed to be meter but
actually are the per length units of the RLCG model.
The internal field solver produces units in meters
HSPICE for SI
21
Creating a field solution
 Create a file that invokes the target
transmission lines.
 In this file also specify:
Field solver options
Materials
Stackup
The dielectric and power/ground conductor
plane sandwich of a PWB
Trace geometries shapes
The a models that include the above
HSPICE for SI
22
Couple Strip Line Example (twolines.sp)
tg
s
er, tan d
ef
s
b
s
s
w
t
h
s
.Title Field Solver
W2
+ 1 2 0 a b 0
+ Fsmodel=s5_z068.9_z0d108.8
N=2 L=1
*
s
* mils
5
* mils converted to meters 1.270E-04
*
b
* mils
0.5
* mils converted to meter
5.207E-04
tg
DELAYOPT=1
w
ef
5
0.5
1.27E-04 1.27E-05
h
er
tand
10
3.90 .02
2.54E-04
HSPICE for SI
t
0.5
1.27E-05
u
1
Tg
1
2.54E-03
conduct.
4.2E+07
23
Using the Solver
First line should be comment or title
else it gets ignored
Invoking the W element will cause the field
solver to run, if the FSMODEL parameter is
specified
.Title Field Solver
W2
+ 1 2 0 a b 0
+ Fsmodel=s5_z068.9_z0d108.8
N=2 L=1
*
s
* mils
5
* mils converted to meters 1.270E-04
*
b
* mils
0.5
* mils converted to meter
5.207E-04
DELAYOPT=1
w
ef
5
0.5
1.27E-04 1.27E-05
h
er
tand
10
3.90 .02
2.54E-04
t
0.5
1.27E-05
u
1
Tg
1
2.54E-03
conduct.
4.2E+07
(cont’d on next page)
Often this is done outside the main net list to insure
solution quality. Then a RLGCMODEL or RLGCFILE
statement would be used here instead
HSPICE for SI
24
Field Solver Option Statement
.FSoptions brd_opt2
ACCURACY = HIGH GRIDFACTOR = 1
+ ComputeRo=yes ComputeRs=yes ComputeGo=yes ComputeGd=yes PRINTDATA=yes
*
.MATERIAL
brd_dielct2
DIELECTRIC
ER=3.9, LOSSTANGENT=0.019
.MATERIAL
brd_cu2
METAL
CONDUCTIVITY=42000000
*
.LAYERSTACK
brd_ssl_stk2
+LAYER=( brd_cu2
,1.2700E-05)
+LAYER=( brd_dielct2
,5.2070E-04)
+LAYER=( brd_cu2
,1.2700E-05)






This statement is good start to set up options.
In this case the options are called brd_opt2
The board is material “brd_dielect2”
The conductor material is “brd_cu2”
Notice that the traces are not specified here.
The stackup actually starts at the bottom and works
up. Each layer thickness is specified.
HSPICE for SI
25
Material and Shapes
.MATERIAL
.MATERIAL
brd_dielct2
brd_cu2
DIELECTRIC
METAL
ER=3.9, LOSSTANGENT=0.019
CONDUCTIVITY=42000000
.SHAPE brd_trap1 POLYGON
VERTEX =
+( 0 0 1.2700E-05 1.2700E-04 1.1430E-04 1.2700E-04 1.2700E-04 0
1.27E-05 1.27E-04
origin
)
1.143E-04 1.27E-04
1.27E-04 0
0 0
 Next specify the properties of the dielectrics and



metal
Then specify the shape.
A first pass guess often uses rectangle for trace.
In this example we use a trapezoid
HSPICE for SI
26
The Model statement
.MODEL s5_z068.9_z0d108.8
+W MODELTYPE=FieldSolver, LAYERSTACK=brd_ssl_stk2
+CONDUCTOR=(SHAPE=brd_trap2 MATERIAL=brd_cu2
+
ORIGIN=( 6.3500E-05, 2.6670E-04)
+CONDUCTOR=(SHAPE=brd_trap2 MATERIAL=brd_cu2
+
ORIGIN=( -1.9050E-04, 2.6670E-04)
+RLGCfile=s5_z068.9_z0d108.8.rlc
.END
FSoptions=brd_opt2
 Here the field solver calls out what was
specified.
brd_ssl_stk2
brd_opt2
brd_cu2
brd_trap2
HSPICE for SI
27
Placing the Shapes
tg
s
1.27E-03
b
ef
5.2070E-04
1.270E-0
1.27E-03
s
1.27E-04
1.27E-04
t
6.35E-05
-1.9050E-04
h
2.6670E-04
2.54E-03
0,0
tg
 The origin for the solution is at the bottom
of the stackup
 The positioning of the trapezoids with the
stackup are in relation to the shape origin
HSPICE for SI
28
The RLCG Model
.MODEL
+ Lo =
+
+ Co =
+
+ Ro =
+
+ Go =
+
+ Rs =
+
+ Gd =
+
.ENDS
s5_z068.9_z0d108.8 W MODELTYPE=RLGC, N=2
4.460644e-007
9.544025e-008 4.460644e-007
1.019475e-010
-2.181277e-011 1.019475e-010
1.637366e+001
0.000000e+000 1.637366e+001
 1.019475  10  10
0.000000e+000
0.000000e+000 0.000000e+000 
2.056598e-003

 11
9.268906e-005 2.056651e-003   2.181277  10
1.217055e-011
-2.604020e-012 1.217055e-011
 2.181277  10
1.019475  10
 11
 10




 Only half of the diagonal and the lower half of the matrix is
specified
 Default units are H/m, F/m, W/m, S/m, W/(m*srqt(Hz),
S/(m*Hz) respectively
 Alternatively H/in, F/in, W/in, S/in, W/(in*srqt(Hz), S/(in*Hz)
can be used if L units are to be specified in inches.
 A more detailed description can be found in the HSPICE
transmission line chapter
HSPICE for SI
29
Tline issues for SI engineers
 Validation of transmission line models
 Comparison to equations.
Most equation are only accurate to a few
ohms and have are limited to only certain
ratios of trace geometry
 Differential impedance equations are
not readily available.
 Tools to compare to measurement
Vector Network Analyzer
Time Domain Refectometry
HSPICE for SI
30
Receiver
.LIB
.SUBCKT
Rin
in
Cin
in
.ENDS
.ENDL
'receiver'
RCV in
Vss
Vss 45
Vss 0.5pf
 This too could be more complicated
transistor or IBIS circuit.
 In this case we start with 45 ohms to
ground with a 0.5 pF shunt across the
load.
HSPICE for SI
31
The main net list – Top Half
 The libraries will go at the end for this example
In fact all of the above statements are position independent although
parameter usage is position sensitive. Be careful if parameter are set in
libraries. This can effect the order of parameter processing.
 The libraries are normally in the another file. This example is not



standard practice but it is convenient for collaborating on issues.
The global parameter for the bit interval UI is set to 10 nanoseconds.
Two more global parameters are used for buffer voltage control, Vol
and Voh.
The transient statement tells Hspice to start a transient analysis when
the “.end” statement is processed. In this case the time step interval
is 10ps and will stop at 20 ns.
HSPICE for SI
32
Helpful hints to resolve time step errors
 Voltage transitions that are too fast
Consider slower transition time
 Un-initialized reactive components can case instantaneous spikes that
create very fast transitions before setting.
Consider setting “IC” (initial condition.)
 Capacitors and inductors that are too small
Consider eliminating or combining
Consider putting shunt resistor across device
 Floating references or nodes can cause time step errors.
DC path can’t be determined if switches or controlled sources are used and
may be considered floating at time t=0
Provide high resistance shunts to node 0
 Transmission lines that are too short.
Consider replacing with LC
 Switches can cause spikes.
Use voltage controlled resistor to soften open and close resistance as
function of time. ( more on this later)
 Small mutual “k” elements.
Consider elimiating same k elements.
HSPICE for SI
33
Main Net List Flows Like a Circuit
 “$” is a comment after column 1
 “*” in column 1 comments that line
 If an .option probe control statement is used on the nodes
data_v and pkg2_v will be stored in the tr0 file.
HSPICE for SI
34
Assignment
 Take the previous HSPICE example and draw a circuit


schematic.
Produce the last picture in AvanWaves (if available)
Look up and read all chapters in the HSPICE manual on:
Subcircuits
Libraries
E source
Coupled inductor
W-elements
Notice this part to the assignment is looser that most
academic reading assignments. In business data-mining is a
required skill. Also look up any element we cover that you do
not understand.
HSPICE for SI
35
A look at results in AvanWaves
Double click
here to show
display wave
Notice the output is ~ .6v… why?
HSPICE for SI
Double click
here to show
sub-circuit
hierarchy.
36
Measurement
 There is a manual contain an extensive list of




measurements that can be made.
In this case we are making a measurement called
“flight_time_v” and “flight_time_a”
The trigger for the beginning of the measurement is at
0.5 V on the first rising on node data_v (and data_a.)
The completion of the measurement is when the first
rising edge on node pkg2_v (and pkg2_a) reaches 0.5 V.
TD parameter means time delay before the
measurement starts and is 0s in this example.
HSPICE for SI
37
MT0 file
 This resultant MT0 file
 The second line is the title
 The third line and all the lines that follow up to the

“alter#” parameters are the parameters names.
The following lines are the corresponding
measurement values
For this case the measurement for the parameters
“flight_time_v” and “flight_time_a” are the 955.9 ps.
HSPICE for SI
38
Monte Carlo Analysis
.TITLE Signal integrity Training deck
* parameter variations
.param rx_rterm1=AGAUSS(50, 10, 3)
rx_cterm1=AGAUSS(1pf,.8pf, 3)
.param rx_rterm=rx_rterm1 rx_cterm=rx_cterm1
.param tx_rterm1=GAUSS(45, 0.1, 3)
tx_cterm1=GAUSS(.5pf,0.1, 3)
.param tx_rterm=tx_rterm1 tx_cterm=tx_cterm1
.param pkg_coulping1=GAUSS(.2,.5, 3)
.param pkg_coulping=pkg_coulping1
.param tr1=AGAUSS(.5ns,.45ns, 3)
.param tr=tr1
 Notice we use a dummy variable (suffixed with 1).
 This is because every time a for example Rx_term1
is used it will get a new value. By assigning it a dummy
variable at the beginning of a sweep the value will be
set for that entire sweep. Else each time the
variable is used a new value will be assigned.
HSPICE for SI
39
Invoking a Monte Carlo Sweep
 The .TRAN statement is new syntax added to it “SWEEP MONTE=5000”
This will cause 5000 sweeps to be created in the tr0 file.
 Option probe statement was added so that only node annotated with the .probe
statement will be stored since 5000 sweeps will create a very large tr0 file.
HSPICE for SI
40
A few changes added to the end
 The “.PROBE” statement is used in
conjunction with the .OPTION PROBE
statement so only node data_v and pkg2_v
are reported.
 Only one measurement is used and the
threshold was lowered to 250 mv
HSPICE for SI
41
The “Sweep” MTO file
 Note each sweep entry contains the values that were assigned
to the Monte Carlo parameters
 A VBA or perl script is normally used (and required) to convert
into a spreadsheet format
HSPICE for SI
42
Viewing Monte Carlo in a Spreadsheet
 Step 1: create spreadsheet with result column
 Step 2: create cells with the min, max, mean (average), and standard deviation




of the results
Step 4: On a new sheet create a column that contains a number of equally
spaced bins which at least bound the maximum and minimum readings.
Step 5: Select the cells adjacent to the bins.
Step 6: Got to the main menu and insert function and select “FREQUENY” from
the statistics section. A window will pop up.
Step 7: Enter the result data cell range point and the bin cell range points
respectively but “DO NOT HIT RETURN or ENTER”!
FREQUENCY(B2:B6000,F8:F36)
 Step 7: Press CTL-SHIFT-ENTER. This is the range entry terminator. The


frequency of each bin will appear next to each bin cell.
Step 8: Create a column next to the frequency column that is each frequency
column entry divided by the sum of all bins. This is the probability that a result
will be in that bin.
Step 9: Create a column next to the bin probability that used the ‘NORMDIST’
function.
NORMDIST(F8,MEAN,SIGMA,FALSE)
 Step 10: Create a column next to the normdist column that is normalized.
K8/SUM(K:K)
 Step 11: Select the normalized distribution and bin probability column and
choose chart from the insert menu. Select the “custom types” tap and the “linecolumn” type. Use the bin name as x labels.
HSPICE for SI
43
Check Scatter Plot First
Measurement Scatter
ps
1000
Threshold =
0.35 V
500
0
0
100
200
300
400
500
600
sweep number
 The above scatter plot suggests that
the measurements are reasonable well
distributed.
HSPICE for SI
44
Results of Monte Carlo Analysis
 Break For spreadsheet walk through
 Results below
M easu red D ata
Top
724.9 b o tto m
784.5 b in s
743.9 S IG M A
739.6 M E A N
835.9
0.18
0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
67
8
68 .7 0
6
69 .5 6
4.
70 4 2
2
71 .2 8
0
71 .1 4
8
72 .0 0
5
73 .8 6
3
74 .7 2
1.
74 5 8
9
75 .4 4
7
76 .3 0
5
77 .1 6
3
78 .0 2
0.
78 8 8
8
79 .7 4
6.
80 6 0
4
81 .4 6
2
82 .3 2
0
82 .1 8
8.
83 0 4
5
84 .9 0
3
85 .7 6
1.
62
probability
PDF of Measured vs. Normal
678.7
ps
20
21.71
Measured
720.6
773
Estimated Gaussian
741.31546
co p y o f
B in N u m b er
B in V alu es
F req u en cy b in valu es
M easu red N o rm aliz ed
G au ssian C u rve
PDF
fo r b in valu e
G au ssian
708.6
1
678.70
1
678.70
0.000205
0.002
742.3
2
686.56
4
686.56
0.000821
0.006
0.00076344
755.7
3
694.42
22
694.42
0.004516
0.014
0.001782097
HSPICE for SI
0.00028687
45
What happens if the scatter plot has outliers
Measurement Scatter
ps
4000
2000
0
0
100
200
300
sweep number
400
500
600
These
are
problematic.
Why?
 A Gaussian analysis is not valid
 Outliers suggest that there exists physical
anomalies that must be determined.
 The next step is to look a the waveforms.
 The following page will illustrate the issues
with using a Gaussian fit for the above data.
HSPICE for SI
46
Distribution results for pervious bad scatter
PDF of Measured vs. Normal
0.6
0.5
probability
Looks like a
“mode” or
likely
occurrence
here
0.4
0.3
0.2
0.1
75
9.
88 8 0
10 9.9 1
20
11 .02
5
12 0.13
8
14 0.24
10
15 .35
4
16 0.46
70
18 .57
0
19 0.68
30
20 .79
60
21 .90
9
23 1.01
21
24 .12
5
25 1.23
81
27 .34
1
28 1.45
41
29 .56
7
31 1.67
0
32 1.78
31
33 .89
6
34 2.00
92
36 .11
22
.2
2
0
M e a s u re d D a ta
9 1 0 .6
1021
9 2 3 .1
9 4 7 .5
8 7 8 .4
1209
8 3 1 .9
8 4 8 .2
9 4 0 .7
8 8 2 .1
7 9 9 .2
Top
b o tto m
b in s
S IG M A
M E AN
4 .5  h ig h
to p 
3  h ig h
3  lo w
b o tto m 
4 .5  lo w
3362
7 5 9 .8
20
2 1 8 .6 4
9 4 1 .1 4 7 5 9 0 4
1 9 2 5 .0 0 5 6 7 9
1 1 .0 7 2 5 6 8 2 6 B in N u m b e r
1 5 9 7 .0 5 2 9 8 3
2 8 5 .2 4 2 1 9 8 2
0 .8 2 9 4 5 3 1 1 6
-4 2 .7 1 0 4 9 7 8 9
ps
Measured
1
2
3
4
5
Estimated Gaussian
copy of
M e a s u re d N o rm a liz e d
G a u s s ia n C u rv e
B in V a lu e s
F re q u e n c y b in v a lu e s P D F
G a u s s ia n
fo r b in v a lu e
7 5 9 .8 0
1
7 5 9 .8 0 0 .0 0 1 0 0 4
0 .1 9 3
0 .0 0 1 2 9 3 5 8 3
8 8 9 .9 1
429
8 8 9 .9 1 0 .4 3 0 7 2 3
0 .2 6 4
0 .0 0 1 7 7 5 2 6 9
1 0 2 0 .0 2
493
1 0 2 0 .0 2
0 .4 9 4 9 8
0 .2 5 5
0 .0 0 1 7 0 9 7 4 2
1 1 5 0 .1 3
38
1 1 5 0 .1 3 0 .0 3 8 1 5 3
0 .1 7 2
0 .0 0 1 1 5 5 5 6 3
1 2 8 0 .2 4
2
1 2 8 0 .2 4 0 .0 0 2 0 0 8
0 .0 8 2
0 .0 0 0 5 4 8 0 9 2
HSPICE for SI
47
Identify a sweep with the anomaly
in d e x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
rx _ rte rm @ rx
rx__rte
c ter rm @ rx
tx__crte
term
r @ txtx__rte
c te
r rm @ tx
p k_ gc _
tecro u lp intr@
g @tr1
pkg
flig h t_ tim e _ tve m p e r
5 2 .2 9 3 1 7 .1 8 E -1 3
4 4 .4 7 6 9 5 .1 0 E -1 3
0 .1 6 4 7 6 .1 8 E -1 0 9 .1 1 E -1 0
4 3 .9 2 7 2 1 .3 0 E -1 2
4 9 .1 3 3 9 4 .3 0 E -1 3
0 .2 4 2 6 5 .3 7 E -1 0 1 .0 2 E -0 9
5 3 .0 3 5 1 1 .2 8 E -1 2
4 5 .6 1 9 4 5 .1 0 E -1 3
0 .1 6 8 9 5 .9 6 E -1 0 9 .2 3 E -1 0
5 1 .4 7 4 8 1 .1 3 E -1 2
4 3 .7 2 8 8 3 .4 2 E -1 3
0 .1 9 9 1 6 .9 0 E -1 0 9 .4 8 E -1 0
5 2 .7 2 4 3 7 .0 0 E -1 3
4 3 .6 1 6 3 4 .5 0 E -1 3
0 .2 4 5 9 5 .3 7 E -1 0 8 .7 8 E -1 0
4 0 .2 7 0 5 7 .1 4 E -1 3
4 5 .1 7 7 4 5 .3 3 E -1 3
0 .1 9 1 8 5 .4 1 E -1 0 1 .2 1 E -0 9
5 4 .0 3 1 5 9 .3 4 E -1 3
3 6 .7 6 1 1 4 .8 5 E -1 3
0 .2 6 8 2 4 .7 5 E -1 0 8 .3 2 E -1 0
4 8 .6 6 3 1 .2 9 E -1 2
4 3 .7 6 0 2 4 .4 2 E -1 3
0 .1 6 3 9 3 .0 8 E -1 0 8 .4 8 E -1 0
4 8 .8 7 6 2 1 .4 9 E -1 2
4 3 .4 6 1 9 4 .4 8 E -1 3
0 .1 7 1 3 5 .7 6 E -1 0 9 .4 1 E -1 0
4 8 .9 8 5 3 8 .3 3 E -1 3
4 2 .2 4 3 5 .2 7 E -1 3
0 .2 5 2 8 4 .8 2 E -1 0 8 .8 2 E -1 0
5 8 .1 4 2 4 9 .4 9 E -1 3
4 1 .5 5 3 8 5 .0 2 E -1 3
0 .2 5 1 9 3 .1 8 E -1 0 7 .9 9 E -1 0
3 8 .3 2 6 2 6 .5 8 E -1 3
4 9 .1 4 1 4 3 .7 8 E -1 3
0 .1 6 3 7 .2 9 E -1 0 2 .4 5 E -0 9
5 3 .1 8 1 8 8 .4 1 E -1 3
5 2 .6 1 9 9 5 .0 3 E -1 3
0 .2 2 3 7 5 .2 0 E -1 0 9 .1 7 E -1 0
4 7 .8 5 6 4 9 .4 3 E -1 3
4 1 .9 5 6 5 .7 2 E -1 3
0 .1 9 7 6 .8 0 E -1 0 9 .5 8 E -1 0
4 8 .0 1 7 9 1 .2 0 E -1 2
4 8 .6 0 4 8 5 .7 1 E -1 3
0 .2 0 6 4 4 .7 2 E -1 0 9 .2 9 E -1 0
4 8 .1 1 1 6 5 .7 0 E -1 3
4 7 .2 8 4 9 5 .2 0 E -1 3
0 .1 7 9 9 8 .2 4 E -1 0 1 .0 4 E -0 9
a lte r#
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 Look at the 11th sweep
Sweeps start with 0
HSPICE for SI
48
Break for using statistics in Excel demo
HSPICE for SI
49
Sweep, sweep 11, and sweep 491
The measurement threshold is
½ volt. So the reflection
causes the extra 1 ns flight
time push out
This signal (sweep 491)
doesn’t even make threshold.
HSPICE for SI
50
Resolving problems
 There are actually 3 mode for the previous
case.
Normal case
Measurement on reflection part of signal
Signal is below the threshold.
 There first two can be dealt with by
increasing margin.
 The third suggest a design change.
 Assignment: What Rx range will guarantee
the only the normal case assuming the ½ volt
threshold.
You need to get the basic data in the from the
Monte netlist.
HSPICE for SI
51
Entering Flight Time Into Budget
 If the distribution looks Gaussian then
most designs will use the 3 sigma
numbers.
 A more conservative approach would be
to use 4 sigma number.
 If the result are realistically bounded,
but not Gaussian, the extreme limits
can be used but there is a risk that the
worst combination was not simulated.
HSPICE for SI
52
Backup – Hspice Listings
HSPICE for SI
53
testckt.sp main program
* Review in
printed form
HSPICE for SI
54
testckt.sp – libraries (cont’d)
HSPICE for SI
55
testckt.sp – libraries
HSPICE for SI
56
testckt_monte.sp main program
HSPICE for SI
57
testckt_monte.sp – libraries
HSPICE for SI
58
testckt_monte.sp – libraries (cont’d)
HSPICE for SI
59
1/--страниц
Пожаловаться на содержимое документа