compact device modeling using velilog-a and adms · 1000 1960 1970 1980 1990 2000 2010 no. of model...
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/1.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/2.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/3.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/4.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/5.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/6.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/7.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/8.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/9.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/10.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/11.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/12.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/13.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/14.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/15.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/16.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/17.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022021901/5b86c6c97f8b9aa0218b5e53/html5/thumbnails/18.jpg)
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