24
A Platform for Compact Model Sharing Hao Wang, Mansun Chan Department of ECE, HKUST interactive Modeling and Online Simulation Platform

interactive)Modeling)and) …Modeling)and) Online)Simulation)Platform) THE ROLE OF COMPACT MODELS! Multi-Gate MOS Nanowire MOSFET Scaling MOSFET VBIC BSIM HiCUM Mextram ACM HiSIM USIM

Embed Size (px)

Citation preview

A Platform for Compact Model Sharing!

Hao Wang, Mansun Chan!

Department of ECE, HKUST!

interactive  Modeling  and  Online  Simulation  Platform  

THE ROLE OF COMPACT MODELS!

Multi-Gate MOS Nanowire MOSFET

Scaling MOSFET

VBIC

HiCUM BSIM

Mextram

ACM

HiSIM

USIM

PSP

HVEKV

MM20

Spectre Eldo

ADS Smash

Nanosim

HSIM

APLAC

AMS Golden Gate

HSPICE

v  Device à Models à Simulator à Applications

CURRENT MODELING INFRASTRUCTURE!

Experimental data, Parameter Extraction

Model 1

Model 2

Model 3

Coding, Testing, implementing to a

simulator

Circuit Simulation

Technologist Modelers

Implementation, Compiling, Evaluate

Models, obtain parameters

Designers Applications

STATUS OF PUBLISHED MODELS!

v Some only describe a single quantity (like threshold voltage) rather than a complete model!

v Some have implicit functions that require numerical solution!v Some models have discontinuities between different

section of the characteristics!v Some have poorly behaved derivatives !v Some do not have charge and capacitance model!v Some do have an explicit parameter set !v Convergence issues of most models are not tested!v No follow-up after publication !

A REVOLUTIONARY DISTRIBUTION CONCEPT!

v The App store has significantly shorten the distance between programmer and users since July 11, 2008!

v Can we have an App store for compact models?!

AN APP STORE FOR COMPACT MODELING!

Foundry

Circuit

designer

EDA vendors

Model developer

Model extracted

Simulator implementation

Design verified

Simulation flow verified

i-MOS

v A project started in June 2011 !

THE i-MOS PROJECT!

v  It stands for interactive Modeling and Online Simulation!v  Intended to be a social network for the compact modeling

community including both developers or just users!v Provide a platform for model developers to distribute their

models!v Provide a platform for users to evaluate models!v A place to discuss modeling related issues!v A source for updated modeling activities!v  It runs under a user driven model with light moderation!

COMPONENTS OF i-MOS!

Browser Interface User

authentication User Input

Simulation Instruction

Ngspice Simulation Engine

Output Variables

Parameter Library

Graphic user interface

Output to Users

i-MOS Platform

MODEL IMPLEMENTATION!

registered as a model developer

defining model pages with standard templates

Submit model Verilog-A code

Model Verification

Compilation with ADMS

Internal qualification process

Output to the i-MOS system

qualification process

model development server

user execution and feedback

i-MOS server currently done by

hand

THE NGSPICE ENGINE!

v From de facto standard simulator SPICE!

CANCER ’70s SPICE1,2 SPICE3 ’80s SPICE3f5 ’90s Ngspice 00’s

v Many standard device models have already been included!v  It has a specific C interface!

Hierarchy

Model code ���mld.c, macld.c, ���mtemp.c …

Model setup ���m.c, mdel.c ���mset.c …

Model I/O ���mask.c, mpar.c���

mic.c …

THE ADMS VERILOG-A COMPILER!

v Verilog-A has become the standard modeling language!

v ADMS!

Ø  Developer friendly!

Ø  Interpreted code has lower efficiency than C-code!

Ø  Widely used for new models!

Ø  Convert Verilog-A to C-code!

Ø  Partial derivation for Jacobian matrix!

Ø  Model/instance setup API!

Ø  Similar efficiency to hand code!

THE NGSPICE INTERFACE!

Hierarchy

manalogfunction.c ���m.hxx ���

mguesstopology.c

Model code ���mld.c, macld.c, ���

mtemp.c…

Model setup ���m.c, mdel.c ���mset.c …

Model I/O ���mask.c, mpar.c���

mic.c …

<admst:text  format="IFparm  $(module)mPTable[]  =  {\n"/>  <admst:join  select="variable[parametertype='model'  and  input='yes']"  separator=",\n">      <admst:choose>          <admst:when  test="[type='real']">              <admst:value-­‐of  select="name"/>              <admst:value-­‐of  select="name"/>              <admst:value-­‐of  select="name"/>              <admst:text  format="  IOP(&quot;%s&quot;,$(module)_model_%s,IF_REAL,&quot;%s&quot;)"/>          </admst:when>          <admst:when  test="[type='integer']">              <admst:value-­‐of  select="name"/>              <admst:value-­‐of  select="name"/>              <admst:value-­‐of  select="name"/>              <admst:text  format="  IOP(&quot;%s&quot;,$(module)_model_%s,IF_INTEGER,&quot;%s&quot;)"/>          </admst:when>          <admst:otherwise>              <admst:fatal  format="parameter  of  type  'string'  not  supported\n"/>          </admst:otherwise>      </admst:choose>  </admst:join>  <admst:text  format="\n};\n"/>  

IFparm cnt_mPTable[] = {

IOP("pnp",cnt_model_pnp,IF_INTEGER,"pnp"),

IOP("npn",cnt_model_npn,IF_INTEGER,"npn"),

IOP("phisb",cnt_model_phisb,IF_REAL,"phisb"),

IOP("rs",cnt_model_rs,IF_REAL,"rs"),

IOP("rd",cnt_model_rd,IF_REAL,"rd"),

IOP("beta",cnt_model_beta,IF_REAL,"beta"),

IOP("cc",cnt_model_Cc,IF_REAL,"Cc"),

IOP("mob",cnt_model_mob,IF_REAL,"mob"),

IOP("csubfit",cnt_model_Csubfit,IF_REAL,"Csubfit"),

IOP("cp",cnt_model_Cp,IF_REAL,"Cp")

};

parameter  real  phisb  =  0  from  (-­‐inf:inf)  `P(info="Barrier  Height");        

parameter  real  rs  =  0  from  (-­‐inf:inf)          `P(info="Source  Access  resistance");    parameter  real  rd  =  0  from  (-­‐inf:inf)          `P(info="Drain  Access  resistance");    parameter  real  beta  =  20  from  (-­‐inf:inf)          `P(info="Drain  coupling  coefficient");      parameter  real  Cc  =  7e-­‐12  from  (-­‐inf:inf)          `P(info="Coupling  capacitance");      parameter  real  mob  =  1  from  (-­‐inf:inf)          `P(info="Scattering  parameters");    parameter  real  Csubfit  =  1  from  (-­‐inf:inf)          `P(info="Vfb  adjustment  parameter");    parameter  real  Cp  =  0  from  (-­‐inf:inf)          `P(info="Parasitic  capacitance");    

admsXml –I(srcdir) –I(srcdir)/admsva $(srcdir)/admsva/m.va –e ngspiceMODULEtempale.xml

ngspiceMODULE.c.xml

m.va

m.c

v An authoring kit is being develop to automate the process!

BENEFITS TO MODEL USERS!

v  i-MOS made many device models available for early access without the need of compilation and execution on a local machine!

v Run simulations and do demonstrations anywhere !v Able to directly compare the completeness and

performance of different models!v Uniform GUI with low learning barrier!v Come with standard parameters, benchmark, test circuits!v One stop service to model documents and modeling

activities!

i-MOS SIMULATION INTERFACE!

v Users will be allowed to comment on models soon!

MODELING RESOURCES!

v You are welcome to post your modeling activities on i-MOS!

BENEFIT TO MODEL DEVELOPERS!

v Provide a standard on the requirements of a model, including I-V, Q-V, first derivatives, continuity, smoothness etc.!

v Provide a simple authoring tool to interface the model to a circuit simulation engine directly!

v Provide a simple and standard user interface to distribute models to users!

v Facilitate the user feedback process for model refinement and improvement!

v Promote interaction between model developers and users through various channel of discussion!

MODELS IMPLEMENTED IN CURRENT SYSTEM!

Device Type Group Availability

Symmetric Double Gate MOSFET

HKUST/Peking University

Online

Silicon Nanowire Transistor

HKUST/Peking University

Online

AlGaN HEMT Tsinghua University Online

CNT FET Arizona University Online

CNT FET Stanford University In Progress

Phase Change Memory HKUST In Progress

v  If you want your model to be included in i-MOS, please let us know!

BENEFITS TO EDA VENDORS!

v Provide early access to new device models!v Evaluate and compare models under the same platform

using standard GUI !v Collect user feedback to obtain popularity of various models

based on model rating!v Provide a platform to communicate with model developers!v Provide parameter extraction service for a given model from

foundry data!v Gain access to parameter sets from various sources (either

as transparent data or blackbox plugin)!

ISSUES TO RESOLVE!

v Current version of ADMS only support a subset of Verilog-A syntax !

//allowed in ADMS I (a,b) <+ V (a,b) ) / R; //not allowed in ADMS

V(a,b) <+ I (a,b)*R;

Ø  V(..) <+ xxx not supported!

Ø  I (..) probes not supported!

Ø  For loop not supported!

v XML script of ADMS poorly documented !v Human interface need for some time before all the tools are

ready!

OTHER SERVICES TO BE LAUNCHED!

v Automated Model Authoring kits!v Modeling rating and commenting!v Discussion group and professional networking!v Parameter extraction!v Standard parameter set!v Standard test results!v Online simulation (slightly longer term)!

Ø  Phase I, input by submitting netlist text file!

Ø  Phase II, complete circuit simulation GUI!

A QUICK PREVIEW OF THE UP COMING SERVICES!

P1 P2 P3 P4

User comments

Upload data and extract parameters

User Comments!

Upload Data and Extract Parameters !

(depends on availability of

extractor)!

Pre-defined/saved parameters !(blackbox

parameters allowed)!

Modeling Rating!

v  If there is any service you think is useful to you, please let us know!

PLEASE TRY OUT OUR SERVICE !

v Please visit the following site:!

http://i-mos.org!

v You will be able to try out our service after a simple and free registration!

v  It is not perfect at present stage and we appreciate your tolerance!

THE i-MOS TEAM!

v Principle Investigator: Prof. Mansun Chan !

v Research Students:!v Project Manager: Dr. Hao Wang!

Ø  Lining Zhang!Ø  Xiaoxu Cheng!

v Collaborators:!Ø  Prof. Jin He, Peking University!Ø  Prof. Philip Wong, Stanford University!Ø  Prof. Yan Wang, Tsinghua University!Ø  Prof. Yu Cao, Arizona State University!

v Funding: Hong Kong UGC AoE/P-04/08!

THE BEGINNING!

THANK YOU!!