代码
共射极(作用:电流放大),改自例库BJT/bjtex04.in
源代码:
go atlasmesh x.m l=0 spacing=0.15x.m l=0.8 spacing=0.15x.m l=1.0 spacing=0.03x.m l=1.5 spacing=0.12x.m l=2.0 spacing=0.15y.m l=0.0 spacing=0.006y.m l=0.04 spacing=0.006y.m l=0.06 spacing=0.005y.m l=0.15 spacing=0.02y.m l=0.30 spacing=0.02y.m l=1.0 spacing=0.12region num=1 siliconelectrode num=1 name=emitter left length=0.8electrode num=2 name=base right length=0.5 y.max=0electrode num=3 name=collector bottomdoping reg=1 uniform n.type conc=5e15 doping reg=1 gauss n.type conc=1e18 peak=1.0 char=0.2doping reg=1 gauss p.type conc=1e18 peak=0.05 junct=0.15 doping reg=1 gauss n.type conc=5e19 peak=0.0 junct=0.05 x.right=0.8doping reg=1 gauss p.type conc=5e19 peak=0.0 char=0.08 x.left=1.5# set bipolar modelsmodels conmob fldmob consrh auger print contact name=emitter n.poly surf.recsolve initsave outf=bjtex04_0.strtonyplot bjtex04_0.str -set bjtex04_0.set
修改代码:(为了使代码更简单,更容易理解结构)
去掉了欧姆区掺杂,将掺杂的高斯分布改成了均匀分布
所以器件
region num=1 siliconelectrode num=1 name=emitter left length=4.0electrode num=2 name=baseright length=0.5 y.max=0electrode num=3 name=collector bottomdoping reg=1 uniform n.type conc=5e15doping reg=1 uniform p.type y.max=0.15 conc=1e18doping reg=1 uniform n.type x.right=4.0 y.max=0.05 conc=5e19save outf=bjtex04_0.strtonyplot bjtex04_0.str -set bjtex04_0.setmodels conmob fldmob consrh auger print
修改代码的原因:
所有器件,例如一块材料,一块n型电阻,不是接了阴极和阳极就可以了
电极还要做重掺杂才可以做成欧姆接触,掺杂浓度比较低,做不了欧姆接触
掺杂的两种类型:
离子注入:掺杂分布,高斯分布(内部有一个浓度最高点)扩散:表面浓度最高
均匀掺杂,突变结,实际情况是,缓变结。
使用均匀掺杂的突变结,观察更清晰。
仿真输出曲线
#偏置基极log offsolve initsolve vbase=0.025solve vbase=0.05solve vbase=0.1 vstep=0.1 vfinal=0.7 name=base#定义基极为电流边界contact name=base current#将基极偏置到不同的电流值solve ibase=1.e-6save outf=bjtex04_1.str mastersolve ibase=2.e-6save outf=bjtex04_2.str mastersolve ibase=3.e-6save outf=bjtex04_3.str mastersolve ibase=4.e-6save outf=bjtex04_4.str mastersolve ibase=5.e-6save outf=bjtex04_5.str master
#载入不同基极电流,偏置集电极load inf=bjtex04_1.str masterlog outf=bjtex04_1.log solve vcollector=0.0 vstep=0.25 vfinal=5.0 name=collectorload inf=bjtex04_2.str masterlog outf=bjtex04_2.logsolve vcollector=0.0 vstep=0.25 vfinal=5.0 name=collectorload inf=bjtex04_3.str masterlog outf=bjtex04_3.logsolve vcollector=0.0 vstep=0.25 vfinal=5.0 name=collectorload inf=bjtex04_4.str masterlog outf=bjtex04_4.logsolve vcollector=0.0 vstep=0.25 vfinal=5.0 name=collectorload inf=bjtex04_5.str masterlog outf=bjtex04_5.logsolve vcollector=0.0 vstep=0.25 vfinal=5.0 name=collector#输出曲线族tonyplot -overlay bjtex04_1.log bjtex04_2.log bjtex04_3.log bjtex04_4.log bjtex04_5.log -set bjtex04_1_log.setquit
参考:
最简单的BJT仿真例程