zoukankan      html  css  js  c++  java
  • Bsim3 学习笔记10

    BSIM3v3 Model Implementation

    The enhancement of the continuity and smoothness of the BSIM3v3 model equations has been discussed in Chapter 4.

    In this chapter, we will discuss the robustness of the model achieved through careful model implementation.

    The implementation of the BSIM3v3 model is realized with 21 different files that can be divided into the following five parts according to their functions:

    (1)    data structures

    b3.c bsim3itf.h bsim3ext.h bsim3def.h

    (2)    input routines

    b3par.c b3mpar.c

    (3)    output routines

    b3sak.c b3mask.c

    (4)    structure decomposition routines

    b3dest.c b3del.c

    (5)    processing routines

    b3set.c b3temp.c b3getic.c b3check.c b3ld.c b3trunc.c b3cvtest.c b3acld.c b3pzld.c b3noi.c

     

    BSIM3v3 requires two specific internal data structures:

    ONE for the global device model

    The other for the instance parameters (for defining the individual devices in a circuit)

     

    Robustness Consideration in the Implementation of BSIM3v3

    Limiting the exponential and divisions

    对于指数函数进行光滑,对分母非零进行转换。

    Smoothing functions for parameters that have hard limits

    对于某些有着限制的参数提供的光滑函数

    Parameter checking

    A good model should have the ability of outputting some warning or error messages when “bad” or unreasonable values of model parameters are used. This is convenient so that users can double-check their model parameters before the simulation starts. In BSIM3v3.1 such a function has been introduced so that the simulator, before doing the simulation, can check whether the values of the parameters are within the reasonable range specified by the model developer. Parameter checking is divided into three categories in BSIM3v3 implementation, “Fatal error abort”, “Warning message and clamping”, and “Warning message only”.

     

     

    Testing of model implementation

    Two sets of benchmark tests:

    1. One set of tests was performed with both BSIM3v3.0 and BSIM3v3.1 to check the improvement of model implementation in BSIM3v3.1 and the closeness of BSIM3v3.1 to BSIM3v3.0, using the same parameter set.

    In BSIM3v3.0, no smoothing functions were used in the implementation, and no considerations were given for problems such as divide-by-zero. In BSIM3v3.1, all considerations discussed in section 11.2 have been incorporated.

    1. Another set of tests was performed with BSIM3v3 and previous BSIM models to compare the simulation efficiency and convergence performance. SPICE3f5 and SPECTRE were used in this comparison.

     

    model版本越新,迭代次数越少,CPU运行时间越短。(但是每次迭代的运算时间不一定越小)

     

     

    Model selectors of BSIM3v3

    7 model selectors:

    mobMod: mobility model selector

    capMod: capacitance model selector

    noiMod: noise model selector

    nqsMod: NQS model selector

    Version: BSIM3v3的版本,such as BSIM3v3.0, BSIM3v3.1,BSIM3v3.2

    binUnit: bin unit selector

    paramChk: a selector to determine whether the pre-checking of some parameters is to be performed

     

     

  • 相关阅读:
    mysql慢查询日志
    VS中MFC连接MySQL的方法【转】
    localtime函数时区问题
    gethostbyname()函数【转】
    剪切板操作
    C/C++字符串查找函数 【转】
    vs2013出现IntelliSense错误,但是错误又不影响使用的消除办法
    c语言基础精讲加实例(个人觉得复习基础挺好的,)
    vs2013下qt工程调用自建的lib库函数教程
    取出16进制位对应位数的数字是0还是1(C语言)
  • 原文地址:https://www.cnblogs.com/qiushuixiaozhanshi/p/6273306.html
Copyright © 2011-2022 走看看