Sentaurus学习笔记1

该文提供了一个SentaurusSDE代码示例,用于半导体器件的建模。内容包括坐标系统的设置、模型覆盖规则、参数定义、布局绘制,特别是器件端口范围的定义、接触点设定以及掺杂和网格细化的过程。代码详细展示了如何进行区域掺杂和线性掺杂,并对网格尺寸和加密进行了详细配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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两边递增,使用区域名来进行限制。

第五句,两种材料不同,边界处网格加密。

第六句,完成网格,复制。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值