You are on page 1of 252

1 Cadence IC 5.1.

41
Cadence IC 5.1.41

[1] Cadence IC [2]


Command Interpreter Window (CIW, )[3] Library Manager [4]
Virtuoso Schematic Editor [5] Virtuoso Analog Design Environment (ADE)

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

setenv ic50 /tools/cadence/ic5141


set LD_LIBRARY_PATH=($ic50/tools/lib $ic50/tools/dfII/lib $ic50/tools/tcltk/
$LD_LIBRARY_PATH)
set path = ($ic50/tools/bin $ic50/tools/dfII/bin $ic50/tools/dracula/bin $path)

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:

.cdsenv <Cadence >/tools/dfII/samples/.cdsenv


.cdsplotint <Cadence >/tools/plot/samples/cdsplotinit.sample
display.drf <Cadence >/share/cdssetup/dfII/default.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.2 Command Interpreter WindowCIW)


Cadence IC5.1.41
icfb &
Cadence IC Command Interpreter Window, CIW

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

1.3 Library Manager

z ToolsLibrary Path Editor

1.4Library Path Editor


(cds.lib) 1.4
cds.lib
z ToolsVerilog Integration
2 Verilog-XL NC-Verilog Verilog

z ToolsAnalog Environment

Simulation:
Virtuoso Analog Design Environment ADE

1.5 Analog Environment


Calculator
Result Browser:
Waveform:

z ToolsTechnology File Manager

1.6Technology File Manager

Options
icfb /

1.2.2 CIW
1.7

SKILL
SKILL

1.7 CIW

CIW SKILL

Cadence IC
1.8 SKILL
1.8

> 1.9 Cadence IC


1.9

1.3 Library Manager


(Library Manager) 1.3
(Category)Files 1.10

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:

Simple 1.11 Add To Category

Destination Library

OK

1.2

(Hierarchical)(Exact Hierarchical) 1.12

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

ToolsRename Reference Library


1.15
SDIC_bandgap analogLib
tsmc35mm

1.15 Rename Reference Library

1. 5 Delete by view

ToolsDelete by view
1.16
View
ToolsAccess Permission
1.17

1.17 Access Permission

ToolsCatagories

ToolsLibrary Paths
1.4 Library Path Editor
View:
ViewFilter
ViewRefresh:

1.4 Virtuoso Schematic Editor


(Schematic Editor)
CIW (schematic)
View
10

1.18

1.18

1.4.1





1.4.2

i
AddInstance

1.19 Add Instance

Library Cell Browse


1.19

1.20
11

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 /
/

(Save)(Check & Save)(Save As)



S / X / Ctrl+s
DesignSave / Check and Save / Save As

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

nmos4 / pmos4 / pnp


4 NMOS / PMOS / PNP

(Model Name)(Model Library)

NMOS nvnPMOS nvpPNP


pnp5 nmos4 Model Name nvnpmos4 nvppnp
pnp5
res / cap / ind

16

Virtuoso Analog Design Environment (ADE)

1.5

ADE Cadence IC
z CIW ToolsAnalog EnvironmentSimulation ADE

z ToolsAnalog Environment ADE


ADE
ADE
1.5.1 ADE
1.26 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

Library File Add

MOS w=W1 W1

VariablesCopy from Cell View


ADE ADE
VariablesEdit ADE

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

TIME STEP PARAMETERS


step 0.001
maxstep
errpreset
INITIAL CONDITION PARAMETERS
ic statement
(ic parameters)
DC analysis
ic

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

Spectre Circuit Simulator Reference3. Analysis Statements


readic

CONVERGENCE PARAMETERS

Spectre
cmin

readns
cmin
writereadns

STATE FILE PARAMETERS

State File
A

SpectreState File
2.4

26

2.4 State File Parameter


write
writefinal

ckptperiod

2.5Spectre.ic

2.6 Spectre.fc
2.5 2.6 Spectre.icSpectre.fc
27

~/simulation/cell name/spectre/schematic/netlistcell name


Spectre.ic
V0:pV3:p
VIN
VOUTvddSpectre.fc
Spectre.ic

altTemp alter param=temp value=0


Drift dc param=temp start=0 stop=50.0 step=1 readns="ua741.dc0" write="ua741.dc0"
XferVsTemp xf param=temp start=0 stop=50 step=1 \ probe=Rload freq=1kHz readns="ua741.dc0"

T=0 DC Analysis
ua741.dc0
0 50
Transfer Function Analysis 0
State File
State File
Spectre
T=0

INTEGRATION METHOD PARAMETERS

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

skip time point


compression
outputstart
Infotime

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.11 2.4 vpulse

2.3.2 vpwl
vpwl
vpulse 2.5
2.12
2.5 vpwl

Number of pairs of points

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

Damping factor 2.7


DtiDelay time iDfiDamping factor i
2.6

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

Sweep RangeSweep Type

Temperature 3.2 Sweep


RangeSweep TypeAdd Specific Points

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

Design VariableComponent Parameter


Variable NameComponent NameParameter Name 3.4

40

3.4Design Variable

3.3
DC Analysis 3.5
analogLibvdc

3.3.1 Design Variable


3.5 M0 3V VBIASDesign Variable
Select Design Variable 3.6
OKVariable NameSweep Range
Sweep Type 3.7 VBIAS 0V 5V

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

DC AnalysisOptionState File ParametersOutput Parameters


Convergence Parameters
Annotation Parameters
CAPTAB Parameters
cadence

45

4 Results Browser
4.1 Results Browser
Results Browser

Y vsYResults Browser
[1.]
[2.]
[3.]
[4.]
[5.] Calculator

4.2 Results Browser


Results BrowserWindows
4.1
Results Browser

4.1 Results Browser

46

4.2.1Results Browser
4.1 Results Browser
4.1 Results Browser

Open Results

Open Graph

File

Open Graph as Plot

Open Graph as Tamplate

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

4.2.2 Results Browser


Results Browser 4.2

4.2 Results Browser


FileOpen Results
z

Plot Style

CalculatorResults Browser
Calculator

Corner
AnalysisParametric Analysis

YvsY
Corner
AnalysisParametric Analysis

Corner AnalysisParametric Analysis


Setting
Select Data

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

Results Browser 4.7


~/simulation/BIAS_P/spectre/schematic/psfResult Browser
4.7

51

4.7

4.2.4 Results Browser


Results Browser


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

4.3 Results Browser


1)

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

Choose Data Directory

4.8
Choose Data Directoryicfb
ADE
~/simulation/CellName/Simulator/schematic/psf
CellNameSimulatorSpectre
Results Browser
3)

OK

4.4 Results Browser


4.9 4.10Results Browser Windows
Window IC Cadence

54

4.9

IC Cadence

4.10 Windows

4.5 Results Browser


4.5.1 Waveform
Waveform

4.11

55

Plot Style

4.11

AppendPlot StyleAppend
ReplacePlot StyleReplace
New SubWinPlot StyleNew SubWin

New Win
Plot StyleNew Win
Table
Calculator
Calculator

Results Browser 4.11


Phase 5
CalculatorCalculator
Calculatorphase

4.5.2 Calculator

Calculator

4.5.1 Calculator

56

4.5.3

Results Browser

4.12 Plot Style


Result1 Result 2

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

ToolResults Browser 5.5

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 Pole & Zero Analysis


6.1 (Pole & Zero Analysis)

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

b. Positive Output Node Select


Negative Output Node Select

a.

outputprobe 6.5

6.5

b. Output Probe InstanceSelect (


)
CIW
SpectreanalogLib 6.1
6.1 analogLib

analogLib

ind, pinductor

vdc, vpulse, vpwl, vpwlf, vsin, vexp, vsource

sp1tswitch, sp2tswitch, sp3tswitch, sp4tswitch

tline

vcvs, ccvs, sccvs, svcvs, zccvs, zvcvs, pvcvs, pvcvs2, pvcvs3,


pccvs

iprobe

tline,Output
porti
tline
2
4. Input Sourcevoltagecurrent
6.6

67

6.6 input Source

5.
Frequency, Design Variable, Temperature
, Component Parameter Model Parameter
6.7

6.7

6.8

68

6.8

: Add Specific Points Add Specific Points

6. Design Variable, Temperature, Component ParameterModel


ParameterSweep Range 6.10

6.10

Spectre

69

Linear + Step Size = step


Linear + Total Points = lin
Logarithmic + Points Per Decade = dec
Logarithmic + Total Points = log
Add Specific Points = values=[...]

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

[22.] docancel=yesIf set, pole-zero cancellation is requested.


yes no.
[23.] absdiff=1e-6 Hz
[24.] reldiff=1e-4
:
[25.] prevoppoint = no yes no
[26.] restart = yes DC no
DC yes no

[27.] stats = no yes no


[28.] annotate = sweep no, title, sweep, status, steps.
[29.] title
Examples:
1. mypz pz
- mypz
2. mypz2 (n1 n2) pz iprobe=VIN
- VIN n1,n2
-
3. mypz3 (n1 n2) pz iprobe=I1
- I1, n1 n2
-
4. mypz4 pz iprobe=VIN oprobe=IP1 porti=1
- VIN, IP1 , IP1 iprobe.
-

72

5. mypz5 pz iprobe=VIN oprobe=V3 porti=1


- VIN, V3
-
6. mypz6 pz iprobe=VIN oprobe=R3 portv=1
- VIN, R3
-
7. mypz7 (n1 n2) pz iprobe=I1 param=temp start=25 stop=100 step=25
o
o
- 25~100 C 25 C
8. parameters rval=2.0
R2 3 4 resistor r=rval
...
sweep1 sweep param=rval start=1 stop=10 step=1 {
mypz8 (n1 n2) iprobe=VIN
}
- rval 1~10 1
9. mypz9 (n1 n2) pz iprobe=VIN docancel=no
-

:portioprobe
porti

:
output.log



Q

real<0 sign=1 real>0 sign=-1 real=0 sign=0


**RHP

*****************
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.1 Noise Analysis


z Output Noise
NodeProbe componentvoltage
Selectnet
Positive Output NodePositive Output Node
Positive Output NodeNegative
Output Noderesistor
portvsource
iprobe
7.2
portvsourceiprobeanalogLib
7.3

7.2 Output Noise

7.3 analogLib
z

Input NoiseInput Port Source


vsourceisource
port

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

include All Types


include None
include instances
Select

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

Pnoise analysisPSS analysis


PSS analysis

PSS
analysisPACPSPPXFPnoise
79

PSS analysis

Pnoise analysisPSS analysis

PSS analysis
Pnoise analysis
PSS analysis 7.7

80

7.7 PSS Analysis


z
z

z
z

Fundamental TonesBeat FrequencyBeat Period


Beat Frequency
Output harmonicsNumber of harmonics
Select from range

Array
of coefficientsArray of indicesNumber of harmonics

Accuracy Defaultsmoderate
OscillatorOscillator node
SelectReference node
gnd

PSS analysisPnoise analysis 7.8


7.9

z
z
z
z
z

Sweep typeRelativeRelative Harmonic

Frequency Sweep RangeStart-Stop


Sweep TypeLogarithmicPoints Per Decade

SidebandsMaximum sideband 7
OutputvoltagePositive Output NodeSelect
Negative Output Node
gnd
Input Sourcenone

Pnoise analysisPSS analysisPnoise analysis


ResultsDirect
PlotMain Form
AnalysispssFunctionHarmonic Frequency
7.10
7.11 AnalysispnoiseFunctionPhase Noise
Plot
7.12

81

7.8 Pnoise analysis[1]

7.9 Pnoise analysis[2]

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

hiSetBindKey( encap <Key>x calCalculatorFormCB())


x

8.1.5 Calculator
Calculator
z WaveformSimulationToolsCalculator 8.4

8.4 ToolsCalculator
CIW ToolsAnalog EnvironmentCalculator 8.5
Caculator

90

8.5 ToolsAnalog EnvironmentCalculatorCaculator


z

Analog Design EnvironmentToolsCalculator 8.6

8.6 Analog Design EnvironmentToolsCalculator

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

8.7 Calculator 8.1

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

8.8 Select an instance


2)

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

Corner AnalysisParametric Analysis ADE

Parametric Analysisres 8.15

8.15
Calculator
1) CalculatorFamily 8.16
2) Select ModeWaveform
Calculator
8.16

8.16 8.15 Calculator

98

8.2.4 Results Browser


4 Result Browser

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

8.20 Display Results


z

DataValueCalculator x-y
8.21
101

8.21 Calculator x-y


z

DataPoint Display Results 8.22

8.22 x
X InterceptCalculator
8.22 10 8.23

102

8.23 x=10 VF
X InterceptCalculator
1~100X
Intercept110Calculatorexpr100

DataRange Display Results 8.24


Start/EndStep/ScaleLogStart/End

8.24 RangeDisplay Results

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

EditMemories Editor 8.28


EditNew MemoriesMemories Editor
OKApply
New MemoriesMemories EditorCalculator

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

2) bandwidth 8.33 bandwidth


110

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

2) clip 8.34 clip

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

f 1( s ) f 2 ( t s ) ds f1(s) f2(t - s)Signal 1Signal 2

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

1) delay 8.38 delay

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)

Initial ValueFinal Value


integ

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)

Initial/Final Value TypeyInitial/Final Value

Initial/Final Value Typex at y


Initial/Final Value
X X
y
OKovershoot

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

MOS MOS Parametric


Analysis

9.2Parametric Analysis
Parametric AnalysisAnalog Design
EnvironmentADE
NMOS
NMOS VDDW_N,L_N 9.1

120

9.1 Parametric Analysis


Analog Design EnvironmentADE 1
dc

MOS
dc
MOS
MOS ADE 9.2

121

9.2 Analog Design Environment


9.3 Parametric Analysis
ADE ToolsParametric Analysis
9.3 Parametric Analysis
9.4

9.3 ADE Parametric Analysis

122

9.4 Parametric Analysis


9.5 Parametric Analysis

9.5 Parametric Analysis

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

9.10 Step Control


z

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

Step ControlLinear Step


Step Size 1
9.11

126

9.11 Step ControlLinear Step


Step Size 1
9.4.3
40 0C 100 0C
Add SpecificationRange 9.12

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.6 Parametric Analysis

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

9.9 Parametric Analysis


MOS L_NW_N

9.20 Parametric AnalysisSetupAdd


New Variable To Bottom

132

9.19 Parametric Analysis


Sweep1Sweep2 9.20

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

X L_N (E-6) 9.24 Axis AttributesSweep Var


temp 9.25 5um 15um 5 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.29 Inclusion ListExclusion List

AnalysisShow Sweep SetSelected Sorted


9.28

9.28
1516
1929.555.2
2uL_N ADE L_N
ADE
138

9.9

SetupDelete Range Specification

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

9.10 -Parametric Set

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

9.33 SweepParametric SetParametric Analysis


9.34

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

9.9 L_NValue List4u


3.2u

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

9.11 Parametric Analysis

9.39 Parametric Analysis


Parametric Analysis
[1.] 9.39 Parametric AnalysisTool
CheckpointToolRevert
Parametric Analysis

142


[2.] ToolSaveParametric Analysis Save
9.39

9.39 Parametric Analysis


DirectoryFile.ilOK
ApplyToolRecall
Parametric Analysis
OCEAN ScriptToolSave Script ocean script
Cadance /doc/anasimhelp/chap9.html

143

10 (Corner Analysis)

Virtuoso (Virtuoso Analog Corners 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

For More Information

"File"
"Load"

PCF DCF

"Save Setup"

"Save Setup As"

"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

10.5 Corner Definition


(PCF)(DCF)
.cdsinit 1

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.2 Performance Measurement


.cdsinit loadDcf Design
Customization FilesDCFADE
Calculator
Add Measurement

10.3
10.3

Measurement

Measurement

Expression

Expression

Target

Target
residual plot

Lower

Target
residual plot

Upper

Target
residual plot

Plot

Print

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.3 Corner Analysis


AC ADE 10.8

10.4 10.7 AC
10.9

151

10.5 AC
10.3.2
10.10

10.6
[1.] SetupAdd Process

152

10.7 Add Process


a)
b)
c)

Process Name
Single Model Library

OK CSMC 10.12

10.8 CSMC
[2.] MOS 1

a) SetupAdd/Update Model Info


2
10.13

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

Group Name RES Variants restypical resfast resslow


Apply RES
Cancel 2 2
MOS

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 EditCorner DefinitionAddVariableAdd Variable;


z
h)

z ()
z EditCornerDefinitionDelete Selected
Delete()
PCF ()
i)

z
z EditCornerDefinitionDelete SelectedDelete

PCF

2.

10.12

a)

z EditPerformance MeasurementsAdd Measuments Add


Measurement
z
z Expression
z (Residual
Plot)TargetLowerUpper

b) Calculator

z EditPerformance MeasurementsAdd Measuments Add


Measurement
z
155

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

10.4.1 DCF PCF


PCF DCF Cadence SKILL

SKILL PI PCF DCF


PCF DCF
PCF

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" )

fastesttypical slow PCF


P50u PCF P50uModelFile.scs
.LIB slowest
.model npn2 npn tf=120n
.model nmosR nmos tox=120n
.ENDL slowest
.LIB typical
.model npn2 npn tf=100n
160

.model nmosR nmos tox=100n


.ENDL typical
.LIB fastest
.model npn2 npn tf=80n
.model nmosR nmos tox=80n
.ENDL fastest

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

10.4.2 .cdsinit PCF DCF


PCF DCF .cdsinit
.cdsinit PCF
DCF

DCF DCF PCF

.cdsinit
PCF DCF
.cdsinit
PCF DCF

.cdsinit DCF DCF


PCF
.cdsinit

loadPcf "process1.pcf"

yanalog35u.dcf")

loadPcf "process2.pcf"

DCF

loadDcf "cellPhone23.dcf

; This is the myanalog35u.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.

(Single Numeric Style)



Spectre Cadence Style
z 5 5

z / allfast
/allfast
166

SpectreSetupModel Library

SetupEnvironment

Path

Filename

File Contents

./CORNERS/fab6/allslow/

models

.model
.model
.model
.model

npn2 npn tf=120n


npn9 npn tf=320n
nmosR nmos tox=120n
nmos8 nmos tox=320n

./CORNERS/fab6/allnom/

models

.model
.model
.model
.model

npn2 npn tf=100n


npn9 npn tf=300n
nmosR nmos tox=100n
nmos8 nmos tox=300n

./CORNERS/fab6/allfast/

models

.model
.model
.model
.model

npn2 npn tf=80n


npn9 npn tf=380n
nmosR nmos tox=80n
nmos8 nmos tox=380n

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

model npn2 bjt tf=120n

npn9.scs

model npn9 bjt tf=320n

npn2.scs

model npn2 bjt tf=100n

npn9.scs

model npn9 bjt tf=300n

npn2.scs

model npn2 bjt tf=80n

npn9.scs

model npn9 bjt tf=380n

nmosR.scs

model nmosR mos3 tox=120

nmos8.scs

model nmos8 mos3 tox=320n

nmosR.scs

model nmosR mos3 tox=100n

nmos8.scs

model nmos8 mos3 tox=300n

nmosR.scs

model nmosR mos3 tox=80n

nmos8.scs

model nmos8 mos3 tox=380n

./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

model npn2 mos3 tf=TOXR

nmos8.scs

model npn9 mos3 tf=TOX8

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

init.s use update.s


init.s init.s update.s

psf runObjFileresult browser


Create ROF
Note: Corners is designed such that it does not create a runObjFile in each psf
170

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

10.5.2 Virtuoso ADE


ADE
1. CIWToolsAnalog EnvironmentSimulationVirtuoso
ADE
2. SetupDesign RF_lib
foldedCascode OK
3. ADE SessionLoad State
Corners OK
4. OutputTo Be PlottedSelect On Schematic
vout
PCF ADE

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

../nmos/typ/nmos.scs nom NMOS

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

corSetCornerNomTempVal( "multipleModelLib" "slowfast" "27" )


corSetCornerRunTempVal( "multipleModelLib" "slowfast" 27 )
corSetCornerVarVal( "multipleModelLib" "slowfast" "Cload" "200f" )
corSetCornerVarVal( "multipleModelLib" "slowfast" "vss" "-3" )
corSetCornerVarVal( "multipleModelLib" "slowfast" "vdd" "3" )
corAddCorner( "multipleModelLib" "fastfast" )
corSetCornerGroupVariant( "multipleModelLib" "fastfast"
"nmosLib.scs" "fast" )
corSetCornerGroupVariant( "multipleModelLib" "fastfast"
"pmosLib.scs" "fast" )
corSetCornerNomTempVal( "multipleModelLib" "fastfast" 27 )
corSetCornerRunTempVal( "multipleModelLib" "fastfast" -55 )
corSetCornerVarVal( "multipleModelLib" "fastfast" "Cload" "160f" )
corSetCornerVarVal( "multipleModelLib" "fastfast" "vss" "-3.3" )
corSetCornerVarVal( "multipleModelLib" "fastfast" "vdd" "3.3" )
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 )
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 )

.cdsint
loadPcf( "~/multipleModelLib.pcf" )

PCF

10.5.4 PCF DCF


PDF DCF
1 FileLoad
Save Changes

10. 29

2 SaveSave As PCF DCF


Dont SaveCancel Load

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

z CFSQPC version Feasible Sequential Quadratic Programming

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

11.5 Virtuoso Analog Circuit Optimizer

183

11.4 Virtuoso Analog Circuit Optimizer

State Display
Menu

Goals Pane

Variables Pane

Tool Bar

11.6 Virtuoso Analog Circuit Optimizer


11.6 Virtuoso Analog Circuit Optimizer 5
Status Display

Menu
Goals Pane

Variables PaneTool Bar

11.4.1 Status Display


Status DisplayStatus Display

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

Virtuoso Analog Circuit Optimizer

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

Set Plot Options

Update Design

Help
Contents

About Analog Circuit

Optimization

185

11.4.3 Goals Pane

11.8
Goals Pane 11.8 Goals Pane
11.2
11.2 Goals Pane

Name

Direction

:maximize, minimize, match,>=<=

Target

1 Direction match

2 Direction maximize minimize

3 Direction >=

4 Direction <=

Initial

Prev

Current

Enable

yes noyes
no

186

11.4.4 Variables Pane

11.9 Variables Pane


Variables Pane 11.3
11.3 Variables Pane

Name

Min

Max

Initial

Prev

Current

Enable

yes no yes
no

11.4.5 Tool Bar


Tool Bar

/ 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

dB 20 value (VF ("/ OUT ") 1)

maximize

11.5.1.1
1)

Virtuoso Analog Circuit OptimizerGoalsRetrieve Outputs

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

11.5.1.2 /Waveform Calculator


1 GoalsAddTool BarAdd/Edit Goals
Adding Goal

11.12 Adding Goal


2 Name
3 Expression Cadence SKILL

7
Waveform CalculatorOpenCalculator

4 12 Waveform Calculator 11.13


Waveform Calculator 3dB

11.13 Waveform Calculator


5 Virtuoso Analog Circuit OptimizerExpression
6 Get ExpressionWaveform Calculator
Expression

190

7 Direction
11.4.3
8 Target Cadence SKILL
Target 4~6 Waveform Calculator

36

9 Acceptable 11.5.1.6

z Acceptable Cadence SKILL


4~6 Waveform Calculator
36

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.15 Virtuoso Analog Circuit Optimizer

11.5.1.3
1)
2)
3)

Virtuoso Analog Circuit Optimizer

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)

Virtuoso Analog Circuit Optimizer


11.18

193

11.18
2)

Goals Delete 11.18 Tool BarDelete


11.19 Virtuoso Analog Circuit Optimizer

11.19 Virtuoso Analog Circuit Optimizer


11.5.1.5
1) Virtuoso Analog Circuit Optimizer

2) Goals EnableGoals Disable

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.23 Virtuoso Analog Circuit Optimizer

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)

Virtuoso Analog Circuit Optimizer

Variables Delete
Tool BarDelete

200

11.5.2.4
1)
2)

Virtuoso Analog Circuit Optimizer

Variables Enable
Variables Disable

11.5.3

11.5.3.1
1)
2)

Tool BarStop

Virtuoso Analog Circuit Optimizer


z OptimizerrunTool BarRun
( 11.1)
z OptimizerStep

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)

Virtuoso Analog Circuit OptimizerResultsSet Plot Options


Setting Plotting Option 11.30

11.30

202

2)

Auto Plot After Each Iteration


Auto
Plot After Each Iteration 11.5.4.2

3)

z Design Variable
z Scalar Goals
z Functional Goals
11.31

11.31

4)
5)

No. of Functional Iterations to Display

Waveform Window
OK
Waveform WindowWaveform
Window

11.5.4.2
Auto Plot After Each IterationWaveform Window

ResultsPlot HistoryTool BarPlot History

Waveform Window 11.5.4.1

203

11.32

11.32

11.5.4.3

1) Virtuoso Analog Circuit OptimizerResultsUpdate Design


Tool barUpdate Design
2) ADE VariablesCopy to Cellview
3) ADE DesignCheck and Save

11.6
Virtuoso Analog Circuit OptimizerSession

11.6.1

204

1)

2)
3)

SessionSave StateSaving State 11.33

11.33 save
Save As
Existing StateSave As
What to Save

~/.artist_state/LibraryName/CellName/.asd_Optimization/StateName
LibraryNameCellNameStateName

11.6.2

1) SessionLoad StateLoading State 11.34

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

1) SessionSave ScriptSave Ocean Script 11.35

2)
3)

11.35
File Name
OK

206

11.6.4

1) SessionOptionsOptimization Option 11.36

2)

11.36
Algorithm SelectionLSQCFSQP
Auto

LSQ Cadence LSQ


LSQ match
minimizemaximize
LSQ

3)

Algorithm SelectionAuto CFSQP


LSQ
z match
z

z Percentage Finite Difference Perturbation 11.1

Percentage Finite
Difference Perturbation
z Relative Design Variable Tolerance LSQ
CFSQP
0.05 LSQ
5%

207

Relative Function Value Tolerance


0.05Virtuoso Analog Circuit
Optimizer 5%
Relative Design Variable ToleranceRelative Function Value
Tolerance

4)

5)

Warning Message for Long Simulation


Optimization ADE
Warning
Message for Long Simulation
OK

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 Graph XML


209

Save as Image

Save Image

Reload

Print

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

Show Tool Bar

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

Move New Windos

Waveform

Copy New SubWindow Waveform


Move New SubWindos Waveform
Bus
Create

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

Waveform TraceNew GraphCopy


New Window

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

z GraphLayout Vertical 12.2

12.2 GraphLayout Vertical


z

GraphLayout Horizontal
12.3

214

12.3 GraphLayout Horizontal


z

GraphLayout CardWaveform

12.4

215

12.4 GraphLayout CardWaveform

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.11 Pan Right


X 0~200 X 40~240Pan
Right 20%

12.7
.cdsenv

1) GraphEditGraph Attributes
12.12

12.12
2)
3)
4)

TitleDefault
SubTitle
Legend RowLegend
223

Row 12.13

12.13 Legend Row


Waveform.cdsenv
5) Legend RowShow
6) Font
7) Foreground/Background

8) Major Grids
9) Minor Grids
10) OK

12.8

z AC X

z
z

224

TraceNew GraphCopy New Window

TraceNew GraphMove New Window

TraceNew GraphCopy New SubWindow

TraceNew GraphMove New SubWindow

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

1) TraceEditTrace Attributes 12.18

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

Sweep Var 12.22


ADE Parametric
Analysis
X 12.22 temp ADE res
Parametric Analysis 12.23 temp
X res X

12.22 Sweep Var

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.25 TraceVert Cursor

12.10.3

X/Y
X/Y
z TraceHoriz Cursor 12.26

235

12.26 TraceHoriz Cursor

12.10.4

Y X
X/Y X/Y
12.27
z TraceDelta Cursor 12.27

236

12.27 TraceDelta Cursor

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

1) MarkerCreateMarker Attributes 12.31


Marker AttributesCreateMarker

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

1) FileSave as ImageSave Image 12.39

249

2)

3)
4)

12.39

Auto
WaveScanFile
snapshot.pngWaveScanPNGWaveScan

.png

.tiff
.tif.bmpPNG
Filesnapshot. tiff
WaveScansnapshot.png
snapshot.pngBrowser

Save

12.18
WaveScan

1) Results BrowserFileOpen GraphOpen Graph as Plot


Open Graph 12.40

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

You might also like