agilent eesof tools for effective device modeling and ...€¦ · for effective device modeling and...

Post on 27-Aug-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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