agilent eesof tools for effective device modeling and ...€¦ · for effective device modeling and...
Post on 27-Aug-2018
221 Views
Preview:
TRANSCRIPT
Shuang_Cai@agilent.com
Ingo_Nickeleit@agilent.com
Agilent EEsof Tools
For Effective Device Modeling And Verification
11 April 2013
1
Agenda
- Overview
- Introduction to MBP (Model Builder Program)
- Introduction to MQA (Model Quality Assurance)
2
Agenda
- Overview
- Introduction to MBP (Model Builder Program)
- Introduction to MQA (Model Quality Assurance)
3
IC-CAP
MBP
MQA
now a part of
4
The Agilent/Accelicon Modeling Product Flow
IC-CAP
optional modules
WaferPro
DataPro
Measure
Characterize
Select
MBP
IC-CAP
Generate
Extract
Optimize
Tune
MQA AMA
Validate Layout
Effects
QA
Analyze
Document
Modeling of
layout dependent
effects (LDEs)
for cutting-edge
processes
Measure
Design Variability
5
End-to-end Silicon Device Modeling Flow
The Turn-key Modeling Solution
Automated
Measurements
IC-CAP Data Files & Data base
Model
Verification
Data Analysis
& Selection
Model
Extraction
MBP MQA
Design Variability
IC-CAP WaferPro / DataPro
AMA
6
End-to-end Silicon Device Modeling Flow
The User Programmable Modeling Solution
IC-CAP User Routines IC-CAP WaferPro / DataPro
Automated
Measurements
Model
Verification
Data Analysis
& Selection
Model
Extraction
MQA
Design Variability
AMA
IC-CAP Data Files & Data base
7
How Accelicon Tools & Agilent IC-CAP Work Together
• IC-CAP WaferPro & MBP & MQA
• This offers the most advanced ready-to-go extraction and verification solution
in the market
• IC-CAP is the platform of choice for customers developing
their own custom modeling solutions
• We continue to invest in IC-CAP and greatly enhance its capability
• We continue to support existing IC-CAP extraction modules
• New SQL database, Python scripting (in addition to existing PEL),
major user interface improvements
8
Agenda
- Overview
- Introduction to MBP (Model Builder Program)
- Introduction to MQA (Model Quality Assurance)
9
• Overview
• MBP major features
• MBP Applications for
– Foundry user
– Design house
– Integrated Device Manufacturer(IDM)
• Demo and practice
Introduction to MBP
10
• What’s MBP
– A SPICE modeling and simulation platform
Overview
• Silicon Data
• Compact/Binning/Subckt
• Verilog-A
• Simulators
• GA Optimizer
Extract Models
• Corners
• Statistics
• Lib Parser
• Rich utilities
Develop & Tweak Model
Libraries • Task Tree
• MBP Scripting
Automation
Standard Operation Procedure(SOP)
11
What is MBP – MBP GUI
Plots
Device &
Analysis
Model
Param
MBP Basic Operation
load data & initial model select curve & parameter manual tweak or optimize save model
12
What is MBP – MBP advantages
• Efficiency
– Internal Simulator
• Really Fast
• Support latest CMC models
* Also support external Simulators
– High performance optimizer
– Automation extraction flow
• Flexibility
– Open platform allows to build customized
extraction flow using MBP Script
– Full automation, Semi-auto, Manual
Supported model versions
13
What is MBP – MBP advantages
• Efficiency
– Internal Simulator
• Really Fast
• Support latest CMC models
* Also support external Simulators
– High performance optimizer
– Automation extraction flow
• Flexibility
– Open platform allows to build customized
extraction flow using MBP Script
– Full automation, Semi-auto, Manual
Supported devices
14
What is MBP – MBP advantages
• Efficiency
– Internal Simulator
• Really Fast
• Support latest CMC models
– High performance optimizer
– Automation extraction flow
• Flexibility
– Open platform allows to build customized
extraction flow using MBP Script
– Full automation, Semi-auto, Manual
Script Flow
15
What is MBP – useful features
• Modeling Guidance
– Equation Viewer
– Built-in param explanation
– Step by step extraction flow
• Utilities
– Lib Parser
– Model Tweaking
– Error Monitor
– Bin & Point selector
– Subckt Template
– Double Sim
– …
Equation Viewer
16
What is MBP – useful features
• Modeling Guidance
– Equation Viewer
– Built-in param explanation
– Step by step extraction flow
• Utilities
– Lib Parser
– Model Tweaking
– Error Monitor
– Bin & Point selector
– Subckt Template
– Double Sim
– …
Built-in param explanation
17
What is MBP – useful features
• Modeling Guidance
– Equation Viewer
– Built-in param explanation
– Step by step extraction flow
• Utilities
– Lib Parser
– Model Tweaking
– Error Monitor
– Bin & Point selector
– Subckt Template
– Double Sim
– …
Step by step extraction flow
18
What is MBP – For different level of users
• Low barrier for beginners
– User friendly GUI
– Step by step extraction flow
– Built-in parameter guidance, equations…
• Modeling expert
– Reduce the repetitive work by customizing extraction flow
– Accumulate and share knowledge and experience
19
MBP Application for Foundry user
• Foundry Flow
Test Chip
Measurement
Model Extraction
QA and
Documentation
MBP
Release
20
MBP Highlights in Foundry flow I Customer expectations
• Efficiency
– Internal SPICE Engine
– Auto-extraction flow
– Handy features
• Accuracy
– High performance optimizer
– Set of RMS monitor features
• Standardize platform
– Standard extraction flow, scaling plots and parameter selection
– Share all configurations inside group
Task Tree Script Flow
21
MBP Highlights in Foundry flow II Customer concerns
• MBP provides not only a modeling platform but also the solutions
• Complex modeling solutions
– Statistical model, Mismatch model
– RF model extraction
– Noise model extraction
– High Voltage modeling solution
22
Design House Flow
PDK
(Model library)
Model Tweaking
PDK
(Model library)
MBP
MBP Applications for Design House
27
MBP Highlights in Design House I Working flow
• Tweak directly on foundry model library
– Load foundry library directly
– Function tested on most of leading foundries worldwide
– Select model in the loaded library
• MOSFET, BJT, Diode, passive…
• Subckt or compact
• Global or binning
– Tune parameters
• Model parameters or user-defined parameters
– Save library
• Save tuned parameters back without changing model library structure
28
MBP Highlights in Design House II
• Model tweaking platform
– Strongly support on subckt model, complicated model library structure
– Open and ease of configuring targets and plots display
– Binning model tweaking
• Application samples
– Model enhancement on special effects
– Generate predictive model
– Quick compare between different
versions, corners…
Compare corners
30
MBP Summary
• MBP Major Feature – Turn Key solution for SPICE modeling
– High Performance Built in Simulator
– Flexible extraction flow (Auto, Semi-Auto, Manual)
• MBP Typical Application – Foundry : Standard Device modeling platform
– Design House : Model Tweaking & Comparison
– IDM : User Defined Model Extraction Flow
39
Agenda
- Overview
- Introduction to MBP (Model Builder Program)
- Introduction to MQA (Model Quality Assurance)
40
Overview Of A Complete Device Modeling Flow
Measurement
Characterization
Verification
& Documentation Model Parameter
Extraction
MQA (Model Quality Assurance)
41
When a model or a library has been obtained from the foundry,
it should be checked against
- consistency (simulation convergence, model explosion etc.)
- physical behavior
- performance in different simulators
- etc.
This means:
Handling of huge amount of data
Intelligent flagging of issues
Detailed reporting & documentation
and this requires a
comprehensive, flexible and customizable tool
Model QA Challenges And Requirements
42
What Is MQA? Why is it important?
MQA – the industry standard assurance tool
for comprehensive model QA with an innovative
knowledge-based, rule-driven approach.
• It qualifies device models/libraries of ever growing complexity.
• It is an automated device model verification and documentation tool
that can analyze curve trends of huge amount of simul. or meas. data.
It is used by
– modeling engineers at IDMs/Foundries use to perform
comprehensive model QA and to release verified model
files/libraries.
– Fabless Design Houses use to evaluate and accept
the model libraries from Foundries.
43
Apply MQA as ……
Shared MQA Result
Data Base
Designers Designers
Qualification tool
• Knowledge based and rule driven
• Validate model file/library and measurement data
Documentation tool
• Overlay with measurement data
• Easy to customize report
Design interface (foundry interface) tool
• Comparison
• Sharing the new technology characterization
Model QA result sharing tool
• Bridge between foundry and design house
• Communication between different groups
45
MQA – Ideal Solution for Library Benchmarking
Assist with exploding varieties of libraries • CAD-centric benchmarking
- Cross-simulator equivalence check - Cross-model (ex., BSIM4 vs. PSP) equivalence check
• Addresses key technology benchmarking challenges
- What has changed from previous library release? -What has improved or worsened from 32nm to 28nm? - How ‘identical’ is the 2nd source foundry to the primary foundry?
Simulators• ADS
• GoldenGate
• Hspice
• Eldo
• AFS
• Spectre
• SmartSpice
• FineSim
• ..
Models• BSIM
• PSP
• ..
Foundries• TSMC
• GlobalFoundries
• Samsung
• UMC
• SMIC
• IBM
• TowerJazz
• GSMC
• HLMC
• ..
Technologies• 45nm
• 32nm
• 28nm
• 20nm
• ..
Library 1
Library 2
Library
X-1
Library X
..46
MQA Features at a glance:
Checking and Analysis
• Single model QA
• Model library QA
• Check Corner model
• Measurement data QA
• Accuracy inspection (meas. vs. simulation)
• Benchmark circuit QA
Comparison
• Between different model versions
• Between different foundries
• Between different simulator formats
• Between different process nodes
Report
• Report generation automatically
• Supported formats PDF, Word, etc.
• Report format customization
47
MQA’s Architecture at a glance
Device Libraries
Rule Files in ASCII
• FOMs
• PVT coverage
• Graphing options
• Expectations
• Flagging criteria
MQA
Meas. Data
Simulators
Knowledge • Technology
• Device
• Design
Database/Reports
48
MQA core feature:
Checking Rules
Scalability Check
Robustness Check
Consistency Check
Bin Continuity Check
Benchmark Check
M-Factor Check
Model Completeness
Check
Model Parameter
Check
Intermediate Variable Check
49
Operating Systems, Simulators, Input Format
Supported operating systems
- Windows XP, Windows 7
- Linux (RH4, RH5)
Supported simulators
All major EDA simulators and their models:
HSPICE, SPECTRE, ELDO,
ADS, Golden Gate (2012.07), Titan...
Internal Simulator: SPICE3f5.exe and its default models
Data input formats
- Measurement Data:
Native MBP/MQA data format .mea
IC-CAP .mdm format
- Simulation:
Models
Subcircuits
Libraries
50
Some Technical Details ...
51
MQA Project Structure
Inputs Control
Results Graphics/Text
Documentation Word, Excel, PPT, PDF,
HTML
Netlist/
Model Library
Meas.Data
PCM/ET Data
Rules Selection
file: rule.index
Rules
Scalability.rule
Parameter.rule
CV.rule
Noise.rule
Benchmark.rule
....
file: xxx.rule
Target Definitions voltages, temp, geometries
file: model.var
Instance Connections
file: model.icf
52
Inputs to MQA: .LIB TT
.param mqa_ntox = 7.3e-9 mqa_ptox = 7.9e-9 mqa_etox = 7.8E-09
.lib 'Hb3v3.lib' MOS
.ENDL TT
.LIB SS
.param mqa_ntox = 8.3e-9 mqa_ptox = 8.4e-9 mqa_etox = 8.3E-09
.lib 'Hb3v3.lib' MOS
.ENDL SS
.LIB FF
.param mqa_ntox = 7.3e-9 mqa_ptox = 7.4e-9 mqa_etox = 7.3E-09
.lib 'Hb3v3.lib' MOS
.ENDL FF
.LIB SF
.param mqa_ntox = 7.8e-9 mqa_ptox = 7.9e-9 mqa_etox = 7.8E-09
.lib 'Hb3v3.lib' MOS
.ENDL SF
.LIB FS
.param mqa_ntox = 7.8e-9 mqa_ptox = 7.9e-9 mqa_etox = 7.8E-09
.lib 'Hb3v3.lib' MOS
.ENDL FS
********************************************
.LIB MOS
.SUBCKT mqa_macro D G S B W=25E-07 L=0.18E-06 MT=2 T=25
**********************
RG GI G R='400*L*1e6+25'
RB BI B R='(54.773/MT-0.062)/(L*1e6)+502.77/MT+1.0575'
**Rds*****************
Rds S XX R='(26515*L*1e6+18377)/MT+2600*L*1e6-445'
Cds D XX C='(0.775*MT+11.9)*1e-15'
***** Diodes ****************
DSG S SB pdio_g AREA = 1E-15 PJ = 'W*MT' DTEMP = 'T - 25'
DDG D DB pdio_g AREA = 1E-15 PJ = 'W*MT' DTEMP = 'T - 25'
Rdb DB BI R='41.43/MT+4'
Rsb SB BI R='41.43/MT+4'
******* MOSFET *******
M0 D GI S BI nch L=L W=W
.ENDS
.model pdio_f D IS = 9.5136E-3
+ RS = 2.801971E-7 N = 1.8
+ CJ = 1.01893E-3 PB = 0.6944474 MJ = 0.3075043
.model pdio_g D IS = 9.5136E-3
+ RS = 2.801971E-7 N = 1.8
+ CJ = 1.01893E-3 PB = 0.6944474 MJ = 0.3075043
.MODEL nch.1 NMOS LMIN = '1.197E-06-mqa_l'
+LMAX = 2.001E-05 WMIN = '1.195E-06-mqa_w'
+WMAX = '1.9995E-05-mqa_w'
+LEVEL = 49 TNOM = 25 VERSION = 3.1
+ACM = 12 LDIF = 1.2E-07 HDIF = mqa_nhdif
+RSH = 3.5 RD = 0 RS = 0
+TOX = mqa_ntox XJ = 1E-07 NCH = 2.3579E+17
...
...
Libraries
Meas.Data Sweeps / PCM spot meas.
Model Cards
Sub-Circuits .param
+Rg = 0.2756 Rb = 31.5 Cgs = 1E-14
+Cgd = 1.78E-14 Rs = 0.48 Rd = 0.18
+Rsb = 14.1 Rdb = 22.8 Csb = 3.4258E-14
+Cdb = 3.299E-14
.subckt rf_nch D G S B L = 1E-5 W = 1E-5 M = 1 NF=1
RG G GI R=Rg
RB B BI R=Rb
Rs S SI R=Rs
Rd D DI R=Rd
Cgs GI SI C=Cgs
Cgd GI DI C=Cgd
Csb SI SB C=Csb
Cdb DI DB C=Cdb
Rsb BI SB R=Rsb
Rdb BI DB R=Rdb
M0 DI GI SI BI nch L=L W=W M=M DTEMP=DTEMP
.model nch nmos
+level = 54 version = 4.3 binunit = 1
+vth0 = 8.81725E-2 lvth0 = -6.557677E-3 pvth0 = 0
+vfb = -0.55 k1 = 0.114196 k2 = 1.44391E-2
+k3 = -5.84732 k3b = 3.482478 w0 = 6.19E-8
+u0 = 4.13112E-2 pu0 = 4.353325E-4 ua = -7.68E-10
+voff = -0.148435 voffl = -1.109617E-9 minv = 0
+nfactor = 0.109414 eta0 = 0.12 etab = -0.099184
.....
.....
.....
.ends
.MODEL MOSMOD NMOS
+ LEVEL = 8
+ VERSION = 3.3.0
+ BINUNIT = 1
+ MOBMOD = 1
+ CAPMOD = 3
+ NOIMOD = 1
+ PARAMCHK = 1
+ DELTA = 0.01
+ TOX = 7.5E-009
+ NCH = 1.7E+017
+ XJ = 1.5E-007
+ NGATE = 0
+ RSH = 0
+ VTH0 = 0.7
+ K1 = 0.53
+ K2 = -0.013
+ K3 = 0
+ K3B = 0
+ W0 = 2.5E-006
+ NLX = 1.74E-007
+ DVT0 = 2.2
+ DVT1 = 0.53
+ DVT2 = -0.032
+ DVT0W = 0
+ DVT1W = 5.3E+006
+ DVT2W = -0.032
+ ETA0 = 0
+ ETAB = 0
+ DSUB = 0.56
+ U0 = 670
+ UA = 1E-009
+ UB = 1E-019
+ UC = -4.65E-011
+ VSAT = 8E+004
+ A0 = 1
+ AGS = 0
+ B0 = 0
+ B1 = 0
+ KETA = -0.047
...
...
! VERSION = 6.00
BEGIN_HEADER
ICCAP_INPUTS
vd V D GROUND SMU1 0.03 LIN 1 0 3 61 0.05
vg V G GROUND SMU2 0.01 LIN 2 0.6 0.9 5 0.075
vs V S GROUND GND 0 CON 0
vb V B GROUND GND 0 CON 0
ICCAP_OUTPUTS
id I D GROUND SMU1 B
ICCAP_VALUES
W "100u"
L "0.24u"
RcontactDC "1"
Rtotalport1 "1"
Rtotalport2 "1"
TEMP "27"
TNOM "27.00"
TIMEDATE ""
OPERATOR ""
TECHNO "myTechno"
LOT "myLot"
WAFER "myWafer"
CHIP "myChip"
MODULE "myModule"
DEV_NAME "myDevice"
REMARKS "my Notes"
END_HEADER
BEGIN_DB
ICCAP_VAR vg 0.6
ICCAP_VAR vs 0
ICCAP_VAR vb 0
#vd id
0 -9.18892e-035
0.05 3.77824e-006
0.1 4.25808e-006
0.15 4.43211e-006
0.2 4.56412e-006
0.25 4.68317e-006
0.3 4.79627e-006
0.35 4.90601e-006
0.4 5.01361e-006
0.45 5.11976e-006
0.5 5.22486e-006
....
....
....
END_DB
53
The MQA core files
*.rules, *.var and *.icf
... see the next slides ...
54
# define some common variables that will be used in below sections
Vdd = 3.3
Vgg = 3.3
Vbb = -3.3
Tmin = -40
Tnom = 25
Tmax = 125
DeltaW = 0
DeltaL = 0
...
[Variables in rule file] # change/add these parameter values from GUI, it is only for default display.
[nmos]
devtype = 1|-|For NMOS
DeltaW = DeltaW|um|W adjustment
DeltaL = DeltaL|um|L adjustment
Icon = Icon|A|Intercept current for Vth calculation
Vdd = Vdd*devtype|V|work drain voltage in rule files
Vgg = Vgg*devtype|V|work gate voltage in rule files
Vbb = Vbb*devtype|V|work body voltage in rule files
...
DeltaW = DeltaW|um|W adjustment
DeltaL = DeltaL|um|L adjustment
Icon = Icon|A|Intercept current for Vth calculation
Vdd = Vdd*devtype|V|work drain voltage in rule files
Vgg = Vgg*devtype|V|work gate voltage in rule files
Vbb = Vbb*devtype|V|work body voltage in rule files
Vd_lin = 0.1*devtype|V|min drain voltage in rule files
Tmin = Tmin|C|min temperature
Tnom = Tnom|C|nominal temperature
Tmax = Tmax|C|max temperature
[reference model] # For NMOS&PMOS QA
nmos = pmos
Variables .var File - a simplified example -
55
#model's instance connection file
#Section node
d = {1,NULL,2}
g = {2,NULL,1}
s = {3,0,0}
b = {4,NULL,0}
...
#Instance Connection
#key = {node,node,type,in/out,analysis}
Vg = {g,0,v,in/out,dc}
Vd = {d,0,v,in/out,dc}
Vb = {b,0,v,in/out,dc}
Vs = {s,0,v,in/out,dc}
Id = {0,d,i,in/out,dc}
...
#instance property
#key = {function and parameter: condition of parameter}
vth_con = {CalPage(Vds,Vgs,Ids,"Vth_con"):Vgs(start=0,stop=Vgg,step<=0.01)}
vths_con = {CalPage(Vds,Vgs,Is,"Vth_con"):Vgs(start=0,stop=Vgg,step<=0.01)}
vth_gm = {CalPage(Vds,Vgs,Ids,"Vth_gm"):Vgs(start=0,stop=Vgg,step<=0.01)}
vth_sat = {CalPage(Vds,Vgs,Ids,"Vth_sat"):Vgs(start=0,stop=Vgg,step<=0.01)}
Idsat = {CalPage(Vgs,Vds,Ids,"Ids","@vds~vdd","@vgs~vgg","@vbs=0")}
...
#Instance Parameter
[parameter]
w = {w}
l = {l}
AD = {AD}
AS = {AS}
PD = {PD}
PS = {PS}
...
Model Instance Connection File .icf - a simplified example -
56
Example: Rule “Check Idsat vs. L”
[common]
appliedmodel = binning, global, macro
[Group: 4:Title=Model Scalability]
[Label: 4001:title= Check Idsat vs. L] *for NMOS
[Condition:(devtype=1)and(application=1 or application=2 or application=3)]
[Loops
: X=L(start=g_lmin,stop=g_lmax,perdec=10)
: P=W (start=g_wmin,stop=g_wmax, num=3)
: P1=Vgs(vgg)
: P2=Vds(vdd)
: P3=Vbs(0)
: P4=T(tmin, tnom, tmax)]
[Target: y=Idsat]
[Check: 01:Check Trend: CheckTrend2D (p,x,y,"times=1","incAtFirst=-1"): error: Trend is not right]
[Check: 02:Check Kink: CheckKink2D (p,x,y): error: Kink occurs]
A rule (ASCII, customizable) is typically organized like this:
1. ID and title for selection in the GUI.
2. Conditions, which determine when it is valid,
i.e. when it will be executed.
3. Loops, which defines the variations like bias, W/L/T sweeping,
etc.
4. Target, which defines target, normally it will be Y-axis on plot.
5. Check functions, to define which MQA checks to be applied,
also to define the warning message if check failed.
Inside the .rule File
A Rule file in MQA is a ASCII text file
which defines how MQA performs certain
checks on certain objects under certain
conditions
57
Example of MQA Check functions, called by a ‘Rules‘ file:
CrossCheck CheckTrend
58
After all is
set up,
execute the
MQA test
and obtain
a detailed
report
the problem is
automatically indicated !
59
And creating
a report of your
MQA results
is just a
mouse-click
60
Thank you for your attention !
67
top related