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

 

 

原文地址:https://www.cnblogs.com/qiushuixiaozhanshi/p/6273306.html