+ All Categories
Home > Documents > Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model...

Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model...

Date post: 29-Aug-2018
Category:
Upload: lyanh
View: 215 times
Download: 0 times
Share this document with a friend
18
MIXDES’2001 Motorola Document Classification, Rev 2002.06#1 Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off. All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved. Laurent Lemaitre, Colin Mc Andrew, Wladek Grabinski [email protected] Compact Device Modeling Using Velilog-A and ADMS Motorola, Geneva Modeling Center 207 route de Ferney CH-1218 Le Grand Saconnex
Transcript
Page 1: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#1

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Laurent Lemaitre, Colin Mc Andrew, Wladek [email protected]

Compact Device Modeling UsingVelilog-A and ADMS

Motorola, Geneva Modeling Center

207 route de Ferney

CH-1218 Le Grand Saconnex

Page 2: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#2

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Developments of the Compact ModelsDevice Model Implementation TodayADMS - Device Model GeneratorOverview of the Device Model GeneratorExample of Model GenerationImplementation of EKV 2.6 in ADSCurrent Status - AvailabilityConclusion

Compact Device Modeling Using Velilog-A and ADMS

Outline:

Page 3: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#3

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Developments of the Compact Models

• Number of DC model parameters vs. year of the model introduction– Significant growth of the parameter number that includes geometry (W/L) scaling– Most recent versions of the EKV, HiSIM, MM, PCIM and SP models are included

Years

1

10

100

1000

1960 1970 1980 1990 2000 2010

No

. of

Mo

del

Par

amet

ers

LEVEL1

LEVEL2

LEVEL3

BSIM

HSP28

BSIM2

BSIM3v2

BSIM3v1PCIM

MM9EKV v2.6

EKV3SP

HSP28

BSIMBSIM3v3

BSIM3v3

BSIM4BSIM3v2

BSIM2

Without scaling

Including L,W,P scaling

MM11

HiSIM

Page 4: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#4

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

What is a Device Model?

Spice netlists+Process libraries (model parameters)

SimulationResultsADMS

or Manually

Built-in Device Model EquationsVBIC, EKV, SP, MOSCAP, R3, ..

DESIGNER:

PROGRAMMER:

DEVICE MODELING ENGINEER:

ElectricalCircuit

SimulatorSpectre, ADS, Mica ...

Model c-code

Page 5: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#5

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Model Implementation Today

Device Modeling Engineer:provides equations of new modelto programmer. No standard.

Programmer:hand-codes the model in source code of the electrical circuit

simulator (most of the time the language is C). No standard.

• C code must comply with the Simulator Programming Interface. Much coding needs to be done again for each simulator.

• C code involves the manual computation and coding of partial derivatives. This process is tedious and error-prone.

• Feedback to the Device Modeling Engineer is made difficult. C-code is hard to read.

• The process is a barrier to model maintenance and enhancement.

Page 6: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#6

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

• ADMS is a Code Generator from a high-level language to ready-to-compile C code for simulators

• ADMS uses Verilog-AMS as a description language for devicemodels. Verilog-AMS is a behavioral description language for mixed-signal electrical circuits.• Verilog-AMS code easy to read - no extra code specific to simulators.

• Model can be easily and completely tested prior implementation!

• ADMS uses a subset of XML as an intermediate language betweenVerilog-AMS and Simulator Programming Interfaces.• Simplifies development of new features of ADMS and support of multiple

simulators

ADMS Approach

Page 7: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#7

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Parsing XMLInternaldata

Code Generator Other applications

Documentation,Circuit Test Benches

Testingprior implementation

ADMS Model Generator

C codeMica, Spectre,Hsim, ADS, …

Verilog-AMSModel Code

DTD basedvalidation

STANDARD 1: MODEL LEVEL

STANDARD 2:SIMULATOR LEVEL

Page 8: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#8

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Example – Symbolic ViewBipolar Device Model

Collector

Base

Emitter

• Branch assignment in the HBT model

Page 9: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#9

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Example – Verilog-AMS

‘define NPN +1‘define PNP –1module BIP (c,b,e);// Nodes input c,b; // input nodes output e;// output nodes electrical c,b,e; // all electrical// Branches branch (b,c) bc; branch (c,e) ce; branch (e,c) ec; branch (b,e) be;

Page 10: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#10

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Example – Verilog-AMS (cont.)// Parameters parameter real is = 1.0e-16; parameter real bf = 100; parameter real br = 1; parameter real nf = 1.0; parameter real nr = 1.0; parameter integer type = ‘NPN;// Variables real Tdev, Vtv; real Ifi, Ibf; real Iri, Ibr; real argf,expf;

Page 11: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#11

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Example – Verilog-AMS (cont.)

analog begin // Analog section Tdev = $temperature; Vtv = 1.380662e-23 * Tdev / 1.602189e-19;

if ( type == ‘NPN ) begin argf = V(be) / ( nf * Vtv );

end else if ( type == ‘PNP ) begin ...

expf = exp(argf); Ifi = is *(expf-1.0); Ibf = Ifi/bf; begin I(ce) <+ Ifi; // FORWARD Transport C-E I(be) <+ Ibf; // FORWARD Diode B-E end

Page 12: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#12

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Example – Code for Spectre

BIPOLARTRANSISTOR

inVERILOG-AMS

Ready-to-compileC code

Run admsSpectreSPECTREinterface.h

BIPdefs.hBIPinitParameter.cBIPloadJacobian.cBIPevaluateStatic.c

BIPevaluateDynamic.c

Page 13: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#13

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Example – Test-bench Circuit

• Automatically Generated by ADMS

1 V

1 V

1 kOhm

1 kOhm

1 Ohm

Cint

Eint

Bint

Page 14: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#14

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Example – Comparisons

Using mica1.2.0DC analysisNote: temp set to 27v#Bint = 650.4275mVv#Cint = 921.3462 mVv#Eint = 79.00338 mVvb#i = -349.572 uAvc#i = -78.6538 mA

Ads(ver. "170")© Agilent TechnologiesDC Operating Point: V(Bint) = 650.428 mV V(Cint) = 921.346 mV V(Eint) = 79.0034 mV vb.i = -349.572 uA vc.i = -78.6538 mA

spectre (ver. 4.4.3).DC Analysis `opPoint'Operating at T = 27 C.V(Bint) = 650.428 mVV(Cint) = 921.346 mVV(Eint) = 79.0034 mVI(vb:p) = -349.572 uAI(vc:p) = -78.6538 mA

Spectre Mica ADS

• ADMS generated model yields numerically identical results

Page 15: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#15

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

The ADS EKV code was generated by ADMS tool using the EKVVerilog-AMS description: legwww.epfl.ch/ekv/verilog-a

Example - EKV ADS Implementation

Page 16: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#16

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

Work in Progress

• Models available in Verilog-AMS:– R3 (Three Terminal Resistor)– MOSCAP (MOS varactor)– VBIC with self-heating (BJT)– SSIM (MOSFET, Motorola)– SP (MOSFET, PSU Prof. Gildenblatt)– EKV 2.6 (MOSFET, LEG-EPFL)

• All models are available in ADS (Agilent), Spectre(Cadence) and Mica (internal Motorola simulator)

• Some good results obtained with HSIM• Looking into: Nanosim (Synopsys) and Eldo (Mentor)

Page 17: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#17

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

• ADMS is written in the C language

• ADMS planned to be open-source

• Will come with public domain models (R3, MOSCAP, VBIC)

• On-going discussions with semiconductor and CAD vendors, and device modelers, on the best way to manage and control ADMS open-source

Availability

Page 18: Compact Device Modeling Using Velilog-A and ADMS · 1000 1960 1970 1980 1990 2000 2010 No. of Model Parameters LEVEL1 LEVEL2 LEVEL3 BSIM HSP28 ... • ADMS is a Code Generator from

MIXDES’2001Motorola Document Classification, Rev 2002.06#18

Motorola, the Stylized M, and all other trademarks indicated as such herein are trademarks of Motorola, Inc. ® Reg. U.S. Pat. & Tm. Off.All other product or service names are the property of their respective owners. © Motorola, Inc. 2001. All rights reserved.

• ADMS = automatic implementation of compact models into circuit simulators

• ADMS automatically generates efficient, robust, correct-by-construction code

• ADMS has been successfully used for the integration of new device models into Mica, Spectre, HSIM and ADS

• Compact models are defined by Verilog-AMS, a standard high-level behavioral language

Conclusion


Recommended