Professional Documents
Culture Documents
41
Cadence IC 5.1.41
1.1
Unix/Linux Cadence IC 5.1.41
[1] Cadence IC 5.1.41
[2] Shell
Cadence IC Shell
Cadence IC 5.1.41 Cshell
Cadence IC /tools/cadence/ic5141~/.cshrc
tcl8.0/lib
/env/cadence_5141 ~/.cshrc
source /env/cadence_5141
1.1.1 .cdsinit
.cdsinit Cadence IC SKILL Cadence IC
5.1.41 Cadence IC
.cdsinit
Cadence IC .cdsinit
~/project icfb& Cadence IC ~/project/.cdsinit
~/.cdsinit
<Cadence >/tools/dfII/samples/local/cdsinit
1.1.2
.cdsenv.cdsplotinitdisplay.drf
.cdsenv:
.cdsplotinit: Cadence IC
display.drf:
1.1.3 cds.lib
(library) Cadence IC ~/project
Cadence IC cds.lib Cadence IC
z DEFINE
DEFINE <> <>
z INCLUDE
INCLUDE < cds.lib >
z #
cds.lib Cadence IC
cds.lib
INCLUDE <Cadence >/share/cdssetup/cds.lib
1.1 CIW
1.2.1 CIW
CIW
1.2
CIW
z FileNew
(Design Library) CellView;
z Fileimport
gds cdl verilog
z FileOpen
CellViewViewCadence
View(symbol) Cadence Virtuoso Symbol Editor
schematic Cadence Virtuoso Schematic Editor
(layout) Virtuoso Layout Editor Verilog Verilog A
z FileExport
Cadence
z FileExit
icfb
z ToolsLibrary Manager
1.3
z ToolsAnalog Environment
Simulation:
Virtuoso Analog Design Environment ADE
Options
icfb /
1.2.2 CIW
1.7
SKILL
SKILL
1.7 CIW
CIW SKILL
Cadence IC
1.8 SKILL
1.8
1.1 (Category)Files
1.3.1
1.10 4
LibraryCategoryCellView 3
analogLibParasiticsView
pcapacitor
Show FilesView
Files in LibraryFiles in Cell
z cds.lib
Viewsschematicsymbol
layoutViewCellView
z
Show Category
View
1.3.2
z Files
FilesNewLibrary/Cell View/Category: / View/
FilesSave Defaults/Load Defaults: .cdsenv
FilesOpen Shell Window: Shell
Shell
z Tools
ToolsCopy Wizard:
Destination Library
OK
1.2
1.3
View
View
Add to Category Destination Library
View (By View) 1.13 Filter
1.13 View
configurationBy Configuration 1.14
config view View
1. 4 configuration
1. 5 Delete by view
ToolsDelete by view
1.16
View
ToolsAccess Permission
1.17
ToolsCatagories
ToolsLibrary Paths
1.4 Library Path Editor
View:
ViewFilter
ViewRefresh:
1.18
1.18
1.4.1
1.4.2
i
AddInstance
1.20
RotateSidewaysUpside Down
//
ArrayRowsColumns
1
Symbol View
z
w/W /
AddWire (Narrow) AddWire (Wide)
F3 1.21
0 0.0625
12
1.21
p pin AddPin
1.22
1.22
(Label)
1.23
lAddLabel
1.23
z
3
[1](Copy)[2](Stretch)
[3](Move)
13
c/m/M //
EditCopy / Stretch / Move //
ESC
F3 1.24
1.24
3 Array
Shift
Ctrl icfb
del EditDelete
1.25
q EditPropertiesObjects
14
1. 6
Apply To()
(only current)(all selected)
(instance)(wire segment)
[]f
WindowZoomZoom out by 2 / Zoom in by 2
WindowFit
E/e/Ctrl+E
DesignhierachyDescend Edit / Descend Read / Return /
/
u / U
15
EditUndo / Redo
1.4.3
Cadence IC
analogLibLibaray 1.1.5
z gnd
0 gnd
vdd
vdd
vdc/idc
// AC
vpulse
DC DC AC AC
16
1.5
ADE Cadence IC
z CIW ToolsAnalog EnvironmentSimulation ADE
1.26
ADE
1.5.2 ADE
1
CIW
z SetupDesign
z
1.26
17
1. 7
2
spectre .scs
SetupModel Librarie 1.28
1. 8
Model Library File Section
(Section)
Browse Unix
1. 9
ok Model
18
MOS w=W1 W1
1.30
1. 10
4
DC AC
(Transient)
AnalyzeChoose
1.31
1. 11
Options Enable
19
5
2
z OutputTo be plotedSelect on the Schematic
OutputEdit
1. 12
Calculator
open Calculator()
Calculator Get Expression Expression
6
SimulationNetlist & Run
SimulationRun
SimulationStop
CIW
ResultPlot
Outputs
1.33
20
1. 13
7
z
z DesignTemperature
8
z SessionSave State
~/.artist_states/<library name>/<cell name>/spectre
1. 14
SessionLoad State
21
1. 15
SessionSave Script OCEAN
22
2 Transient Analysis
2.1
2.2
1 1.5 Analog Design Environment Analysestran
2.1 Stop Time
Accuracy Defaultserrpreset
2.1
2.2.1
z Stop Time
t = 0
m
z Accuracy Defaultserrpreset
liberalmoderateconservative
liberal
moderate SPICE2
23
conservative
conservative Option
reltolOption
reltol
relrefintegration method
maxstep
lteratio 2.1
2.1
2.2
2.2.2
2.1 options
z Options
Spectre
2.2 Options
SIMULATION INTERVAL PARAMETERS
start 0s
outputstart
24
z ic=dc
z ic=nodeic
statement
z ic=devic statement
z ic=allic
parameteric statement
Spectre
Spectre
ic statement
ic statementic parameter
ic parameterInitial
condition
2.2
2.3
ic statementic signalName=value .
ic Voff=0 X3.7=2.5 M1:int_d=3.5 L1:1=1u
Voff 0V X3 7
2.5V MOS M1 3.5V L1 1A
25
2.2
cadence Spectre
simulator user Guide 7. Control Statement
skipdc
readicreadic
ic statement
0
CONVERGENCE PARAMETERS
Spectre
cmin
readns
cmin
writereadns
State File
A
SpectreState File
2.4
26
ckptperiod
2.5Spectre.ic
2.6 Spectre.fc
2.5 2.6 Spectre.icSpectre.fc
27
T=0 DC Analysis
ua741.dc0
0 50
Transfer Function Analysis 0
State File
State File
Spectre
T=0
Spectre
3
backward-Euler,Trapezoidal
The second-order Gear 3
6 euler
traponly
trap
gear2only
gear2
trapgear2
2.2
2.3
trapezoidal
error tolerances
Second-order Gear
Second-order Gearbackward-Euler
28
Second-order Gear
Q Second-order Gear
backward-Eulertrapezoidal
ACCURACY PARAMETERS
relreferrpreset
z relref = pointlocalrelref=
z relref = alllocalrelref=
z relref = sigglobalrelref=
z relref = allgolbal
lteratio
Newton LTE
2.22.8ANNOTATION PARAMETERS
states
annotate
2.22.9OUTPUT PARAMETERS
Spectre
Spectre
strobing
SpectreResults PrintTransient
Operating Point
OUTPUT PARAMETERS
Spectre
29
2.22.10NEWTON PARAMETERS
maxiters
restart
2.22.11CAPTAB PARAMETERS
captab 2.7 Spectre
infotimes
2.7
timedinfotimes
threshold
0.0
detail
nodenodetogroundnodetonode
sort
2.8
2.8
2.9 net19M0MOS
Vdd
MOS M1Vout MOS
MOS
fixed
variablesum
30
2.9 2.8
2.3
analogLib
2.3.1 vpulse
vpulse MOS
vpulse 2.10
PropertyCDF ParameterPropertyanalogLib
View Namesymbol
2.10 CDF Parameter 2.4
2.11
31
2.10 vpulse
2.4 vpulse
Voltage 1
500m
Voltage 2
Delay time
100
Rise time
Fall time
Pulse width
50
Period
100
32
2.3.2 vpwl
vpwl
vpulse 2.5
2.12
2.5 vpwl
Time 1
1
Voltage 1
1
Time 2
2
Voltage 2
2
Time 3
3
Voltage 3
3
Time 4
4
Voltage 4
4
33
4
0
2
250
2
500
5
1m
5
s
V
s
V
s
V
s
V
2.12
2.3.3vexp
Voltage 1
Voltage 2
Delay time 1
Damping factor 1
Delay time 2
Damping factor 2
0
5
0
100
500
100
V
V
s
s
s
s
2.7
0Dt1
Dt1Dt2
Dt2Stop
V1
V1+(V2V1)(1exp(tDt1)/Df1)
V1+(V2V1)(1exp(tDt1)/Df1)(exp(tt2)/Df2)
34
2.12
2.34vsin
Damping factor
1/sAC Analysis
2.8
Amplitude
Frequency
Delay time
Damping factor
35
3
10
0
1
V
Hz
s
1/s
2.13
2.35vsource
vsource
source type
36
2.14
2.4
RC 2.15
analogLibvpluse
conservative
2.16
37
2.15
2.16
38
DC Analysis
3.1
Tran Analysis
AC Analysis
DC Analysis
[1.][2.]
MOS
gmVthregion
TemperatureDesign VariableComponent Parameter
Model Parameter
3.2
DC AnalysisSave DC Operating Point
3.1
3.1 DC Analysis
z
z
z
z
Temperature
Design Variable
VDDMOS L
W
Component parameter
Design Variable
Variable
Model Parameter
39
z
z
3.2 Temperature
Sweep RangeStart-Stop
Center-Span
Sweep TypeLinear
LogarithmicLinearStep Size
Number of StepsLogarithmic
10 Points
Per DecadeNumber of Steps
Automatic
10 10
3.3
3.3 Temperature
Add Specific Points
40
3.4Design Variable
3.3
DC Analysis 3.5
analogLibvdc
41
3.5
3.6
42
3.7
3.3.2 Component
Component ParameterSelect Component
MOS
3.3 NMOS M0
MOS 3.9 M0 1 20
43
3.8
3.5 M0
3.9 M0 1m 20m
DC Analysis MOS
Design variableParameter analysis 3.10
44
3.10
MOS
45
4 Results Browser
4.1 Results Browser
Results Browser
Y vsYResults Browser
[1.]
[2.]
[3.]
[4.]
[5.] Calculator
46
4.2.1Results Browser
4.1 Results Browser
4.1 Results Browser
Open Results
Open Graph
File
Open Table
Clear
Results Browser
Reload
Save Session
Results Browser
Close
Results Browser
Select Data
Corner Analysis
Parametric Analysis
Plot Style
Setting
Append
Replace
New SubWin
New Win
Graph Type
Tools
Default
Rectangular
Polar
Impedance
Admittance
RealVsImag
VS
Calculator
Calculator
Table
Help Help
47
Plot Style
CalculatorResults Browser
Calculator
Corner
AnalysisParametric Analysis
YvsY
Corner
AnalysisParametric Analysis
4.3 SettingGraph
Style
48
4.3
z
4.4
Calculator
49
4.4
Mag
Phase-180 +180
WPhase0 360
Real
Imag
dB1010log n
dB2020log n
50
4.5
z
4.5 Setting
Plot Style
4.2.3
4.6 Location
4.6
51
4.7
4.5 4.2
52
4.2
tran-tran
finalTimeOP-info
ac-ac
dcOp-dc
dcOpInfo-info
dc-dc
modelParameter-info
element-info
outputParameter-info
:leff
weffreff
ceff
designParamVals-info
variables
Results Browser
z Unix wavescan &
z Calculator ToolsBrowser
z Waveform ToolsBrowser
z CIW ToolsAnalog EnvironmentResults Browser
z ADE ToolsResults Browser
Results Browser
2)
FileOpen Results
4.8
53
4.8
Choose Data Directoryicfb
ADE
~/simulation/CellName/Simulator/schematic/psf
CellNameSimulatorSpectre
Results Browser
3)
OK
54
4.9
IC Cadence
4.10 Windows
4.11
55
Plot Style
4.11
AppendPlot StyleAppend
ReplacePlot StyleReplace
New SubWinPlot StyleNew SubWin
New Win
Plot StyleNew Win
Table
Calculator
Calculator
4.5.2 Calculator
Calculator
4.5.1 Calculator
56
4.5.3
Results Browser
4.12
4.5.4 Y vs Y
Results Browser
4.12
4.6 MOS
finalTimeOP-infodcOpInfo-info MOS
1) typeMOS n p
2) regionMOS 0~4
57
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
16)
17)
18)
19)
20)
21)
22)
23)
24)
25)
26)
27)
28)
29)
30)
31)
32)
33)
34)
35)
36)
37)
38)
39)
40)
41)
1
2
3
4
5
reversedMOS yes no
ids (A)
lx4 (A) ids MOS
lx50 (A)
vgs / lx2 (V)
vds / lx3 (V)
vbs / lx1 (V)
vth (V)
lv9 (V)vth
vdsat (V)
lv26 (V)Flat-band voltage
lv10 (V)vdsat
gm / lx7 (S)
gds / lx8 (S)
gmbs / lx9 (S)
betaeff (A/V2)
cjd / lx29 (F)
cjs / lx28 (F)
lx12 (Coul)Qb
lx14 (Coul)Qg
lx16 (Coul)Qd
lx24 (Coul) PN
lx26 (Coul) PN
cgg / lx18 (F)dQg_dVg
cgd / lx19 (F)dQg_dVd
cgs / lx20 (F)dQg_dVs
cgb (F)dQg_dVb
cdg / lx32 (F)dQd_dVg
cdd / lx33 (F)dQd_dVd
cds / lx34 (F)dQd_dVs
cdb (F)dQd_dVb
csg (F)dQs_dVg
csd (F)dQs_dVd
css (F)dQs_dVs
csb (F)dQs_dVb
cbg / lx21 (F)dQb_dVg
cbd / lx22 (F)dQb_dVd
cbs / lx23 (F)dQb_dVs
cbb (F)dQb_dVb
58
42)
43)
44)
45)
46)
47)
48)
49)
50)
51)
52)
53)
54)
ron()
id / i1 (A)
is / i3 (A)
ibulk / i4 (A)
lx5 (A) PN
lx6 (A) PN
pwr (W)
gmoverid (1/V)Gm/Ids
lv36 (F)
lv37 (F)
lv38 (F)
lx10 (S)
lx11 (S)
59
5 AC Analysis
5.1
AC Analysis
DC analysis
Frequency
Design Variable
Temperature
Component Parameter
Model
Parameter
5.2
Analog Design EnvironmentAC Analysis
5.1
5.1
Frequency
Sweep Range
TemperatureSpectre
At FrequencyHzSweep
Range
60
5.2
5.3
5.3
61
5.3
AC AnalysisAnalogLibvsin
5.3 M0
MOS
5.4vsinAC magnitude
AC phaseDC voltageAC magnitude
1V
-1 180AC phase
AC phase 0
DC voltage 1F
1M
5.4
5.3 M0
1.5V 1V MOS 1VM0
1.5V-1V<1VM0
AC AnalysisDC Analysis
62
AC magnitude 1V
5.5
5.5
z Mag
z Phase&WPhase
Phase 360
WPhase 0 5.6
z Real
Imag
exp
z dB10
dB20
dB10
dB20
A 10logA 20logA dB10
dB20dB20
5.3 5.7
AC AnalysisState File Parameter
Output ParameterOption
tran analysis
63
5.6 phasewphase
5.7 Vout
64
6.1
6.2
N(S) ( Zi)D(S)(, Pi)
S S
:
6.3
H(S) 0 S = 2 S = -1 H(S) S =
0
XY
6.1
6.1
6.2
65
6.2
Spectre
1. Virtuoso Analog Design Environment (ADE)AnalysesChoose
Choosing Analyses 6.3
2. pz
6.3 PZ
3. Output 6.4 Voltage
Probe
a. outputvoltage
6.4 PZ
66
a.
outputprobe 6.5
6.5
analogLib
ind, pinductor
tline
iprobe
tline,Output
porti
tline
2
4. Input Sourcevoltagecurrent
6.6
67
5.
Frequency, Design Variable, Temperature
, Component Parameter Model Parameter
6.7
6.7
6.8
68
6.8
6.10
Spectre
69
Sweep Range
7. Options
8. Apply
9. ADE ResultsPrintPole Zero Summary
ADE ResultsDirect Plot Main FormOCEAN
pzplotpzSummery
6.2
6.2.1
AC
Spectre 1Hz
PZ
1000
Spectre
DC
temp dev
mod
absdiffreldiff
Spectre
70
6.11
[1.] iprobe
[2.] oprobe
[3.] portvoprobe
[4.] portioprobeoprobe
[5.] start=0
[6.] stop.
[7.] center
[8.] span = 0
[9.] step
[10.] lin=50
[11.] dec 10
[12.] log=50
[13.] values=[...] .
71
[14.]dev
[15.] mod
[16.] param
[17.] freq (Hz)
:
[18.] readns DC
:
[19.] oppoint = no
no, screen, logfile, rawfile.
[20.] zeroonly = no 0 no yes.
:
[21.] fmax (Hz) psf
72
:portioprobe
porti
:
output.log
Q
*****************
PZ Analysis 'mypz'
******************
Poles (Hertz)
Real
Imaginary
Qfactor
1
4.5694e+10
0
**RHP
-0.5
2
4.2613e+10
0
**RHP
-0.5
3
1.4969e+10
0
**RHP
-0.5
4
1.4925e+10
0
**RHP
-0.5
5
1.0167e+10
0
**RHP
-0.5
73
6
7
8
9
10
11
1.0165e+10
7.3469e+09
7.3469e+09
-1.0061e+09
-1.0061e+09
-1.0235e+09
0
0
0
0
0
0
**RHP
**RHP
**RHP
74
-0.5
-0.5
-0.5
0.5
0.5
0.5
7
7.1
7.2
Noise AnalysisAC Analysis 7.1
Frequency
Design Variable
Temperature
Component Parameter
Model ParameterAC Analysis
Output NoiseInput Noise
75
7.3 analogLib
z
portF NF IEEE
no excess noise
16.85C290K
2
IRN = sqrt(No /G2)
F = (No2-Nl2)/Ns2
No =
Ns =
Nl =
IRN =
G =
F =
76
NF = 10log10F
z 7.4
7.4
Noise AnalysisResult Browser
Frequency
Noise Summary
Analog Design EnviromentResultsNoise Summary
7.5
7.5
77
Type
spot noise
integrated noise
noise unit
VV2
z Frequency SpotHz 1KHz
FromHzToHz
weighting
flat
from weight file
z Filter
Clear
exclude instances
z Truncate & Sort
truncate
none
by number
by relative threshold
by absolute threshold
Sort by
7.4
7.4
Results-Direct Plot-Main Form 7.5
FunctionOutput NoiseInput Noise
7.6
78
7.5
7.6
7.3
Pnoise analysisPeriodic Noise Analysis
Pnoise analysis
PSS
analysisPACPSPPXFPnoise
79
PSS analysis
PSS analysis
Pnoise analysis
PSS analysis 7.7
80
z
z
Array
of coefficientsArray of indicesNumber of harmonics
Accuracy Defaultsmoderate
OscillatorOscillator node
SelectReference node
gnd
z
z
z
z
z
SidebandsMaximum sideband 7
OutputvoltagePositive Output NodeSelect
Negative Output Node
gnd
Input Sourcenone
81
7.10
82
7.11
7.12
7.4
PSS analysisHarmonic Distortion
PSS
analysis 7.13
83
7.13
PSS analysis 7.14Fundamental
TonesAuto CalculateBeat
Frequency
7.14
7.15Output harmonicsNumber of harmonics
Accuracy DefaultsmoderateOscillator
84
7.15
ResultsDirect PlotMain Form
7.16FunctionVoltage
SelectNet
Differential Nets
Differential Nets
7.16 [1]
7.17 SweepSpectrumSignal Levelpeak
Modifier
dB20
7.18
85
7.17 [2]
7.18
7.19 1M10M15M
7.19
86
8 Waveform Calculator
8.1 Waveform Calculator
Waveform CalculatorRPN Reverse Polish Notation
Calculator
[1.] Calculator
[2.]
[3.]
[4.]
Calculator
SKILL OCEAN Reference
8.1.1 Calculator
8.1 Calculator
8.1 Calculator
87
8.1.2
Calculator
CalculatorOptions
Set RPN 8.2 Set RPN
8.2
8.1.3
Const 8.3
88
8.3
z botzmann
z charge
z degPerRad
z epp0
z pi
z twopi
z sqrt2 2
Clear
Calculator Calculator
2k
2p2 kilo
20002 pico
2 e-122 p
2*p2p
2pfsfeg
2p
2psdfs23vsdf Calculator
pi4 4*pi
4pi4p
4 e-12
8.1.4
Calculator
Command Interactive WindowCIW
89
8.1.5 Calculator
Calculator
z WaveformSimulationToolsCalculator 8.4
8.4 ToolsCalculator
CIW ToolsAnalog EnvironmentCalculator 8.5
Caculator
90
91
8.1.6 Calculator
windowclose
8.2
Calculator
z SKILL
z
z Waveform
z Results Browser
8.2.1 SKILL
Cadence SKILL
8.2.2
tran
tran 8.7
vt
acvf
(ac)Calculator
92
8.7 Calculator
8.1
vt
iv
vf
if
vdc
idc
vs
is
op
opt
var
mp
vn
1) Select Mode
2)
3)
4) Esc
8.2.2.1
op
opt
mp
vnvar
1) op
opt
mp
vnvar
Select
an instance 8.8
93
M0 MOS 8.8
OP parameter for M0
op 8.9
8.9 M0
3)
List 8.10
MOS gm
94
8.10
4)
8.9 OKCalculator
8.11
95
8.11 M0 gmCaculator
8.2.2.2
8.12
z
z
8.12
8.2.3 Waveform
Select ModeWaveformCalculator
Waveform 8.13
graph-1.trace():gain
96
8.13 M0 gm
Calculator
SKILL Calculator 8.14
8.14 Calculator
97
8.15
Calculator
1) CalculatorFamily 8.16
2) Select ModeWaveform
Calculator
8.16
98
8.3
Calculator
1~100k Hz1 Hz
Hz1~100k Hz1
Hz
Calculator
8.3.1
8.17 8.2
8.17 calculator
99
8.2 calculator
Append
Replace
New SubWin
New Win
5
1) Calculatoracvf
2) 5.3
3) CalculatorVF(/VOUT) 8.18
8.18
4)
Calculator 5.3
VF(/VOUT)
New Win
8.19
100
8.19
5.3
8.3.2 Calculator
Calculator
Display Results 8.20 OK
Display Results Calculator
Results Display Window 8.21
DataValueCalculator x-y
8.21
101
8.22 x
X InterceptCalculator
8.22 10 8.23
102
8.23 x=10 VF
X InterceptCalculator
1~100X
Intercept110Calculatorexpr100
LogStep/ScaleCalculator
Start/End
8.24 8.25
103
8.25 8.24
LogStep/Scale10
CalculatorStart/End
8.24 Log
8.26
8.26 Log
104
8.4 Memories
Calculator
Memories
Memories
8.27
8.27
Memories
8.4.1 Table
MemoriesTable 8.28 Table 5
105
8.28 Table
z
z
z
Copy
DeleteOKApply
8.29 Undelete
8.29 Delete
106
Undelete
8.4.2 Select
Select 8.30
Calculator
8.30
8.4.3 Save
107
8.31 save
Save
Save 8.31 Save In
File Name
SKILL
armSetCalcMemory( "Vout" "VF(\"/OUT\")" )
armSetCalcMemory( "gain" "dB20(VF(\"/OUT\"))" )
8.4.4 Load
Load
Open 8.32
Open
8.32 Load
8.5
Calculator
RPNCalculator
108
8.5.1
8.3
8.3 Calculator
mag
exp
ex
phase
10**x
10x
real
x**2
x2
imag
abs
ln
int
log10
10
1/x
dB10
dB
sqrt
x1/2
dB20
dB
8.5.2
RPN
8.4 8.4
stackbuffer
8.4
y**x
stackbuffer
stack + buffer
stack - buffer
stack * buffer
stack / buffer
8.5.3
Calculator sinasincosacostanatansinhasinhcosh
acoshtanhatanh
8.5.4
109
8.33
8.33
1) 8.2.2.2 Calculator
2) average
3)
8.5.4.1 average
average
average x
f(x) x y = f (x) average(y)
to
f ( x ) dx
from
to from
tofromADE
clip 8.5.4.3
8.5.4.2 bandwidth
bandwidthCalculator
dB20
1) 8.2.2.2 Calculator
4)
8.33 bandwidth
bandwidth
z Signal
Calculator SKILL
z DbdB
z Type
low
high
band
OKbandwidth
5)
3)
8.5.4.3 clip
clipCalculator
1) 8.2.2.2 Calculator
111
8.34 clip
3)
4)
FromTo
Calculator
f(x)
10~100clip1~2001~10
f(10)100~200 f(100)
OKclip
5)
8.5.4.4 convolve
convolve
1) convolve 8.35 convolve
112
8.35 convolve
2)
3)
4)
5)
Signal1Signal2
Calculator SKILL
FromTo
typelinearlog
OKconvolve
6)
to
from
convolve
8.5.4.5 cross
cross n x
1) 8.2.2 Calculator
2) cross 8.36 cross
113
8.36 cross
3)
4)
cross
z Signal
Calculator SKILL
z Threshold Value
z Edge Number
z Edge Type
rising
falling
either
OKcross
5)
8.5.4.6 delay
8.37
delaycross
114
8.37
8.38 delay
115
2)
3)
4)
Signal1Signal2
Calculator SKILL
8.4.5.5 cross
OKdelay
5)
8.5.4.7 deriv
derivCalculatorderiv
8.4.5.8 gainBwProd
gainBwProdCalculator
gainBw Pr od ( gain ) = A0 * f 2
A0 f2 1/(21/2)
8.4.5.9 gainMargin
gainMarginCalculator 180
dB
8.4.5.10 iinteg
iintegCalculator X
Waveform
8.4.5.11 integ
integCalculator x
x
1) 8.2.2 Calculator
2) integ 8.39 integ
116
8.39 integ
3)
4)
OKinteg
5)
8.4.5.12 lshift
lshiftCalculatorWaveform
lshiftDelta X 8.40
117
8.40 lshift
8.4.5.13
Calculator X Y
xmax xmin ymax
ymin
8.4.5.14 overshoot
overshootCalculator
M I F 8.41 overshoot
8.41 overshoot
118
overshoot =
( M F ) *100
F I
1) 8.2.2 Calculator
2) integ 8.42 integ
8.42 integ
3)
4)
5)
8.5.4.15 phaseMargin
phaseMarginCalculator
119
9 Parametric Analysis
9.1 Parametric Analysis
Parametric Analysis
Parametric Analysis
Parametric AnalysisVariable
Parametric Analysis
Parametric AnalysisParametric Analysis
9.2Parametric Analysis
Parametric AnalysisAnalog Design
EnvironmentADE
NMOS
NMOS VDDW_N,L_N 9.1
120
MOS
dc
MOS
MOS ADE 9.2
121
122
9.4Parametric Analysis
9.4.1Parametric Analysis
MOS
1
SetupPick Name For VariableSweepN
Sweep1 9.6
123
9.6
2
tempOK 9.9
9.8
9.9 temp
ADE temp
tempVariable Name
124
9.8 temp
9.4.2
Range TypeRange Type
z From/To
A B
z Center/Span
A B/2
Center=100 Span=20From=90 To=110
z Center/Span% A A*B/2%
Center=100 Span%=40
From=80 To=120
0
From/To-20 C 20 0C 9.9
9.9 temp
Step ControlStep Control
125
z
z
z
z
z
Auto
50 50
Linear Step
Linear
Decade 10 101/steps
perdecade
From/To
From=1 To=10
Steps/Decade=511.584892.511893.981096.3095910100100.2
100.4100.6100.8101
Octave
2 21/steps peroctave
From/ToFrom=2 To=4
Steps/Decade=522.29942.639083.031433.482242121.2
21.421.621.822
Logarithmic
To/From
1/Steps-1
Times
/ 1
126
9.12
9.13 Sweep1 Range TypeStep Control
Range Type Center/Span
Step ControlLinear
Total Steps 61
127
9.13
select
9.5
9.14 Analysis
Show Sweep SetsAll sorted
9.15
z All Sorted
z All
z Select Sorted
z Select
9.14
128
9.15
9.16
Analysis 9.16
StartStart-Selected
0
0
Select 40 C 100 C
Start-Selected 9.19
129
9.19
Results Browser
ADE Results BrowserdcOpInfoinfo MOS M0 9.18
130
9.18 M0 Vth
MOS M0 vth MOS
Graph Window 9.19
131
9.19
NMOS M0
MOS
132
9.20 Sweep2
9.4 L_NVariable Name 5um 15um
Range TypeCenter/Span%
Step ControlLogarithmic 5
9.21
133
9.21 tempL_N
Selecttemp-20~20L_N5um~15um
AnalysisShow Sweep SetsSelected sorted
9.22
9.22 MOS
134
Parametric AnalysisSweep1Sweep2
Sweep1NSweepSweepN
Sweep
Analysis-Start SelectedResults Browser MOS
M0 9.23 MOS
9.23 MOS
-20 0C 20 0C MOS M0 M0
135
9.24Axis Attributes
9.25 MOS
136
9.8
29.5 55.2 MOS
tempSweep1Add Specification
Inclusion List 9.26
9.26
Sweep1Inclusion List 9.29 29.5
55.2
Add SpecificationExclusion ListExclusion
ListSweep1
15
1619Inclusion List
Exclusion List-20~20
9.29
137
9.28
1516
1929.555.2
2uL_N ADE L_N
ADE
138
9.9
Parametric Analysis
Delete SettingSweep1-20~20
9.29
9.29
OKSweep1
-20~20 9.30
9.30 -20~20
Setup-Delete All Range Specification
SetupDelete Range
Parametric Analysis
Delete Variabletemp 9.31
139
9.31
OKtempL_N
Sweep1 9.32
9.32 temp
MOS
9.1 4
9.1 tempL_N
Case1
Case 2
Case 3
Case 4
temp
-15.1
23.5
12.8
66.5
L_N
4u
3.2u
1.8u
0.6u
140
9.33 [1]
9.34 [2]
Variable NameValue List
Variable Name 9.4 Setup-Pick Name For Variable-Sweep1
tempValue-15.1
23.5
12.8
66.5
1.8u
0.6u 9.35
9.35 tempL_N
9.36
141
9.36
tempL_N
Parametric SetSweepNVariable NameVarN
Value List M SnVmParametric Set
9.2
9.2 Variable NameVarN
Value List M SnVm
Case1
Case2
Case3
CaseM
Var1
S1V1
S1V2
S1V3
S1Vm
Var2
S2V1
S2V2
S2V3
S2Vm
VarN
SnV1
SnV2
SnV3
SnVm
Parametric SetVarialbe
142
[2.] ToolSaveParametric Analysis Save
9.39
143
10 (Corner Analysis)
z
z
z
z
z
Virtuoso
10.1
(Corner)
[1.][2.]
10.1.1.
[1.]
[2.] Virtuoso ADE (Analog Design Environment)
[3.]
[4.] ADEToolsCorners
144
10.1
File Close
10.2
10.2 Virtuoso
10.2
10.2.1
10.3 10.1
10.3
145
10.1
"File"
"Load"
PCF DCF
"Save Setup"
"Save Script"
OCEAN
"Close"
"Edit"
"Corner
Definitions->
Add Corner"
"Corner
Definitions->
Copy Corner"
"Corner
Definitions->
Enable Corner"
"Corner
Definitions->
Disable Corner"
"Corner
Definitions->
Add Variable"
"Corner
Definitions->
Delete Selected"
"Performance
Measurements->
Add Measurement"
Calculator
"Performance
Measurements->
Delete
Measurement"
"Setup"
"Add Process"
"Add/Update Model
Info"
"Simulation"
"Run"
"Stop"
"Tools"
146
"Calculator"
Calculator
"Get Expression"
Calculator
"Plot or Print
Outputs"
"Help"
"Contents"
10.2.2
(Process)
None
Setup
Add Process or SetupAdd/Update Model Info.
(Base Directory)
corAddProcessPCFSetup
Add Process or SetupAdd/Update Model Info. 10.4
10.1
FileLoad
FileClose
SetupAdd Process
10.2.3 Corner Definition
10.5
z
z
z
147
z
z
(Disable )(Enable)
Disable
Enable
2 (a)
ADE (b),
Group/Variant(Group Variable)
PCF DCF
PCF
DCF
temp 27 5.1.41
10.2
10.2
Add Corner
Add Variable
Copy Corner
Delete
PCF DCF
Disable/
Disable--
Enable
Enable
Run/
Run
Stop
Stop
10.2.4Performance Measurement
10.6
148
10.3
10.3
Measurement
Measurement
Expression
Expression
Target
Target
residual plot
Lower
Target
residual plot
Upper
Target
residual plot
Plot
Add Measurement
Delete Measurement
Calculator...
Calculator
Get Expression
Expression
Calculator
:
10.2.5
149
10.2.6
log corners0.log
log Cadence
10.2.7
10.4
Tab
Shift-Tab
Tab
F2
Page Down
Page Up
Home
End
10.3
10.3.1 ADE
ADE 10.7
CSMC 0.5um CMOS
150
10.4 10.7 AC
10.9
151
10.5 AC
10.3.2
10.10
10.6
[1.] SetupAdd Process
152
Process Name
Single Model Library
OK CSMC 10.12
10.8 CSMC
[2.] MOS 1
10.9
b)
Group/Variants
153
10.10
z Group Name
z Variant
z Apply
z 3
z Cancel
Group Name MOS Variants tt ss sf ff fs 5
Apply
10.11
c)
z EditCorner DefinitionAdd CornerAdd
Corner
z
z
d)
z
z EditCorner DefinitionCopy Corner
Copy Corners
z
z
IC 5.1.41 bug
e)
z
z EditCorner DefinitionEnable CornerEnable
f)
|
154
z
z EditCorner DefinitionDisable CornerDisable
PCF
g)
z ()
z EditCornerDefinitionDelete Selected
Delete()
PCF ()
i)
z
z EditCornerDefinitionDelete SelectedDelete
PCF
2.
10.12
a)
b) Calculator
z
z
z
z
ToolsCalculatorCalculator
Calculator Calculator
Expression
Get Expression ToolsGet Expression
Calculator
z (Residual
Plot)TargetLowerUpper
c)
z
z EditPerformance MeasurementDelete Measurement
Delete Measurement
2 Vout dB20(VF(/Vout))
PM phaseMargin(VF(/Vout))
3.
4.
10.13
z
z PlotPrint
z RunSimulationRun
z StopSimulationStop
RunStop
ToolsPlot or Print
Output Plot or Print
a)
z
156
b)
10.14
10.15
X
10.4.2
157
10.16
target target
0
10.17
5.
a)
PCF DCF FileSave Setup
158
b)
c)
FileSave
Setup As.. Corner Analysis
10.18
windows
OCEAN
OCEAN Unix shell Cadence
(CIW) OCEAN
OCEAN
OCEAN
OCEAN OCEAN
OCEAN OCEAN
FileSave Script windows
10.4
3
z PCFPCF
z DCF PCF
PCF DCF
159
DCF
corAddProcess
corSetModelFile
corAddCorner
corAddGroupAndVariantChoices
corAddModelFileAndSectionChoices
corSetCornerModelFileSection
corAddProcessVar
corSetProcessVarVal
corSetCornerGroupVariant
corSetCornerNomTempVal
corAddDesignVar
corSetDesignVarVal
corSetCornerRunTempVal
corAddMeas
corSetMeasExpression
corSetMeasLower
corSetMeasUpper
corSetMeasTarget
corSetMeasGraphicalOn
corSetMeasTextualOn
corSetCornerVarVal
corCopyCorner
corSetModelFile
Virtuoso Analog Design Environment SKILL
PCF DCF OCEAN OCEAN
Cadence /tools/dfII/samples/artist/corners
PCF
PCF PCF
P50u singleModelLib
slowslow,
nominal, fastfast
; Example PCF file for the process P50u.
corAddProcess( "P50u" "~/processes" 'singleModelLib )
corSetModelFile("P50u" "P50uModelFile.scs")
; Prepare to add a process variable to each corner.
corAddProcessVar( "P50u" "EdgeEffect" )
; Now add the corners, specifying the values and choices for each.
corAddCorner( "P50u" "fastfast" )
corSetCornerVarVal( "P50u" "fastfast" "EdgeEffect" "1.18" )
corAddCorner( "P50u" "slowslow" )
corSetCornerVarVal( "P50u" "slowslow" "EdgeEffect" "1.12" )
corAddCorner( "P50u" "nominal" )
corSetCornerVarVal( "P50u" "nominal" "EdgeEffect" "1.15" )
P50u PCF
temp 27
DCF
DCF DCF
corAddDesignVar( "vss" )
corSetDesignVarVal( "vss" "" )
corSetCornerVarVal( "P50u" "fastfast" "vss" "70" )
corSetCornerVarVal( "P50u" "slowslow" "vss" "50" )
corSetCornerVarVal( "P50u" "nominal" "vss" "60" )
corSetCornerRunTempVal("P50u" "slowslow" -35)
; You must add the measurement before you define it.
corAddMeas( "bandwidth" )
corSetMeasExpression( "bandwidth" "bandwidth(VF('/vout') 3 'low')" )
corSetMeasLower("bandwidth" "8Mhz")
corSetMeasUpper("bandwidth" "12Mhz")
corSetMeasTarget("bandwidth" "10Mhz")
P50u DCF
10.19
10.20
161
.cdsinit
PCF DCF
.cdsinit
PCF DCF
loadPcf "process1.pcf"
yanalog35u.dcf")
loadPcf "process2.pcf"
DCF
loadDcf "cellPhone23.dcf
loadDcf "opamp47.dcf
loadPcf("mypath/analog35u.pcf")
loadDcf("/mnt4/radhikak/tools/dfII/src/corners/m
DCF
PCF DCF
10.4.3
5 (Single Model Library)
(Multiple Model)(Single Numeric), (Multiple Numeric), (Multiple
Parametric)
IC5.1.41
OASIS
PCF
Cadence Cadence Spcetre
SpectreS Cadence 2
PCF
10.4.4
Cadence
z
z
z
corSetModelFile
.LIB
.LIB hspice spectre
1.
162
Path
Filename
File Contents
./CORNERS/fab6/
mylibfile.scs
library processA
section slowslow
model npn2 npn tf=120n
model npn9 npn tf=320n
model nmosR nmos tox=120n
model nmos8 nmos tox=320n
endsection
section nom
model npn2 npn tf=100n
model npn9 npn tf=300n
model nmosR nmos tox=100n
model nmos8 nmos tox=300n
endsection
section fastfast
model npn2 npn tf=80n
model npn9 npn tf=380n
model nmosR nmos tox=80n
model nmos8 nmos tox=380n
endsection
endlibrary
PCF
corAddProcess("fab6" "./CORNERS/fab6/" 'singleModelLib)
corSetModelFile("fab6" "mylibfile.scs")
corAddProcessVar("fab6" "vdc")
corAddCorner("fab6" "slowslow"
?runTemp 20
?nomTemp 27
?vars '( ("vdc" 2) )
)
PCF Virtuoso
10.21
IC 5.1.41
(Section) corSetCornerGroupVariant()
corSetCornerGroupVariant( <> <> <> <> )
fab6
(Section)
163
PCF
corAddProcess("singleModelLib" "./CORNERS/singleModelLib" 'singleModelLib)
corSetModelFile("singleModelLib" "singleModelLib.scs")
corAddModelFileAndSectionChoices("singleModelLib" "groupname" '( "slowslow"
"slowfast" "typtyp" "fastslow" "fastfast") )
corAddProcessVar("singleModelLib" "vdd")
corAddProcessVar("singleModelLib" "vss")
corAddDesignVar( "Cload" )
corAddCorner( "singleModelLib" "cor1" )
corSetCornerNomTempVal( "singleModelLib" "cor1" 27 )
corSetCornerRunTempVal( "singleModelLib" "cor1" 125 )
corSetCornerVarVal( "singleModelLib" "cor1" "Cload" "260f" )
corSetCornerVarVal( "singleModelLib" "cor1" "vss" "-2.7" )
corSetCornerVarVal( "singleModelLib" "cor1" "vdd" "2.7" )
corSetCornerGroupVariant( "singleModelLib" "cor1" "groupname" "slowslow" )
corAddCorner( "singleModelLib" "cor2" )
corSetCornerNomTempVal( "singleModelLib" "cor2" "27" )
corSetCornerRunTempVal( "singleModelLib" "cor2" 27 )
corSetCornerVarVal( "singleModelLib" "cor2" "Cload" "200f" )
corSetCornerVarVal( "singleModelLib" "cor2" "vss" "-3" )
corSetCornerVarVal( "singleModelLib" "cor2" "vdd" "3" )
corSetCornerGroupVariant( "singleModelLib" "cor2" "groupname" "slowslow" )
corAddCorner( "singleModelLib" "cor3" )
corSetCornerNomTempVal( "singleModelLib" "cor3" 27 )
corSetCornerRunTempVal( "singleModelLib" "cor3" 27 )
corSetCornerVarVal( "singleModelLib" "cor3" "Cload" "200f" )
corSetCornerVarVal( "singleModelLib" "cor3" "vss" "-3" )
corSetCornerVarVal( "singleModelLib" "cor3" "vdd" "3" )
corSetCornerGroupVariant( "singleModelLib" "cor3" "groupname" "fastfast" )
corAddCorner( "singleModelLib" "cor4" )
corSetCornerNomTempVal( "singleModelLib" "cor4" "27" )
corSetCornerRunTempVal( "singleModelLib" "cor4" 27 )
corSetCornerVarVal( "singleModelLib" "cor4" "Cload" "200f" )
corSetCornerVarVal( "singleModelLib" "cor4" "vss" "-3" )
corSetCornerVarVal( "singleModelLib" "cor4" "vdd" "3" )
corSetCornerGroupVariant( "singleModelLib" "cor4" "groupname" "fastfast" )
corAddCorner( "singleModelLib" "cor5" )
corSetCornerNomTempVal( "singleModelLib" "cor5" 27 )
corSetCornerRunTempVal( "singleModelLib" "cor5" -55 )
corSetCornerVarVal( "singleModelLib" "cor5" "Cload" "160f" )
corSetCornerVarVal( "singleModelLib" "cor5" "vss" "-3.3" )
corSetCornerVarVal( "singleModelLib" "cor5" "vdd" "3.3" )
corSetCornerGroupVariant( "singleModelLib" "cor5" "groupname" "slowslow" )
corAddCorner( "singleModelLib" "cor6" )
corSetCornerNomTempVal( "singleModelLib" "cor6" 27 )
corSetCornerRunTempVal( "singleModelLib" "cor6" -55 )
corSetCornerVarVal( "singleModelLib" "cor6" "Cload" "190f" )
corSetCornerVarVal( "singleModelLib" "cor6" "vss" "-3.0" )
corSetCornerVarVal( "singleModelLib" "cor6" "vdd" "3.0" )
corSetCornerGroupVariant( "singleModelLib" "cor6" "groupname" "slowfast" )
corAddMeas( "DCgain" )
corSetMeasExpression( "DCgain" "ymax(db20(VF('/vout')))" )
corSetMeasTarget( "DCgain" 60 )
corSetMeasEnabled( "DCgain" t )
corSetMeasGraphicalOn( "DCgain" t )
corSetMeasTextualOn( "DCgain" nil )
corAddMeas( "bandwidth" )
corSetMeasExpression( "bandwidth" "bandwidth(VF('/vout') 3 'low')" )
corSetMeasEnabled( "bandwidth" t )
corSetMeasGraphicalOn( "bandwidth" t )
corSetMeasTextualOn( "bandwidth" nil )
164
corAddMeas( "gain" )
corSetMeasExpression( "gain" "dB20(VF('/vout'))" )
corSetMeasEnabled( "gain" t )
corSetMeasGraphicalOn( "gain" t )
corSetMeasTextualOn( "gain" nil )
corAddMeas( "phase" )
corSetMeasExpression( "phase" "phase(VF('/vout'))" )
corSetMeasEnabled( "phase" t )
corSetMeasGraphicalOn( "phase" t )
corSetMeasTextualOn( "phase" nil )
PCF
10. 22
2.
PCF DCF
corAddModelFilesAndSectionChoices corAddCorner
./CORNERS/fab6/path1/npn.scs
./CORNERS/fab6/path3/nmos.scs
.SCS .LIB
Path
Filename
File Contents
./CORNERS/fab6/path1/
npn.scs
library npn
section slow
model npn2 bjt tf=120n
model npn8 bjt tf=80n
endsection
section nom
model npn2 bjt tf=100n
model npn8 bjt tf=60n
endsection
section fast
model npn2 bjt tf=80n
model npn8 bjt tf=50n
endsection
endlibrary
./CORNERS/fab6/path3/
nmos.scs
library nmos
section slow
model nmosR mos3 tox=120n
model nmos2 mos3 tox=140n
endsection
section nom
model nmosR mos3 tox=100n
model nmos2 mos3 tox=115n
endsection
165
section fast
model nmosR mos3 tox=80n
model nmos2 mos3 tox=90n
endsection
endlibrary
PCF
corAddProcess("fab6" "./CORNERS/fab6/" 'multipleModelLib)
corAddModelFileAndSectionChoices("fab6" "path1/npn.scs"
'( "slow" "nom" "fast") )
corAddModelFileAndSectionChoices("fab6" "path3/nmos.scs"
'( "slow" "nom" "fast") )
corAddProcessVar("fab6" "vdc")
corAddCorner("fab6" "slowslow"
?sections '( ("path1/npn.scs" "slow")
("path3/nmos.scs" "slow") )
?runTemp 20
?nomTemp
-27
?vars '( ("vdc" 2) )
)
corAddCorner("fab6" "nomnom"
?sections '( ("path1/npn.scs" "nom")
("path3/nmos.scs" "nom") )
?runTemp 30
?nomTemp
27
?vars '( ("vdc" 3) )
)
corAddCorner("fab6" "fastfast"
?sections '( ("path1/npn.scs" "fast")
("path3/nmos.scs" "fast") )
?runTemp 40
?nomTemp
-27
?vars '( ("vdc" 4) )
)
corAddCorner("fab6" "fastslow"
?sections '( ("path1/npn.scs" "fast")
("path3/nmos.scs" "slow") )
?runTemp 50
?nomTemp
-27
?vars '( ("vdc" 4) )
)
PCF
10.23
3.
z / allfast
/allfast
166
SpectreSetupModel Library
SetupEnvironment
Path
Filename
File Contents
./CORNERS/fab6/allslow/
models
.model
.model
.model
.model
./CORNERS/fab6/allnom/
models
.model
.model
.model
.model
./CORNERS/fab6/allfast/
models
.model
.model
.model
.model
PCF
corAddProcess("fab6" "./CORNERS/fab6" 'singleNumeric)
corAddCorner("fab6" "allslow"
?runTemp -55
)
corAddCorner("fab6" "allnom"
?runTemp -27
)
corAddCorner("fab6" "allfast"
?runTemp 55
)
10.24
4.
a)
b) //
npn fast /npn/fast
c) ADE (Edit Object Properties)
167
Path
Filename
File Contents
./CORNERS/fab6/npn/slow/
npn2.scs
npn9.scs
npn2.scs
npn9.scs
npn2.scs
npn9.scs
nmosR.scs
nmos8.scs
nmosR.scs
nmos8.scs
nmosR.scs
nmos8.scs
./CORNERS/fab6/npn/nom/
./CORNERS/fab6/npn/fast/
./CORNERS/fab6/nmos/slow/
./CORNERS/fab6/nmos/nom/
./CORNERS/fab6/nmos/fast/
PCF
corAddProcess("fab6" "./CORNERS/fab6" 'multipleNumeric)
corAddGroupAndVariantChoices("fab6" "npn"
'("slow" "nom" "fast")
)
corAddGroupAndVariantChoices("fab6" "nmos"
'("slow" "nom" "fast")
)
corAddCorner("fab6" "slowslow"
?variants '(
("npn" "slow")
("nmos" "slow")
)
?nomTemp -55
?vars '( ("Cload" 260f) )
)
corAddCorner("fab6" "slowfast"
?variants '(
("npn" "slow")
("nmos" "fast")
)
?nomTemp -55
?vars '( ("Cload" 200f) )
)
10.25
168
Spectre
Spectre.cdsenv
includeStyle
5.
z / npn
/npn
z // npn
fast /
z Virtuoso ADE (Edit Object
Properties)
Path
Filename
File Contents
./CORNERS/fab6/npn
npn2.scs
include "npn2.param"
model npn2 bjt tf=TF2
npn9.scs
include "npn9.param"
model npn9 bjt tf=TF9
npn2.param
parameter TF2=120n
npn9.param
parameter TF9=320n
npn2.param
parameter TF2=100n
npn9.param
parameter TF9=300n
npn2.param
parameter TF2=80n
npn9.param
parameter TF9=380n
nmosR.scs
nmos8.scs
nmosR.param
parameter TOXR=120
nmos8.param
parameter TOX8=320n
nmosR.param
parameter TOXR=100n
nmos8.param
parameter TOX8=300n
nmosR.param
parameter TOXR=80n
nmos8.param
parameter TOX8=380n
./CORNERS/fab6/npn/slow/
./CORNERS/fab6/npn/nom/
./CORNERS/fab6/npn/fast/
./CORNERS/fab6/nmos
./CORNERS/fab6/nmos/slow/
./CORNERS/fab6/nmos/nom/
./CORNERS/fab6/nmos/fast/
PCF
corAddProcess("fab6" "./CORNERS/fab6" 'multipleParametric)
corAddGroupAndVariantChoices("fab6" "npn2"
'("slow" "nominal" "fast")
)
169
corAddGroupAndVariantChoices("fab6" "nmos8"
'("slow" "nominal" "fast")
)
corAddGroupAndVariantChoices("fab6" "npn9"
'("slow" "nominal" "fast")
)
corAddGroupAndVariantChoices("fab6" "nmosR"
'("slow" "nominal" "fast")
)
corAddCorner("fab6" "slowslow"
?variants '(
("npn2" "slow")
("nmos8" "slow")
("npn9" "slow")
("nmosR" "slow")
)
?nomTemp -55
)
corAddCorner("fab6" "slowfast"
?variants '(
("npn2" "slow")
("nmos8" "fast")
("npn9" "slow")
("nmosR" "fast")
)
?nomTemp -55
)
Virtuoso PCF
10.26
Spectre
.cdsenv includeStyle
(Socket Simulator)
update.s update.s
use
use
use
use
npn2.s
npn9.s
nmosR.s
nmos8.s
directory it creates. Therefore, the results browser cannot be used to browse through the directories. In
order to browse individual directories, you can use the Create ROF feature.
10.5
Cadence /tools/dfII/samples/artist/corners/artistExample
icms.cdsinit
10.5.1
171
10.27
PMOS NMOS PMOS NMOS
ADE
172
10. 28
PMOS NMOS
multipleModelLib
NMOS
CORNERS/multipleModelLib/nmosLib.scs
library nmosLib
section nom
include "../nmos/typ/nmos.scs"
endsection
section fast
include "../nmos/fast/nmos.scs"
endsection
section slow
include "../nmos/slow/nmos.scs"
endsection
endlibrary
simulator lang=spice
* VTI Level=2 slowN/slowP model
.model nmos nmos level=2
+ vto = 0.9
+ tox = 430e-10
+ nsub = 1.0e+16
+ xj = 0.15U
*+ ld = 0.20U
+ ld = 0.075U
+ u0 = 620
+ ucrit = 0.62e5
+ uexp = 0.125
+ vmax = 5.1e4
173
+
+
+
+
+
+
+
+
+
+
neff = 4.0
delta = 1.4
rsh = 38
cgso = 2.10e-10
cgdo = 2.10e-10
cj = 215U
cjsw = 540P
mj = 0.76
mjsw = 0.30
pb = 0.8
10.5.3 PCF
DCF PCF
multipleModelLib.pcf
corAddProcess( "multipleModelLib" "./CORNERS/multipleModelLib"
'multipleModelLib )
corAddProcessVar( "multipleModelLib" "vdd" )
corAddProcessVar( "multipleModelLib" "vss" )
corAddDesignVar( "Cload" )
corAddGroupAndVariantChoices( "multipleModelLib" "pmosLib.scs"
'("slow" "nom" "fast") )
corAddGroupAndVariantChoices( "multipleModelLib" "nmosLib.scs"
'("slow" "nom" "fast") )
corAddCorner( "multipleModelLib" "slowslow" )
corSetCornerGroupVariant( "multipleModelLib" "slowslow"
"nmosLib.scs" "slow" )
corSetCornerGroupVariant( "multipleModelLib" "slowslow"
"pmosLib.scs" "slow" )
corSetCornerNomTempVal( "multipleModelLib" "slowslow" 27 )
corSetCornerRunTempVal( "multipleModelLib" "slowslow" 125 )
corSetCornerVarVal( "multipleModelLib" "slowslow" "Cload" "260f" )
corSetCornerVarVal( "multipleModelLib" "slowslow" "vss" "-2.7" )
corSetCornerVarVal( "multipleModelLib" "slowslow" "vdd" "2.7" )
corAddCorner( "multipleModelLib" "fastslow" )
corSetCornerGroupVariant( "multipleModelLib" "fastslow"
"nmosLib.scs" "slow" )
corSetCornerGroupVariant( "multipleModelLib" "fastslow"
"pmosLib.scs" "fast" )
corSetCornerNomTempVal( "multipleModelLib" "fastslow" "27" )
corSetCornerRunTempVal( "multipleModelLib" "fastslow" 27 )
corSetCornerVarVal( "multipleModelLib" "fastslow" "Cload" "200f" )
corSetCornerVarVal( "multipleModelLib" "fastslow" "vss" "-3" )
corSetCornerVarVal( "multipleModelLib" "fastslow" "vdd" "3" )
corAddCorner( "multipleModelLib" "typtyp" )
corSetCornerGroupVariant( "multipleModelLib" "typtyp" "nmosLib.scs"
"nom" )
corSetCornerGroupVariant( "multipleModelLib" "typtyp" "pmosLib.scs"
"nom" )
corSetCornerNomTempVal( "multipleModelLib" "typtyp" 27 )
corSetCornerRunTempVal( "multipleModelLib" "typtyp" 27 )
corSetCornerVarVal( "multipleModelLib" "typtyp" "Cload" "200f" )
corSetCornerVarVal( "multipleModelLib" "typtyp" "vss" "-3" )
corSetCornerVarVal( "multipleModelLib" "typtyp" "vdd" "3" )
corAddCorner( "multipleModelLib" "slowfast" )
corSetCornerGroupVariant( "multipleModelLib" "slowfast"
"nmosLib.scs" "fast" )
corSetCornerGroupVariant( "multipleModelLib" "slowfast"
"pmosLib.scs" "slow" )
174
.cdsint
loadPcf( "~/multipleModelLib.pcf" )
PCF
10. 29
175
10. 30
windows
LoadCancel
10.5.5
ADE ToolsCorners
multipleModelLib.pcf
z temp 27
corSetCornerRunTempVal
z ADE PCF
176
10. 31
10.5.6
1. DCgain bandwidth
DCgain
=63 =60 =65
Bandwidth =200k =130k =350k
2. Output1Output1
3.
4. RunSimulationRun
177
10. 32
Phase Gain
Wavescan GraphLayoutCard
10. 33
/ 4
fastfast slowslow
178
10.34
fastfast slowfast DCgain
179
11 Optimization
11.1
Optimizer
2
z LSQLeast Square
45
3 CFSQP
5
6
5
5
7 4
z 5
z
Optimizer
180
11.2 Optimization
Optimization Virtuoso Analog Design
Environment
ADE
NMOS
NMOS
VDDVGW_N
L_Nrescap 11.1
11.1
ADE 1
AC
1~10M HzADE 11.2
181
11.2 AC
11.3 1
Optimization 20dB3dB 100Hz
11.2 Optimization AC
182
11.3 Optimization
ADEToolsOptimization 11.4
11.4 Optimizer
Virtuoso Analog Circuit Optimizer 11.5
SessionQuit
183
State Display
Menu
Goals Pane
Variables Pane
Tool Bar
Menu
Goals Pane
11.4.2 Menu
11.7 Menu
Menu 11.1 Menu
11.1
Session
184
Save State
Load State
Save Script
Ocean
Option
Reset
Quit
Goals
Retrieve Output
ADE
Add
Waveform Calculator
Edit
Delete
Enable
Disable
Variables
Add/Edit
Delete
Enable
Disable
Run
Step
Run n
Stop
Stop Now
Reset
Result
Plot History
Update Design
Help
Contents
Optimization
185
11.8
Goals Pane 11.8 Goals Pane
11.2
11.2 Goals Pane
Name
Direction
Target
1 Direction match
3 Direction >=
4 Direction <=
Initial
Prev
Current
Enable
yes noyes
no
186
Name
Min
Max
Initial
Prev
Current
Enable
yes no yes
no
/ Add/Edit Goals
/ Add/Edit Variables
Delete
Run
Stop
187
(Plot History)
(Update Design)
11.5
4
11.5.1
z
z 11.4.3 Direction
1Hz
maximize
11.5.1.1
1)
ADEGoals Pane
Enableno
11.10 11.11
188
11.10
2)
3)
11.11gain
gainGoalsEdit
11.5.1.3
11.5.1.3
ADEADE
GoalRetrieve Outputs
189
7
Waveform CalculatorOpenCalculator
190
7 Direction
11.4.3
8 Target Cadence SKILL
Target 4~6 Waveform Calculator
36
9 Acceptable 11.5.1.6
11.4
11.4
Direction
minimize
maximize
match
>=
<=
z % wihin TargetAcceptable
36
10Enabled
11OKVirtuoso Analog Circuit Optimizer
11.14 100Hz 2%
191
11.14
11.15 11.14 Virtuoso Analog Circuit Optimizer
11.5.1.3
1)
2)
3)
Goals Edit
Tool BarAdd/Edit GoalsEditing
GoalsAdding Goals
gainADEAdd/Edit Goals
11.16
11.5.1.II 3~10 Editing Goals 11.16
192
4)
11.16
OK 11.17
11.17
11.5.1.4
1)
193
11.18
2)
194
11.5.1.6
1)
match>= <=
minimize
maximize
11.5
11.5
Direction
match
>=
<=
minimize
maximize
LSQ match
minimizemaximize
2)
minimizemaximize
match>= <=
fT
A=
f T
11.6
A T
11.6
Name
Direction
Target Value
Acceptable Value
power
<=
50 mW
80 mW
delay
<=
50 ns
60 ns
power 90 mW
90mW 50mW 40mW
=
= 1.333
80mW 50mW 30mW
delay 90 ns
90ns 50ns 40ns
=
=4
60ns 50ns 10ns
delaydelay
195
power
11.5.2
11.5.2.1
Virtuoso Analog Circuit Optimizer
1) Variables Add/Edit Tool BarAdd/Edit Variables
Editing Variables 11.20
11.20
11.4 Design Variables 11.17 Name
ADE
2) Name
11.21 res
3) Initial Value
ADE 11.21 res
1kADE
196
11.21
4) Minimum Value
5) Maximum Value
6) Enable
Editing Variables 11.22
11.22
7) OK
Virtuoso Analog Circuit Optimizer 11.23
197
11.5.2.2
Virtuoso Analog Circuit Optimizer
1) Virtuoso Analog Circuit Optimizer
11.24
2)
11.24
Variables Add/Edit Tool BarAdd/Edit Variables
Editing Variables 11.25
198
3)
11.25
Name
Name
11.26 NameVG
11.26 VG
4)
5)
Initial Value
Minimum Value
6) Maximum Value
7) Enable
Editing Variables 11.27
199
11.27 VG
8)
OK
Virtuoso Analog Circuit Optimizer 11.28
11.28
11.5.2.3
1)
2)
Variables Delete
Tool BarDelete
200
11.5.2.4
1)
2)
Variables Enable
Variables Disable
11.5.3
11.5.3.1
1)
2)
Tool BarStop
OptimizerStepOptimizer
Reset
z OptimizerRun n n
11.29
11.29 n
OK
n Optimizer
Run nOptimizerReset
Virtuoso Analog Circuit Optimizer
PrevCurrent
11.5.3.2
Virtuoso Analog Circuit Optimizer
z OptimizerStopTool BarStop
201
z OptimizerStop Now
OptimizerStop
11.5.3.3
OptimizerReset
11.5.4
11.5.4.1
1)
11.30
202
2)
3)
z Design Variable
z Scalar Goals
z Functional Goals
11.31
11.31
4)
5)
Waveform Window
OK
Waveform WindowWaveform
Window
11.5.4.2
Auto Plot After Each IterationWaveform Window
203
11.32
11.32
11.5.4.3
11.6
Virtuoso Analog Circuit OptimizerSession
11.6.1
204
1)
2)
3)
11.33 save
Save As
Existing StateSave As
What to Save
~/.artist_state/LibraryName/CellName/.asd_Optimization/StateName
LibraryNameCellNameStateName
11.6.2
205
11.34
2)
3)
4)
5)
6)
Library
Cell
State Name
What to Load
OK
11.6.3
Open Command Environment for AnalysisOCEAN
OCEAN Unix Command Interactive
Window
CIW OCEAN OCEAN
OCEAN
ADE Parametric AnalysisOptimization
2)
3)
11.35
File Name
OK
206
11.6.4
2)
11.36
Algorithm SelectionLSQCFSQP
Auto
3)
Percentage Finite
Difference Perturbation
z Relative Design Variable Tolerance LSQ
CFSQP
0.05 LSQ
5%
207
4)
5)
11.6.5
SessionReset
208
12 Waveform
12.1 Waveform
WaveformWaveform
YvsY
20dB Waveform
12.2 Waveform
12.1 Waveform
Y
X
12.1 waveform
12.2.1 Waveform
12.1 Waveform
File
Open
Open Grap
Save
Save as Image
Save Image
Reload
Save Session
Waveform
Close
Waveform
Exit
Waveform
Edit
Move
Swap
Delete
Hide
Reveal
Undo
Graph
Grids On
Layout
Auto
Vertical
Horizontal
Card
Display Type
Rectangular
Histogram
RealVsImag
VS
Polar
Impedance
Admittance
Font
Small
Medium
Large
Lable
Create
Lable Attributes
Edit
Freeze On
Waveform
210
Snap Off
Snap-to-Data
Snap-to-Peaks
Color Schemes
Defualt
Gray
Black
Template
Set Default
.cdsenv
Set Current
Load
Graph Attributes
Edit
Axis
Major Grids On
Minor Grids On
Log
Strip
Edit
Axis Atrributes
Trace
Symbols On
Assign to Axis
Y Y
Waveform
New Graph
Copy New Window
Waveform
Waveform
Expand
Trace Cursor
Vert Cursor
Horiz Cursor
Delta Cursor
211
Cut
Copy
Paste
Load
Load
Save
Save ASCII
Eidt
Trace Attributes
Select All
Waveform
Mark
Place
Trace Marker
Vert Marker
Horiz Marker
Add Delta
Display Type
x y
XY Delta
X Delta
Y Delta
Attach to Trace
Find Max
Find Min
Create
Marker Attributes
Edit
Marker Attributes
Select All
Waveform
Zoom
Zoom
X-Zoom
Y-Zoom
Unzoom
Fit
Zoom In
Zoom Out
Pan
Pan Right
Pan Left
Pan Up
Pan Down
Tools
212
Browser
Results Browser
Calculator
Calculator
Help
Help
Accelerator Key
12.2.2
Waveform 12.2
12.2
FilePrint
z
z
EdirUndo
/GraphGrids On
AxisStrip
GraphLayoutCard
WaveformTraceNew
GraphCopy New SubWindow
z
z
z
z
Lable
Lable
12.3 Waveform
Waveform
z CIWToolsAnalog EnvironmentWaveform
z ADE ToolsWaveform
z ADE Plot Output
z Results BrowserWaveform
z CalculatorWaveform
213
Waveform
12.4 Waveform
Waveform
12.4.1
Waveform
z GraphLayout Auto
GraphLayout Horizontal
12.3
214
GraphLayout CardWaveform
12.4
215
12.4.2
ADE WaveScan SKILL WaveScan
GraphColor Schemes 12.5
216
12.5
z Default
z Grey
z Black
Waveform
12.4.3 Waveform
12.4.3.1
Ctrl
.cdsenvautoTraceSelecttrue
Waveform
autoTraceSelectFalse
217
12.4.3.2
Waveform
1)
2) EditHide
Waveform
12.4.3.3
Waveform
1) EditReveal
12.6
2) Waveform
12.6
12.4.3.4
X Y
1)
2) EditSwap
218
3)
12.4.3.5
WaveformWaveform
1)
2) EditDelete
Del
Waveform
12.4.3.6
EditUndo
UndoUndoUndo
12.5
12.5.1
12.7
219
12.7
12.5.2 Zoom
ZoomZoom
12.5.3 X-Zoom
ZoomX-Zoom X ZoomX-Zoom
12.5.4 Y-Zoom
ZoomY-Zoom Y ZoomY-Zoom
220
12.5.5 Unzoom
ZoomUnzoom
12.5.6 Fit
ZoomFit
12.5.7ZoomIn
ZoomZoomIn 12.8
12.8 ZoomZoomIn
12.5.8ZoomOut
ZoomZoomOut 12.9
221
12.9 ZoomZoomOut
12.6
ZoomPanPan Right
Pan Left
Pan Up
Pan
Down 12.10 12.11 Pan Right
222
12.10
12.7
.cdsenv
1) GraphEditGraph Attributes
12.12
12.12
2)
3)
4)
TitleDefault
SubTitle
Legend RowLegend
223
Row 12.13
8) Major Grids
9) Minor Grids
10) OK
12.8
z AC X
z
z
224
Parametric Analysis
12.8.1
Waveform
Y X
AxisStrips(
) 12.13 12.14
12.14
z
z
225
12.8.2
TraceSymbols On 12.15
#####
12.15
12.8.3
Waveform
z Y
z Y Y
1
12.16 OUT1OUT2 Y
OUT2
226
12.16
Y Y
2
12.17 N1V0:p
*???*(V?A)
227
12.17 Y Y
12.8.4
.cdsenv
228
12.18
2)
3)
NameDefault
NameDefault
Strip Chart Visible Rows
12.19
Strip Chart Visible Rows
12.19
229
4)
5)
6)
7)
8)
Type/Style
z Line
z Point
z Bar
z Spectral
z Histogram
z Solid
z Dashed
z Dotted
z DotDashed
z Fine
z Medium
z Bold
Symbol
Show
z Point
z Dot
z Square
z Box
z UpArrow
z DownArrow
z XX
z Circle
Foreground
Cursor X/Y Offset X/Y
OK
12.9
.cdsenv
1) AxisEditAxis Attributes
12.20
230
12.20
2)
3)
LabelDefault
Scaling
z Auto
z Min-Max
z Manual
4) Log
5) Origin
6) Max/MinScalingAuto
7) Major/Minor Division
ScalingManual
8) Significant DigitsDefault
Significant Digits
9) Foreground
10) X
z Plot vs 12.21
Y X X Results
BrowserYvsY4.5.4
231
12.21
z
232
12.23 restemp
z
z 7.7 200
11) OK
12.10
12.10.1
12.24
233
12.24
z
z
TraceTrace Cursor
Crtl
GraphSnap Off
GraphSnap-to-Data
GraphSnap-to-Peaks
12.10.2
X/Y
X/Y
z TraceVert Cursor 12.25
234
12.10.3
X/Y
X/Y
z TraceHoriz Cursor 12.26
235
12.10.4
Y X
X/Y X/Y
12.27
z TraceDelta Cursor 12.27
236
dX= X - X
dY= Y - Y
S=dY/dX
12.11
12.28 Waveform
237
12.28 Waveform
12.11.1
Graph
z Graph
1) GraphLabelEdit
Label Attributes
12.29
238
12.29 GraphLabelEdit
Label Attributes
Label Attributes
2) 12.11.2Add
3)
z
1) Waveform
2)
3)
4)
12.11.2
Graph
z Graph
1) GraphLabelEdit
Label Attributes 12.29
2) String
WaveScan 12.2
239
12.2 WaveScan
3)
4)
5)
6)
7)
%X
%Y
%W
%H
%S
X/Y
%N
%E
Expression SKILL
String%E
Signif DigitsDefault
Font
Foreground
Direction 12.30
12.30
8)
z
OK
1)
2)
3)
12.11.3
1)
2)
z
z EditMove
240
12.12
X Y
12.12.3
12.12.1
12.12.1.1
12.31 MarkerCreate
2)
Label
z 12.2
z Default X Y Default
Label
241
3)
4)
5)
X/Y
z X Y
X 10nS X
10n Y
WaveScan Y
z Use Cursor
ConstraintsTraceData Points
Type/Display 12.12.2
z Trace
z Vertical
z Horizontal
12.32
12.32
6)
7)
8)
9)
Symbol StyleArrow
Font
Foreground
OK
242
12.12.1.2
z MarkerPlaceTrace Marker
Marker Place Vert Marker
MarkerPlaceHoriz Marker
z m
V
H
WaveScan
WaveScan
.cdsenvautoTraceSelecttrue
.cdsenvautoTraceSelectfalse
12.12.1.3
XY
min\max
1)
z MarkerPlaceTrace Markerm
z
2) MarkerAdd Delta
3)
a
12.33 X
Y
243
12.33
.cdsenvautoTraceSelecttrue
.cdsenvautoTraceSelectfalse
12.12.2
XY
X Y
1)
2) MarkerDisplay TypeMarkerEditMarker Attributes
Type/Display 12.3
244
12.3 Type/Display
X Y
XY Model
X Y
X Model
Y Model
12.34
245
12.34
12.12.3
.cdsenv
1)
z
z MarkerEdit
12.35
12.35
Marker Attributes
2) 12.12.1.1
3) OK
12.12.4
1)
246
2)
z
z EditMove
.cdsenvautoTraceSelecttrue
.cdsenvautoTraceSelectfalse
12.13
12.13.1
WaveScan
1) TraceSaveSave
12.36
12.36
2)
3)
4)
5)
.grf
Save In
File name
Save
247
12.13.2
1) TraceLoad
Open 12.37
12.37
2)
3)
z
z
4)
Look In
File name
Look In
Open
12.14
GraphFreeze On
12.15
FileReload
248
12.16
XMLXML
z
XML
1) FileSaveSave Graph 12.38
12.38
2)
3)
4)
z
z
5)
.grf
Save In
Save In
File Name
Save
12.17
249
2)
3)
4)
12.39
Auto
WaveScanFile
snapshot.pngWaveScanPNGWaveScan
.png
.tiff
.tif.bmpPNG
Filesnapshot. tiff
WaveScansnapshot.png
snapshot.pngBrowser
Save
12.18
WaveScan
250
2)
3)
4)
z
z
5)
12.40
Look In
Files of Type
File name
Look In
Open
12.19
WaveScan.cdsenv
Waveform
Waveform
z
Results BrowserFileOpen GraphOpen Graph as Template
Waveform
z Waveform
WaveformGraphTemplateSet Current
WaveformWaveform
WaveformWaveform
z
WaveformGraphTemplateSet Default
Waveform.cdsenv
251
252