Sentaurus SDE代码
1、开头
(sde:clear)
(sde:set-process-up-direction "+z")
(sdegeo:set-default-boolean "ABA")
第一句清除。
第二句摆正坐标系。
第三句是后建模型覆盖前面,不是合并。这一句还可以写在建模的时候。
;output
(sde:build-mesh "n@node@_msh")
%使用这个可以写一句看一句,以及时发现错误
2、定义
;--------------------------------------------------------
; Definitions
;--------------------------------------------------------
(define L.gate 1.5)
(define L.drain 3)
(define L.source 3)
(define 名字 值)
3、参数
;--------------------------------------------
; Derived parameters
;--------------------------------------------
; Horizontal coordinates
(define X1 (+ L.source L.sg))
(define X2 (+ X1 L.gate))
(define X3 (+ X2 L.gd))
(define L.total (+ X3 L.drain))
; Vertical coordinates
(define Y1 (+ T.gate T5))
(define Y2 (+ Y1 T4))
(define Y3 (+ Y2 T2DEG))
(define 参数名 (运算符 运算因子1 运算因子2))
eg:
(define X (+ 1 2))就是X=1+2
(define X (+ 1 2 3 4))就是X=1+2+3+4
(define X (- 1 2))就是X=1-2
(define X (* 1 2))就是X=1*2
(define X (/ 1 2))就是X=1/2
因为很多时候Y方向要分不同的层,所以得一层一层加,方便后面用。
4、画layout
;-------------------------------
; Layer System:
;-------------------------------
;buffer and sub
(sdegeo:create-rectangle
(position 0 Y5 0)
(position L.total Y7 0) "GaAs" "R.GaAsbuffer")
sdegeo:create-rectangle %画矩形指令,两个点(X1 Y1 Z1),(X2 Y2 Z2)确认一个矩形的方法。
(position 0 Y5 0) (position L.total Y7 0) %取两个点
"GaAs" "R.GaAsbuffer" %这个矩形材料是GaAs。矩形命名为R.GaAsbuffer
5、定义器件端口范围
;------------------------------------
; "Build" device
;------------------------------------
;Source
(define SourceMetal
(sdegeo:create-rectangle
(position 0.0 0.0 0)
(position L.source Y6 0) "Metal" "R.SourceMetal"))
定义一个Source(源极)范围。
使用(define 端口名(建一个矩形))的方式。
6、定义Contact
;----------------------------------------------
;Contacts
;-----------------------------------------------
(sdegeo:define-contact-set "gate" 4.0 (color:rgb 1.0 0.0 0.0 ) "##" )
(sdegeo:define-contact-set "drain" 4.0 (color:rgb 0.0 1.0 0.0 ) "##" )
(sdegeo:define-contact-set "source" 4.0 (color:rgb 0.0 0.0 1.0 ) "##" )
(sdegeo:set-current-contact-set "source")
(sdegeo:set-contact-boundary-edges SourceMetal)
(sdegeo:delete-region SourceMetal)
(sdegeo:set-current-contact-set "gate")
(sdegeo:set-contact-boundary-edges GateMetal)
(sdegeo:delete-region GateMetal)
(sdegeo:set-current-contact-set "drain")
(sdegeo:set-contact-boundary-edges DrainMetal)
(sdegeo:delete-region DrainMetal)
直接就是一个复制粘贴大动作。
sdegeo:define-contact-set "端口名" %用来设置一个concact
color:rgb 1.0 0.0 0.0 %颜色
其他就复制,改改端口名就行吧。
7、掺杂
两种方法掺杂,可以混合用,注意区分命名。
(1)区域掺杂
(sdedr:define-constant-profile "Const.2DEG"
"ArsenicActiveConcentration" 1e12 )
(sdedr:define-constant-profile-region "Place.2DEG"
"Const.2DEG" "R.2DEG" )
sdedr:define-constant-profile %首先定义一种掺杂类型并命名Const.2DEG
sdedr:define-constant-profile-region %然后定义一个掺杂区域Place.2DEG,再把掺杂类型Const.2DEG赋给区域R.2DEG。
(2)以线Line的方式,用高斯的方法
用这个方法,代码里必须加上mesh一起,才能run成功嗷QwQ
;----------------------------------------------------------------------
; Doping
;----------------------------------------------------------------------
;2DGE n+
(sdedr:define-refinement-window"Line.2DEG " "Line"
(position 0 Y2 0.0)
(position L.total Y2 0.0) )
(sdedr:define-gaussian-profile "Prof.2DEG" "PhosphorusActiveConcentration"
"PeakPos" 0 "PeakVal" 1e12
"ValueAtDepth" 1e15 "Depth" 0.5
"Gauss" "Length" 0.0)
(sdedr:define-analytical-profile-placement"Place.2DEG"
" Prof.2DEG " " Line.2DEG " "Positive" "NoReplace" "Eval")
sdedr:define-refinement-window %先定义一条线并命名Line.2DEG
sdedr:define-gaussian-profile %然后定义一种高斯掺杂Prof.2DEG
sdedr:define-analytical-profile-placement %最后定义一个掺杂区域Place.2DEG,然后嘞把这种掺杂方式Prof.2DEG赋到线Line.2DEG上
(应该是这样的吧QAQ
8、网格
;----------------------------------
;Mesh
;----------------------------------
(sdedr:define-refinement-window "W.Global" "Cuboid"
(position -100 -100 0) (position 100 100 0))
(sdedr:define-refinement-size "R.Global" 3 1 0 0.0001 0.0001 0)
(sdedr:define-refinement-function
"R. Global" "Dopin Concentration"
"MaxTransDiff" 1)
(sdedr:define-refinement-function "R.Global" "MaxLenInt"
"R.SpacerB" "R.2EDG" 0.0001 1.5 "DoubleSide""UseRegionNames");
(sdedr:define-refinement-function "R.Global" "MaxLenInt"
"GaAs" "InGaAs" 0.001 1.5 "DoubleSide" )
(sdedr:define-refinement-placement "P.Global" "R.Global" "W.Global")
第一句创建网格范围W覆盖整个器件。
第二句定义网格尺寸命名为R。细嗦"R.Global"后面的六个数字:
3 %x方向最大网格尺寸% 1 %y方向最大网格尺寸% 0 %z方向最大网格尺寸%
0.0001%x方向最小网格尺寸% 0.0001%y方向最小网格尺寸% 0 %z方向最小网格尺寸%
第三句网格函数,复制。
第四句,在Line掺杂区域网格加密。具体意思:在区域"R.SpacerB"和 "R.2EDG"之间加密网格,从0.0001size以1.5倍递增到最大网格尺寸,从Line两边递增,使用区域名来进行限制。
第五句,两种材料不同,边界处网格加密。
第六句,完成网格,复制。