an open-source software tool for compact modeling applications

5
6 IEEE CIRCUITS & DEVICES MAGAZINE MARCH/APRIL 2004 T his column features an open- source software tool—called automatic device model synthe- sizer (ADMS)—that supports and simplifies compact model development, implementation, distribution, mainte- nance, and sharing. The intended audi- ence is people in universities or CAD companies interested in contributing to the development and improvement of the tool. It should also help people whose main interest is using the tool to get a better understanding of how ADMS works internally. ADMS is available on SourceForge.net, one of the most popu- lar open-source software development Web sites. It was developed at Motorola Inc., whose main interest is to support standardization of compact models. COMPACT MODELING A compact model is a mathematical description of the electrical behavior of a semiconductor device, suitable for simu- lation of integrated circuits. A good exam- ple is the BSIM family of models from the University of California, Berkeley [1]. As Figure 1 shows, compact models are a key part of the process of designing integrated circuits. A wafer fab process is characterized according to a set of basic compact models. Widely used compact models include BSIM3/4 and EKV [2] for MOSFETs and SGP and VBIC [3] for bipolar transistors. Process library files of parameters for compact models are created based on data for a specific wafer fab process. Compact models and process library files are sub- sequently used to design and verify IP (circuits) that will be implemented on silicon. Compact models are a determin- ing factor in improving the overall pro- cess of chip design. They must reliably predict the electrical behavior of onchip semiconductor devices. SOME ISSUES TO ADDRESS Developing, maintaining, and imple- menting compact device models in cir- cuit simulators entail a large amount of work. Much of this is the tedious, error- prone, manual implementation of low- level code, which (apart from making a model available) is a nonvalue-added task as far as a model developer is con- cerned. The latest BSIM3 code consists of 21 different files, consisting of almost 20,000 lines of C code tied to implemen- tation in one specific simulator. Under- standing the details of, and dependencies between sections of, code this large is a daunting task that has a very serious ramifications. It erects a huge barrier to developing, implementing, testing, and sharing model improvements. Also, the model code cannot be easily used by itself and must be compiled and linked into a simulator. The primary goal of ADMS [4] is to address these issues. The key concepts are to define compact models in a high- level language, Verilog-AMS, where a few hundred lines of code embody the equiv- alent of tens of thousands of lines of C, and then automatically generate low- level code from the Verilog-AMS. See [15] for more details of this new paradigm. ADMS has been designed to make implementation of compact models simple, efficient, and robust. It inte- grates a built-in symbolic derivative cal- culator. Today, it supports C code generation for the abstract program- ming interface (API) of three different simulators: Spectre [6], ADS [7], and Mica [8]. However, ADMS is implement- Globalization LEADERSHIP Laurent Lemaitre and Colin McAndrew 1. Compact modeling in the fabrication flow of electronic circuits. Wafer Electrical Circuit Simulators and Layout Compact Models Process Libraries IP Design Compact Modeling Characterization Design & Verification Fabrication Products An Open-Source Software Tool for Compact Modeling Applications

Upload: c

Post on 23-Sep-2016

217 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: An open-source software tool for compact modeling applications

� 6 IEEE CIRCUITS & DEVICES MAGAZINE � MARCH/APRIL 2004

This column features an open-source software tool—calledautomatic device model synthe-sizer (ADMS)—that supports and

simplifies compact model development,implementation, distribution, mainte-nance, and sharing. The intended audi-ence is people in universities or CADcompanies interested in contributing tothe development and improvement ofthe tool. It should also help peoplewhose main interest is using the tool toget a better understanding of how ADMSworks internally. ADMS is available onSourceForge.net, one of the most popu-lar open-source software developmentWeb sites. It was developed at MotorolaInc., whose main interest is to supportstandardization of compact models.

COMPACT MODELINGA compact model is a mathematicaldescription of the electrical behavior of a

semiconductor device, suitable for simu-lation of integrated circuits. A good exam-ple is the BSIM family of models from theUniversity of California, Berkeley [1].

As Figure 1 shows, compact modelsare a key part of the process of designingintegrated circuits. A wafer fab processis characterized according to a set ofbasic compact models. Widely usedcompact models include BSIM3/4 andEKV [2] for MOSFETs and SGP andVBIC [3] for bipolar transistors. Processlibrary files of parameters for compactmodels are created based on data for aspecific wafer fab process. Compactmodels and process library files are sub-sequently used to design and verify IP(circuits) that will be implemented onsilicon. Compact models are a determin-ing factor in improving the overall pro-cess of chip design. They must reliablypredict the electrical behavior of onchipsemiconductor devices.

SOME ISSUES TO ADDRESSDeveloping, maintaining, and imple-menting compact device models in cir-cuit simulators entail a large amount ofwork. Much of this is the tedious, error-prone, manual implementation of low-level code, which (apart from making amodel available) is a nonvalue-addedtask as far as a model developer is con-cerned. The latest BSIM3 code consistsof 21 different files, consisting of almost20,000 lines of C code tied to implemen-tation in one specific simulator. Under-standing the details of, and dependenciesbetween sections of, code this large is adaunting task that has a very seriousramifications. It erects a huge barrier todeveloping, implementing, testing, andsharing model improvements. Also, themodel code cannot be easily used byitself and must be compiled and linkedinto a simulator.

The primary goal of ADMS [4] is toaddress these issues. The key conceptsare to define compact models in a high-level language, Verilog-AMS, where a fewhundred lines of code embody the equiv-alent of tens of thousands of lines of C,and then automatically generate low-level code from the Verilog-AMS. See [15]for more details of this new paradigm.

ADMS has been designed to makeimplementation of compact modelssimple, efficient, and robust. It inte-grates a built-in symbolic derivative cal-culator. Today, it supports C codegeneration for the abstract program-ming interface (API) of three differentsimulators: Spectre [6], ADS [7], andMica [8]. However, ADMS is implement-

Globalization

LEADERSHIP

Laurent Lemaitre and Colin McAndrew

1. Compact modeling in the fabrication flow of electronic circuits.

Wafer

ElectricalCircuit

Simulatorsand

Layout

CompactModels

ProcessLibraries

IPDesign

Compact Modeling Characterization Design & Verification Fabrication

Products

An Open-Source Software Toolfor Compact Modeling Applications

Page 2: An open-source software tool for compact modeling applications

ed in such a way that it can easily beextended and improved. Its currentimplementation benefits from a highlyreconfigurable software architecture.

QUICK TOUR AROUND THE TOOL AND ITS IMPLEMENTATION

Figure 2 provides a view of the architec-ture of ADMS and shows how the ADMScomponents interact with each other.ADMS has been built so that it maximal-ly leverages existing software tools. Carehas been taken in defining the interfacesbetween the internal data storage ofADMS and external tools. This signifi-cantly simplifies the reuse of externaltools as plug-in applications. The presentADMS implementation embeds a built-insymbolic differentiator. It is possible toreplace this component with more effi-cient third-party software. The MATLAB[9] symbolic math toolkit could be agood replacement candidate.

More will be said shortly on the com-ponents that make up ADMS.

COMPACT MODELINGSOURCE CODE

ADMS supports Verilog-AMS[10] as the compact modelingsource code language. Verilog-AMS is a high-level behavioraldescription language. Itincludes constructs that areeasy to learn, easy to under-stand, and easy to use for math-ematically representing theelectrical behavior of devices.Figure 3 is a simple example ofa two-terminal resistor. ADMSactually supports an extensionof Verilog-AMS that is current-ly being defined by a subcom-mittee that is investigating howVerilog-AMS can better supportcompact modeling.

More complex compact models thanthe one given in Figure 3 have beensuccessfully integrated into commercialsimulators using ADMS. Among themare a three-terminal diffused resistormodel R3, the VBIC bipolar transistormodel, and the innovative MOSFETmodel SP [11]. The R3 model code willbe made accessible from the ADMS pro-ject area of the SourgeForge.Net Web

repository. The Verilog-AMS definitionof VBIC is available at http://www.d e s i g n e r s - g u i d e . c o m / V B I C /release1.2/vbic1.2.va.html.

SOFTWARE COMPONENTSThe software implementation of ADMSis primarily based on the use of threemajor components:

✦ the Glib library✦ the XML language✦ the XSL language.

Glib [12] is a convenient library writ-ten in C. Glib has been extensively usedfor the GNOME project (a complete, free,and easy-to-use desktop environment)and for the Gimp toolkit (a multiplat-form toolkit for creating graphical userinterfaces). The Glib API offers easyaccess to basic data structure handling.Manipulation and transformation ofstrings, lists, and n-ary trees are simpleusing Glib. The ADMS internal datastructure relies heavily on the use of

Glib, and the ADMS XML internal data issaved using Glib data tree structures.

The second software component ofADMS is the eXentsible Markup Lan-guage (XML). XML is an extremely sim-ple dialect to represent structured data.Data in XML are represented as thenodes of a tree. Nodes are called XMLelements. They are identified by a nameand can have a set of attributes. XMLsyntax uses HTML-like opening andclosing tags to declare an XML element.Figure 4 shows an excerpt of XML code.

The code represents a tree whose rootnode is an XML element named “adms.”The root element “adms” has one child,the XML element “device” whoseattributes are “name” and “description”set to string values “resistor” and “simpleresistor model,” respectively. The XMLelement “device” has two kinds of chil-dren, “devicenode” XML elements and“variable” XML elements. Each “variable”element has two required attributes,

7 �IEEE CIRCUITS & DEVICES MAGAZINE � MARCH/APRIL 2004

2. Main features currently integrated into ADMS.

3. Resistor model implemented in Verilog-AMS with extensions.

Share Library for Spectre

Each Element of the Block Diagram Are DescribledLater In the Column

B sim3Source Code(Verilog-AMS)

Figure 4Figure 3

Figure 6

Figure 7

Figure 4 and Figure 6

xmlInternal Dataekv

Source Code(Verilog-AMS)

INPUT FILES

admnStructure

admsData StructureImplementation

ADMS .XML

admsData StructureSpecificationADMS .DTD

Share Library for Ads

OUTPUT FILES

Share Library for Mica

Other Output Files

Third Party Plug-In

xml ToolkitMatlab

xml ToolkitMathematica

xsl Scripts forCadence's Specctre

API

xsl Scriptsfor Agilent's Ads

API

xsl Scripts forMotorola's MICA

API

xsl Scripts orOther Applications

Page 3: An open-source software tool for compact modeling applications

“name” and “datatype,” and may haveoptional attributes “defvalue,” “descrip-tion,” and “unit.” The meaning of eachattribute is self-explanatory. The simplicity

of the XML language assures easy manipu-lation, transformation, and transfer of datafrom one application to another. XMLencompasses a rich family of technologies.

ADMS makes use of these technologies tomanipulate compact model source codeand translate it into different formats.More information on XML technologiescan be found at the official Web site of theWorld Wide Web Consortium (W3C) [13].

XML DOCUMENT TYPEDEFINITION OR DTD

One of the most important aspects ofXML is its powerful ability to validate thesemantic contents of XML data. The datastructures of ADMS follow strict rulesthat are defined by a document type defi-nition, or DTD. The DTD says how XMLelements are combined together.

Figure 5 gives the DTD that will vali-date the semantic contents of the XMLcode of Figure 4. A DTD is principallymade of two declarations, the XML ele-ment declaration and the attribute dec-laration. In this specific case the DTDsays that it will validate an XML tree:

✦ only if the tree root starts withelement “adms”

✦ only if element “adms” has aunique child, element “device”

� 8 IEEE CIRCUITS & DEVICES MAGAZINE � MARCH/APRIL 2004

4. Illustrative example of partial XML coding of the resistor model.

5. DTD validating the semantic structure of the XML code of Figure 4.

6. DTD definition of ADMS data structures (left) and data objects (right, partial).

Page 4: An open-source software tool for compact modeling applications

✦ only if element “device” has therequired attribute “name” set to astring value (CDATA)

✦ only if element “device” has a listof children, element “variable,”or element “devicenode”

✦ only if each element “variable” hasrequired parameters “name” and“datatype” set to a string value

✦ only if each element “devicenode”has an attribute “type” set toeither “input,” “output,” “inout,”or “internal”

✦ and so on.Figure 6 gives the DTD descriptions

of the data structures and data objectsused in ADMS. Now that the internaldata structure of ADMS is rigorouslydefined, we will see how it can bemanipulated and transformed into dif-ferent formats. This operation is doneusing the extensible stylesheet language(XSL) technology.

XSL TECHNOLOGYXSL is a family of languages that havededicated purposes:

✦ the XSL Transformation (XSLT)language

✦ the XML PATH (XPath) languageXSLT defines methods to transform

XML documents into new XML documents,HTML documents, or text documents.

XPath is an expression languageused by XSLT to select part of an XMLdocument. The following examplesshow the XPath syntax applied to theXML document in Figure 4:

✦ XPath expression “/adms” selectsthe root of the XML document

✦ XPath expression “/adms/device/@name” selects the value ofattribute “name” of XML element“/adms/device”

✦ XPath expression “/adms/device/variable” selects all children ofXML element “device” whosenames are “devicenode”:• <devicenode name=“pnode”

type=“inout” description=“Pterminal”/>

• <devicenode name=“nnode”type=“inout” description=“Nterminal”/>

✦ XPath expression “variable[@datatype=real]” selects XML elements

“variable” with value of attribute“datatype” equals to “real”:

• <variable name=“G” datatype =“real” defvalue=“1.0” descrip-tion=“conductance” unit=“A/V”/>

• <variable name=“i” datatype=“real” />.

Figure 7 illustrates some features ofXSLT. Part of the XML document ofFigure 4 is transformed into text.

INTERFACING ELECTRICALSIMULATORS

Based on the definition given in Fig-ure 4, XSL scripts have been developedthat create ready-to-compile C codefor electrical simulator interfaces froma Verilog-AMS formulation of compactdevices.

Below is a list of companies and sim-ulators for which XSL interfacingscripts are implemented:

✦ Motorola–Mica–Internal Use Only✦ Cadence–Spectre–CMI interface–

XML scripts available on requestfrom Cadence

✦ Agilent–ADS–Public InterfaceSupported.

The following are companies and simu-lators for which XSL scripts interfacingare planned:

✦ Nassda–Hsim✦ Xpedion–GoldenGate✦ Mentor–Eldo.

Other applications have been derivedfrom the mechanism offered by ADMSto transform Verilog-AMS source codeto any kind of format. Here is a sampleof applications:

✦ automatic documentation gener-ator, in HTML or text format

✦ automatic generation of test cir-cuits, for different flavors ofSPICE netlists

✦ extraction of all output variablesthat depend on geometry for thepurpose of verification

✦ automatic generation of stand-alone model evaluator (minisim-ulator) [14].

9 �IEEE CIRCUITS & DEVICES MAGAZINE � MARCH/APRIL 2004

7. Example of XSL transforms.

(continued on page 41)

Page 5: An open-source software tool for compact modeling applications

41 �IEEE CIRCUITS & DEVICES MAGAZINE � MARCH/APRIL 2004

modulation is presented very clearly inChapter 1, which points out two tech-niques to achieve high-resolution in A/Dconversion: over-sampling and noiseshaping.

Chapter 2 reviews the place of A/Dconverters in the architecture of radioreceivers and corresponding perfor-mances. Essential performance parame-ters of an A/D converter and a figure ofmerit is presented to compare betweendifferent designs. Practical specificationsof A/D converters for GSM and AM/FMradio are presented and set as the targetof the work being presented in this book.

Chapter 3 explains the theory of con-tinuous-time sigma modulation withimportant aspects in determining theperformance of a continuous-timesigma modulator: dc tones, harmonicdistortion, intersymbol interference,clock phase jitter, and aliasing. Afterstability analysis of a linear model of acontinuous-time sigma modulator, thefilter design of higher-order low-passButterworth and inverse-Chebyshev fil-ters has been elaborated. Finally, the

design of quadrature sigma modulationis discussed.

Chapter 4 presents the design theoryfor low-power consumption (1.8 mW)and high linearity (–84 dB IM3) IF-to-basedband sigma modulator with anintegrated mixer. Frequency translationcan be performed inside or outside thesigma loop. It is shown that nonideali-ties of the mixer can result in modula-tion of high-frequency quantizationnoise into the frequency band of inter-est. The design of individual blocks ofthe IF sigma modulator is explored.Practical rule-of-thumb between designparameters, such as biasing current,transistor dimensions, and performancefigures like noise and distortion aregiven. Measurement results for the pro-totype chips are also presented.

Chapter 5 focuses on improvingimage-rejection performance of aquadrature sigma modulator withdynamic element matching (DEM) cir-cuits. The complex data-controlled DEMalgorithm and its implementation aredescribed. According to this DEM algo-

rithm, the quadrature feedback paths ofthe sigma modulator can be dynamicallymatched without causing demodulationof high-frequency quantization noise. Aprototype chip was designed to test theDEM algorithm.

Important conclusions are drawn inthe final chapter: IF-to-baseband A/Dconversion can be performed with low-power and high-performance by com-bining a mixer with a continuous-timelow-pass sigma modulator.

This book can be served as a designreference book for advanced designpracticing engineers who are particular-ly interested in the high-performanceA/D conversions. It has collected valu-able and proved design experience in thereported prototype chips, together witha brief theoretical overview of continu-ous-time sigma modulation, includingnonideal effects, stability issues, and dif-ferent filter designs.

Patrick WuPhilips Semiconductors

Hampshire, England

CODE AVAILABILITYADMS is available under the generalterms of the Lesser General PublicLicense (LGPL). Source code and bina-ries are available on SourceForge.net atthe ADMS project area: http://source-forge.net/projects/mot-adms/.

You need to be a member of Source-Forge.Net in order to have completeaccess to the data repository of ADMS.Current operating systems supported byADMS include:

✦ Solaris✦ HPUX✦ Linux✦ Windows.

SUMMARYCompact modeling definition and imple-mentation is undergoing a majorparadigm shift, from arduous hand-cod-ing models in C to defining models in

the high-level Verilog-AMS language andthen generating C code for specific simu-lators. We hope that ADMS will becomea key player in this new future. By con-struction ADMS has a highly reconfig-urable software architecture based onXML technologies. It opens the door toeasy implementation of new ideas andnew concepts. Newcomers to the chal-lenging effort of building a open-sourceinfrastructure for compact modeling arewelcome to participate.

References[1] http://www-device.eecs.berkeley.edu/

~bsim3/

[2] http://legwww.epfl.ch/ekv/

[3] http://www.designers-guide.com/VBIC/

[4] L. Lemaitre, C.C. McAndrew, and S. Hamm,“ADMS—Automatic device model synthesiz-er,” in Proc. IEEE Custom Integrated CircuitsConf., 2002, pp. 27–30.

[5] http://www.designers-guide.com/Opinion/modcomp.pdf

[6] SPECTRE CMI Reference Manual, CadenceDesign System, 1995.

[7] Analog/RF User-Defined Models, AgilentTechnologies, April 2001.

[8] MICA Device Programming Interface, Docu-mentation and Programmer’s Guide,Motorola Internal Document, 1998.

[9] http://www.mathworks.com/

[10] http://www.eda.org/verilog-ams/

[11] G. Gildenblat, T.-L.Chen, X. Gu, H. Wangand X. Cai, “SP: An advanced surface-poten-tial-based compact MOSFET model,” in Proc.IEEE Custom Integrated Circuits Conf, 2003.

[12] http://www.gtk.org/

[13] http://www.w3.org

[14] http://legwww.epfl.ch/ekv/mos-ak/crolles/06_ll_mos-ak03.ppt

[15] http://www.designers-guide.com/Opin-ion/modcomp.pdf

GLOBALIZATION LEADERSHIP(continued from page 9)