ntaurus学习笔记(⼀)器件仿真
之前有跟⼤家说,以后转到ntaurus,因此silvaco会⽤的⽐较少,结果发现真的有⼀点贪⼼厌旧的感觉,现在基本上不⽤silvaco(lll¬ω¬)故这篇⽂章,将为⼤家带来的是关于ntaurus的结构仿真和器件的特性的提取。我们还是⽼规矩,先上结构图。
还是⼀个经典的IGBT结构,这是⼀个典型的N型IGBT,下⾯我将把⼀些相关的结构,和具体的写法⽤下⾯⼀幅图表达出来。
这⾥因为⽅便看,我们把器件的⽐例画的⽐较抽象。可以看到的是,这⾥有很多的距离参数是⽤⼀些
变量名来写的,这也是ntaurus⽐silvaco⽅便的地⽅,有了变量名,随便改对变量的赋值,因此在以后修改器件的时候也会⽅便很多。下⾯为整个器件结构的代码。
(sde:clear)
(sdegeo:t-default-boolean "ABA")
(define Lg 13.5)
(define Lr 0.5)
(define Le 8)
(define Lj 3.5)
(define Lc 0.5)
(define Ls 12)
(define Ls 12)
(define Lh 3)
(define Tg 0.05)
(define To 0.05)
(define Te 0.25)
(define Tw 0.5)
(define Td 140)
(define Tb 2)
(define Ti 3)
(define Tc 0.5)
;structure
重阳节讲话稿;(sdegeo:create-rectangle
; (position (+ Lj Lc) Tc 0) (position Lj 0 0)
;
"SiliconCarbide" "channel2")
;(sdegeo:create-rectangle
; (position (* -1 (+ Lj Lc)) Tc 0) (position (* -1 Lj) 0 0)
; "SiliconCarbide" "channel3")
;-drift
(sdegeo:create-rectangle
(position (* (+ (+ Lg Lr) Le) -1.0) (+ Tg To) 0) (position (+ (+ Lg Lr) Le) (+ (+ Tg To) Td) 0) "SiliconCarbide" "R.Drift" )
;-Channel
;(sdegeo:create-rectangle
; (position Lj (+ Tc (+ To Tg)) 0) (position (* -1 Lj ) (+ To Tg) 0)
; "SiliconCarbide" "Channel")
;-well
(sdegeo:create-rectangle
(position (* (+ (+ Lg Lr) Le) -1.0) (+ Tg To) 0 ) (position (* -1.0 Lj) (+ (+ Tg To) Tw) 0 )
"SiliconCarbide" "R.WellLeft" )
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ Tg To) 0 ) (position Lj (+ (+ Tg To) Tw) 0 )
里德学院"SiliconCarbide" "R.WellRight" )
;-Source
(sdegeo:create-rectangle
(position (* (+ (+ Lj Lc) Ls) -1) (+ Tg To) 0 ) (position (* (+ Lj Lc) -1.0) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.SourceLeft" )
(sdegeo:create-rectangle
(position (+ (+ Lj Lc) Ls) (+ Tg To) 0 ) (position (+ Lj Lc) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.SourceRight" )
steal的过去分词;-high concentration well
(sdegeo:create-rectangle
(position (* (+ (+ Lg Lr) Le) -1) (+ Tg To) 0 ) (position (* (+ (+ Lj Lc) Ls) -1) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.HighConcentrationLeft" )
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ Tg To) 0 ) (position (+ (+ Lj Lc) Ls) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.HighConcentrationRight" )
;-Buffer Layer
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ (+ Tg To) Td) 0 ) (position (* (+ (+ Lg Lr) Le) -1) (+ (+ Tg To) (+ Td Tb) ) 0 )
"SiliconCarbide" "R.Buffer" )
;-Injector
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ (+ Tg To) (+ Td Tb)) 0 ) (position (* (+ (+ Lg Lr) Le) -1) (+ (+ (+ Tg To) (+ Td Tb)) Ti) 0 ) "SiliconCarbide" "R.Injector" )
;-Gate
;(sdegeo:create-rectangle
; (position (+ Lj Lc) 0 0) (position (+ (+ Lj Lc) Lr) (+ Tg To) 0 )
; "SiO2" "R.SiO2Right" )
;(sdegeo:create-rectangle
; (position (* -1.0 (+ Lj Lc) ) 0 0) (position (* (+ (+ Lj Lc) Lr) -1) (+ Tg To) 0 )
; "SiO2" "R.SiO2Left" )
(sdegeo:create-rectangle
(position (+ Lj Lc) Tg 0) (position (* (+ Lj Lc) -1.0) (+ Tg To) 0 )
"SiO2" "R.SiO2Middle" )
;Contact
;Contact
;-gate contact
(sdegeo:define-contact-t "gate" 4.0 (color:rgb 0.0 0.0 1.0 ) "##" )
(sdegeo:t-current-contact-t "gate")
(sdegeo:define-2d-contact (find-edge-id (position 0 Tg 0)) "gate" )
花的英文
;-emitter contact
(sdegeo:define-contact-t "emitterleft" 4.0 (color:rgb 0.0 1.0 0.0 ) "##" )
(sdegeo:t-current-contact-t "emitterleft")
(sdegeo:define-2d-contact (find-edge-id (position (* -0.5 (+ (+ Lg Lr) (+ Le (+ Lg Lr)))) (+ Tg To) 0)) "emitterleft" )
(sdegeo:define-contact-t "emitterright" 4.0 (color:rgb 0.0 1.0 0.0 ) "##" )
(sdegeo:t-current-contact-t "emitterright")
(sdegeo:define-2d-contact (find-edge-id (position (* 0.5 (+ (+ Lg Lr) (+ Le (+ Lg Lr)))) (+ Tg To) 0)) "emitterright" )
;-collector contact
(sdegeo:define-contact-t "collector" 4.0 (color:rgb 0.0 0.0 1.0 ) "##" )
(sdegeo:t-current-contact-t "collector")
(sdegeo:define-2d-contact (find-edge-id (position 0 (+ (+ Tg To) (+ Ti (+ Td Tb))) 0)) "collector" )
;doping
;-Drift Doping
; - Common dopants:
; "PhosphorusActiveConcentration" | "ArnicActiveConcentration"
; | "BoronActiveConcentration"
(sdedr:define-constant-profile "DriftDop" "PhosphorusActiveConcentration" 2e14)
(sdedr:define-constant-profile-region "Place.DriftDop" "DriftDop" "R.Drift")
;-channel
;(sdedr:define-constant-profile "ChannelDop" "PhosphorusActiveConcentration" 2e14)
periodical;
(sdedr:define-constant-profile-region "Place.ChannelDop" "ChannelDop" "Channel")
;-Well Doping
(sdedr:define-constant-profile "WellRightDop" "BoronActiveConcentration" 1e17)
(sdedr:define-constant-profile-region "Place.WellRightDop" "WellRightDop" "R.WellRight")
(sdedr:define-constant-profile "WellLeftDop" "BoronActiveConcentration" 1e17)
(sdedr:define-constant-profile-region "Place.WellLeftDop" "WellLeftDop" "R.WellLeft")
;-Source Doping
(sdedr:define-constant-profile "SourceLeftDop" "PhosphorusActiveConcentration" 1e20)
(sdedr:define-constant-profile-region "Place.SourceLeftDop" "SourceLeftDop" "R.SourceLeft")
(sdedr:define-constant-profile "SourceRightDop" "PhosphorusActiveConcentration" 1e20)
(sdedr:define-constant-profile-region "Place.SourceRightDop" "SourceRightDop" "R.SourceRight")
;
HighConcentration Doping
(sdedr:define-constant-profile "HighConcentrationRightDop" "BoronActiveConcentration" 1e19)
戕害
(sdedr:define-constant-profile-region "Place.HighConcentrationRightDop" "HighConcentrationRightDop" "R.HighConcentrationRight") (sdedr:define-constant-profile "HighConcentrationLeftDop" "BoronActiveConcentration" 1e19)
(sdedr:define-constant-profile-region "Place.HighConcentrationLeftDop" "HighConcentrationLeftDop" "R.HighConcentrationLeft")
;Buffer Doping
(sdedr:define-constant-profile "BufferDop" "PhosphorusActiveConcentration" 1e17)
(sdedr:define-constant-profile-region "Place.BufferDop" "BufferDop" "R.Buffer")
;Injector Doping
(sdedr:define-constant-profile "InjectorDop" "BoronActiveConcentration" 1e19)
(sdedr:define-constant-profile-region "Place.InjectorDop" "InjectorDop" "R.Injector")
;-Mesh
(sdedr:define-refinement-window "W.Global" "Cuboid"
女人保养皮肤(position -200 -200 0)
(position 200 200 0)
)
(sdedr:define-refinement-size "R.Global"3 3 0 0.01 0.01 0)
(sdedr:define-refinement-function "R.Global" "MaxLenInt" "SiliconCarbide" "SiliconCarbide" 0.01 1.5 "DoubleSide")
(sdedr:define-refinement-function "R.Global" "MaxLenInt" "SiliconCarbide" "SiO2" 0.01 1.2 "DoubleSide")
(sdedr:define-refinement-placement "P.Global" "R.Global" "W.Global")
(sde:build-mesh "snmesh" "" "n@node@_msh")
ntaurus的代码书写⽐较有意思,结构仿真中代码的注释和器件特性提取中代码的注释所使⽤的符号完全不同,结构仿真中;为注释的符号。
我们来慢慢分析代码:
(sde:clear)
showering(sdegeo:t-default-boolean "ABA")
(sde:clear)这⼀句什么意思我也不知道,⼤概是清楚什么东西的意思,每次写之前加上就⾏了。
(sdegeo:t-default-boolean “ABA”)这⼀句就⽐较关键了,这是确定下⾯结构书写顺序的⼀⾏,ABA的意思就是新的区域代替旧的区域,因为刚开始是使⽤silvaco,因此新的区域代替旧的区域个⼈来讲是⽐较习惯的,当然聪明的⼩伙伴已经知道了BAB是什么意思。
(define Lg 13.5)
(define Lr 0.5)
(define Le 8)
(define Lj 3.5)
(define Lc 0.5)
(define Ls 12)
(define Lh 3)
(define Tg 0.05)
(define To 0.05)
中央对外宣传办公室(define Te 0.25)
(define Tw 0.5)
(define Td 140)
(define Tb 2)
(define Ti 3)
(define Tc 0.5)
这就是之前所说的对变量的定义。
;structure
;(sdegeo:create-rectangle
; (position (+ Lj Lc) Tc 0) (position Lj 0 0)
; "SiliconCarbide" "channel2")
;(sdegeo:create-rectangle
; (position (* -1 (+ Lj Lc)) Tc 0) (position (* -1 Lj) 0 0)
; "SiliconCarbide" "channel3")
;-drift
(sdegeo:create-rectangle
(position (* (+ (+ Lg Lr) Le) -1.0) (+ Tg To) 0) (position (+ (+ Lg Lr) Le) (+ (+ Tg To) Td) 0)
"SiliconCarbide" "R.Drift" )
;-Channel
;(sdegeo:create-rectangle
; (position Lj (+ Tc (+ To Tg)) 0) (position (* -1 Lj ) (+ To Tg) 0)
; "SiliconCarbide" "Channel")
;-well
(sdegeo:create-rectangle
(position (* (+ (+ Lg Lr) Le) -1.0) (+ Tg To) 0 ) (position (* -1.0 Lj) (+ (+ Tg To) Tw) 0 )
"SiliconCarbide" "R.WellLeft" )
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ Tg To) 0 ) (position Lj (+ (+ Tg To) Tw) 0 )
"SiliconCarbide" "R.WellRight" )
;-Source
(sdegeo:create-rectangle
(position (* (+ (+ Lj Lc) Ls) -1) (+ Tg To) 0 ) (position (* (+ Lj Lc) -1.0) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.SourceLeft" )
(sdegeo:create-rectangle
(position (+ (+ Lj Lc) Ls) (+ Tg To) 0 ) (position (+ Lj Lc) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.SourceRight" )
;-high concentration well
(sdegeo:create-rectangle
(position (* (+ (+ Lg Lr) Le) -1) (+ Tg To) 0 ) (position (* (+ (+ Lj Lc) Ls) -1) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.HighConcentrationLeft" )
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ Tg To) 0 ) (position (+ (+ Lj Lc) Ls) (+ (+ Tg To) Te) 0 )
"SiliconCarbide" "R.HighConcentrationRight" )
;-Buffer Layer
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ (+ Tg To) Td) 0 ) (position (* (+ (+ Lg Lr) Le) -1) (+ (+ Tg To) (+ Td Tb) ) 0 )
"SiliconCarbide" "R.Buffer" )
;-Injector
(sdegeo:create-rectangle
(position (+ (+ Lg Lr) Le) (+ (+ Tg To) (+ Td Tb)) 0 ) (position (* (+ (+ Lg Lr) Le) -1) (+ (+ (+ Tg To) (+ Td Tb)) Ti) 0 )
"SiliconCarbide" "R.Injector" )
market rearch;-Gate
;(sdegeo:create-rectangle
; (position (+ Lj Lc) 0 0) (position (+ (+ Lj Lc) Lr) (+ Tg To) 0 )
; "SiO2" "R.SiO2Right" )
;(sdegeo:create-rectangle
; (position (* -1.0 (+ Lj Lc) ) 0 0) (position (* (+ (+ Lj Lc) Lr) -1) (+ Tg To) 0 )
; "SiO2" "R.SiO2Left" )
(sdegeo:create-rectangle
(position (+ Lj Lc) Tg 0) (position (* (+ Lj Lc) -1.0) (+ Tg To) 0 )
"SiO2" "R.SiO2Middle" )
这⾥为对不同区域的定义,注意看我之前那张的X轴和Y轴的坐标的⽅向。这⾥的主要语句为(sdegeo:create-rectangle (position x y z) (position x y z) “material” “regionname”)
这⾥的两个点的取值的话,⼀定要是⼀个矩形的对⾓线。