You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Holger Vogt edecf91437 options are not required 1 year ago
..
EKV2.6 Align title line to the numbers following 10 months ago
bsimbulk Align title line to the numbers following 10 months ago
bsimbulk-local Align title line to the numbers following 10 months ago
bsimcmg Align title line to the numbers following 10 months ago
hicuml0 Update the example structure for OSDI/OpenVAF: 3 years ago
mextram Align title line to the numbers following 10 months ago
mixed-models Align title line to the numbers following 10 months ago
noise Align title line to the numbers following 10 months ago
psp103 Align title line to the numbers following 10 months ago
r2_cmc Align title line to the numbers following 10 months ago
README Rename test_osdi_libs to osdi_libs 3 years ago

README

A 'quick and dirty' howto for OpenVAF and OSDI:


Example BSIMBULK
Tested under MS Windows 10 and OpenSUSE 15.4

Have OpenVAF compiler available.
Executables for download are available at https://openvaf.semimod.de/download/
for Linux and MS Windows.
Download BSIMBULK model from http://www.bsim.berkeley.edu/models/bsimbulk/
Open bsimbulk.va in a text editor
Search for the module name, here:
module bsimbulk(d, g, s, b, t);
The module name 'bsimbulk' will become the new model type in the .model statement
.model mname type ( pname1 = pval1 pname2 = pval2 ... ).
Compile bsimbulk.va with OpenVAF to obtain bsimbulk.osdi
Put bsimbulk.osdi into directory bsimbulk/osdi_libs
Search for suitable model parameters
BSIMBULK107 distro does not contain any parameters
BSIMBULK106 does contain a model parameter file model.l among the benchmark tests
Put model.l into directory bsimbulk/Modelcards
Edit model.l:
Check if model type is 'bsimbulk' (it is already)
Choose a model name for mname (nch or pch may be o.k., or BSIMBULK_osdi_N or ...)
There are NMOS and PMOS parameters in the same file here.

Create a ngspice netlist in directory bsimbulk, e.g. bb_IDvsVG.cir.

*** BSIMBULK107 Id versus Vgs ***
* the voltage sources
Vd dd 0 50m
Vg gg 0 1
Vs ss 0 0
Vb bb 0 0

* load the model parameter sets
.include Modelcards/model.l

* the call to the transistor (OSDI devices always start with N !)
NMN1 dd gg ss bb BSIMBULK_osdi_N W=500n L=90n

* the .control section
.control
* load the model dynamically
pre_osdi osdi_libs/bsimbulk.osdi
* the dc simulation
dc Vg 0 1.5 0.01 Vb 0 -1.6 -0.4
* plotting
set xbrushwidth=3
plot I(Vs)
.endc
.end
*********************************

So we have two OSDI specific actions in the netlist:
load the model by
pre_osdi osdi_libs/bsimbulk.osdi
instantiate the transistor by
NMN1 dd gg ss bb BSIMBULK_osdi_N W=500n L=90n