Synopsys Sentaurus TCAD系列教程之--BJT(sde) 解析

news/2024/4/27 0:18:42/文章来源:https://blog.csdn.net/weixin_42104289/article/details/128940101

BJT(sde) 解析

; Emulation Domain
(define Xmax 2.2) ; Width
(define Ymax 1.2) ; Depth
(sdepe:define-pe-domain (list 0.0 0.0 Xmax Ymax));Substrate definition
(define Nasub 1e16)	; Boron concentration
(define Zsub 2.0)		; Initial Substrate Height
(sdepe:add-substrate "material" "Silicon" "thickness" Zsub "region" "Substrate")
(sdepe:doping-constant-placement "DopSub" "BoronActiveConcentration" Nasub "Substrate"); Subcollector implant mask
(define Xb1 0.2)		;Beginning of base window
(define Xb2 1.2)		;End of base window
(define Xc1 1.5)		;Beginning of collector contact window
(define Xc2 2.0)		;end of collector contact window
(define Yc 0.8)			;Depth of contact
(sdepe:generate-mask "SUBC" (list (list Xb1 0.0 Xc2 Yc)))
(define Tre 0.5)
(sdepe:pattern "mask" "SUBC" "polarity" "dark" "type" "aniso" "material" "Resist" "thickness" Tre);Subcollector implant
(define LatDiff 0.02)
(sdedr:define-gaussian-profile "SubCol" "PhosphorusActiveConcentration" "PeakPos" 0.0 "PealVal" 5e+19 "ValueAtDepth" Nasub "Depth" 0.5 "Gauss" "Length" LatDiff)
(sdepe: implant "SubCol")
(sdepe:remove "material" "Resist); Deposit Silicon epi layer
(define Tepi 0.3)
(define Ndepi 5e16)
(define SiEpi (sdepe:depo "material" "Silicon" "thickness" Tepi "type" "iso"))
(sde:add-material SiEpi "Silicon" "SiEpi")
(sdepe:doping-constant-placement "DopEpi" "ArsenicActiveConcentration" Ndepi "SiEpi"); Isolation mask
(sdepe:generate-mask "ISO" ;Protection mask
(list (list xb1 0.0 xb2 Yc)(list xc1 0.0 xc2 Yc))) (sdepe:pattern "mask" "ISO" "polarity" "light" "type” "aniso" "material" "Resist" "thickness" Tre)(sdepe:etch-material "material" "Silicon" "depth" Tepi)  ;Trench etching
(sdepe:remove "material" "Resist");Fill trench
(define Ztop (sde-int:compute-zmax)
(sdepe:fill-device "material" "Oxide" "height" (+ Ztop 0.1)); CMP polish
(sdepe:polish-device "thickness" 0.1);Deposit screening oxide
(define Tscreen 0.03)
(sdepo:depo "material" "Oxide" "thickness" Tscreen); Collector contact implant mask
(sdepe:generate-mask "COL" (list (list Xc1 0.0 Xc2 Yc)))
(sdepe:pattern "mask" "COL" "polarity" "dark" "type" "aniso" "material" "Resist" "thickness" Tre); Collector contact implant 
(sdedr: define-gaussian-profile "ColCont" "ArsenicActiveConcentration" "PeakPos" 0.0 "PeakVal" 5e+19 "ValueAtDepth" 1e+17 "Depth" 0.5 "Gauss" "Length" LatDiff)
(sdepe:implant "ColCont")
(sdepe:remove "material" "Resist"); Base implant mask
(sdepe:generate-mask "BAS" (list (list Xb1 0.0 Xb2 Yc)))
(sdepe:pattern "mask" "BAS" "polarity" "dark" "type" "aniso" "material" "Resist" "thickness" Tre); Base implant 
(define Tbase 0.2)
(define Nabase 3e18)
(sdedr: define-gaussian-profile "Base" "BoronActiveConcentration" "PeakPos" 0.0 "PeakVal" Nabase "ValueAtDepth" Ndepi "Depth" Tbase "Gauss" "Length" LatDiff)
(sdepe:implant "Base")
(sdepe:remove "material" "Resist"); Emitter implant mask
(define Xe1 0.9)
(define Xe2 1.1)
(define Ye (* 0.7 Yc))
(sdepe:generate-mask "EMIT" (list (list Xe1 0.0 Xe2 Ye)))
(sdepe:pattern "mask" "EMIT" "polarity" "dark" "type" "aniso" "material" "Resist" "thickness" Tre);Emitter implant
(define Temit 0.1)
(sdedr: define-gaussian-profile "Emitter" "PhosphorousActiveConcentration" "PeakPos" 0.0 "PeakVal" 1e+20 "ValueAtDepth" 1.0e18  "Depth" Temit "Gauss" "Length" LatDiff)
(sdepe:implant "Emitter")
(sdepe:remove "material" "Resist"); Emitter and collector contact holes mask
(define reset 0.05)
(sdepe:generate-mask "PCH"(list (list (+ Xe1 reset) 0.0 (- Xe2 reset) (- Ye reset))(list (+Xc1 reset) 0.0 (-Xc2 reset) (- Yc rest))))
(sdepe:pattern "mask" "PCH" "polarity" "dark" "type" "aniso" "material" "Resist" "thickness" Tre);Etching emitter and collector contact holes
(sdepe:etch-material "material" "Oxide" "depth" Tscreen)
(sdepe:remove "material" "Resist"); Deposit PolySi
(define Tpoly 0.1)
(define POLYSI (sdepe:depo "material" "PolySi" "thickness" Tpoly))
(sde:add-material POLYSI "PolySi" "Poly")
(sdepe:doping-constant-placement "DoPoly" "ArsenicActiveConcentration" 1e20 "Poly"); Poly mask
(sdepe:generate-mask "POL" (list (list Xc1 0.0 Xc2 Yc)(list Xe1 0.0 Xe2 Ye)))
(sdepe:pattern "mask" "POL" "polarity" "light" "type" "aniso" "material" "Resist" "thickness" Tre); Etching poly
(sdepe:etch-material "material" "PolySi" "depth" Tpoly)
(sdepe:remove "material" "Resist");Fill
(define Ztop (+ (sde-int:compute-zmax) 0.05))
(sdepe:fill-device "material" "Oxide" "height" Ztop); Metal contact holes mask
(define Xbc1 ( + Xb1 0.1))
(define Xbc2 (+ Xbc1 0.4))
(sdepe:generate-mask "MET1" (list (list Xc1 0.0 Xc2 Yc)(list Xe1 0.0 Xe2 Ye)(list Xbc1 0.0 Xbc2 Ye)))
(sdepe:pattern "mask" "MET1" "polarity" "dark" "type" "aniso" "material" "Resist" "thickness" Tre);Etch metal contact holes
(sdepe:etch-material "material" "Oxide" "depth" (+ Tpoly 0.05))
(sdepe:etch-material "material" "Oxide" "depth" Tscreen)
(sdepe:remove "material" “Resist”);------------------------------------------------------------------
;Fill contact holes
(sdepe:fill-device "material" "Metal");----------------------------------------------------------------
;Contact definitions
(sdegeo:set-contact (find-face-id (position 0.01 0.01 0.0)) "substrate")
(define BCID (find-body-id(position (* 0.5 (+ Xbc1 Xbc2)) (* 0.5 Ye) (- Ztop 0.01))))
(sdegeo:set-contact BCID "base" "remove")(define ECID (find-body-id(position (* 0.5 (+ Xe1 Xe2)) (* 0.5 Ye) (- Ztop 0.01))))
(sdegeo:set-contact ECID "emitter" "remove")(define CCID (find-body-id(position (* 0.5 (+ Xc1 Xc2)) (* 0.5 Yc) (- Ztop 0.01))))
(sdegeo:set-contact CCID "collector" "remove");------------------------------------
;------------------------------------
; Meshing
;-----------------------------------
; Global
(define Ztop (sde-int: compute-zmax))
(sdedr:define-refeval-window "All_RW" "Cuboid"(position 0 0 0) (position Xmax Ymax Ztop))
(sdedr:define-refinement-size "All_RD" (/ Xmax 8.0) (/ Ymax 8.0) (/ Ztop 8.0)(/ Xmax 16.0)(/ Yma 16.0) (/ Ztop 16.0))
(sdedr:define-refinement-function "All_RD" "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "All_PL" "All_RD" "All_RW"); Top region
(sdedr:define-refeval-window "Top_RW" "Cuboid"(position Xb1 0 1.25) (position Xc2 Yc 2.3))
(sdedr:define-refinement-size "Top_RD" (/ Xmax 16.0) (/ Ymax 16.0) (/ Ztop 16.0)(/ Xmax 32.0)(/ Yma 32.0) (/ Ztop 32.0))
(sdedr:define-refinement-function "Top_RD" "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "Top_PL" "Top_RD" "Top_RW"); Base region
(sdedr:define-refeval-window "Base_RW" "Cuboid"(position Xb1 0.0 Zsub) (position Xb2 Yc (+ Zsub Tepi)))
(sdedr:define-refinement-size "Base_RD" (/ (+ Xb2 Xb1) 8.0) (/ Yc 8.0) (/ Tepi 8.0)(/ (+ Xb2 Xb1) 32.0)(/ Yc 32.0) (/ Tepi 32.0))
(sdedr:define-refinement-function "Base_RD" "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "Base_PL" "Base_RD" "Base_RW"); Active region
(sdedr:define-refeval-window "Active_RW" "Cuboid"(position 0.85 0.0 2.15) (position 1.15 0.6 2.3))
(sdedr:define-refinement-size "Active_RD" 0.02 0.08 0.02 0.01 0.04 0.01)
(sdedr:define-refinement-function "Active_RD" "DopingConcentration" "MaxTransDiff" 1)
(sdedr:define-refinement-placement "Active_PL" "Active_RD" "Active_RW"); Poly
(sdedr:define-refinement-size "Poly_RD" 99 99 (/ Tpoly 8.0)66 66 (/ Tpoly 9.0))
(sdedr:define-refinement-material "Poly_PL" "Poly_RD" "PolySi" );------------------------------------------------------------
; Meshing the device
;------------------------------------------------------------
(sde:build-mesh "n@node@")

注释符号

  • 在Sde里,可以使用"#“、“;”用作注释符号。注释的语句变为棕色,但要注意:“#”连接关键字在jedit中变蓝的也不代表注释,如#set、#define、#if、#else等,需要注释需要在其前面加两个或以上的警号。所以在Sde中推荐使用专属注释标识符”;".

sdepe:define-pe-domain

定义工艺仿真的基本区域(base domain)
This Scheme extension为后续Procem操作提供仿真区间(simulation domain).这个参数列表包含了四个实数或实数对列表。
(Procem: Three-dimensional process emulator)

(sdepe: define-pe-domain {{X0 Y0 X1 Y1}|{Polygon}})
  • 如果参数列表包含四个实数,则定义一个矩形,使用由四个数字构成的xy坐标当做仿真区间的两个对角
  • 如果定义了实数对列表,则实数对定义了在xy平面仿真区间的顶点
  • 如果使用多边形定义仿真区间,唯一的限制是这个多边形必须是简单连接的凸多边形
  • 在z=0时,在xy平面定义区间。

sdepe:add-substrate

给器件增加初始衬底层

Syntax: 
(sdepe:add-substrate "material" material "thickness" thickness ["base" base] ["region" region-name])
  • This Scheme extension首先创建了器件的衬底层。调用这个函数之前,必须设置域边界(sdepe:define-pe-domain).
  • 关键字"material"标识生成主体的DATEX材料/材质
  • 关键字"base" 用于为衬底层底部Z坐标指定值。如果未指定"base",则衬底层底部按Z=0放置
  • 关键字"region"为生成的衬底指定明确的区域名称。

sdepe:doping-constant-placement

定义并应用恒定掺杂

Sytax
(sdepe:doping-constant-placement name species concentration region-name)

This Scheme extension定义并将恒定掺杂应用于给定区域。在恒定掺杂的情况下,不需要单独的注入命令,如高斯掺杂分布的情况

sdepe:generate-mask

创建用于工艺流程的mask

Sytax
(sdepe:generate-mask mask-name polygon-list)
  • This Scheme extension 用于Procem中定义mask. 定义的mask用于下一步的图形操作(不会删除使用过的mask)。每个mask定义成多边形列表。当多边形列表转化为mask时,首先每个多边形转换为sheet body. 然后执行包含检查(containment check),部分重叠转换后的sheet bodies被合并(united). 如果一个sheet body完全包含在另一个body内,它将从该片体中减去,并形成内部空隙。这样,就创建多个连接的mask sheet bodies.
  • 单个mask多边形列表不能包含相交变,并且多边形顶点列表必须为每个多边形定义manifold sheet body.(不允许使用cutlines or dangling边). 如果顶点列表未闭合(not closed),转换器将自动闭合。多边形顶点列表中不允许零长度边(即,顶点之间的距离至少应为1.0e-06)。不同的masks可以有相交的多边形边界。如果mask包含矩形多边形,则只需指定此类多边形的两个相对角即可。每个多边形都定义为xy坐标列表。
  • 参数"mask-name":由Scheme extension 创建的mask名称。生成的mask是一个2D sheet body. mask name属性将附加到mask body。如果已存在指定名称的mask,后续的操作将使用新创建的mask。参数多边形列表指定了生成mask的顶点。

sdepe:pattern

执行图形步骤

Sytax
sdepe:pattern "mask" mask-name "polarity" polarity ["type" depo-type] "material" material ["algorithm" depo-alg] "thickness" thickness ["step" nsteps] ["region" region] [PT keywords and values])
  • This Scheme extension生成图案层
  • “mask"关键字标识用于图案操作的mask
  • "polarity"关键字定义mask极性。
    由于图案层操作类似于沉积步骤,有关所用算法和类型的详细说明,请参见sdepe:depo

sdedr:define-gaussian-profile

在网格命令文件中创建高斯函数掺杂配置文件的设定

sdepe:implant

使用分析函数创建掺杂分布,模拟包括扩散在内的注入步骤

sdepe:remove

删除指定的区域或材质(material)

sde :add-material

将指定的材质和区域属性分配给body.

Syntax
sde:add-material body material-name region-name
  • This Scheme extension 将材质(material)和区域属性指定给body,body由第一个参数定义。
  • “material-name”参数必须是有效的DATEX名称。该名称在datexcodes.txt文件中定义。“material-name”参数被指定为body的材质(material)属性。当细分边界输出时,材质属性将是区域的材质。
  • "region-name"属性定义细分边界输出中的区域名称。

sdepe:add-material

执行蚀刻步骤操作

sde-int:compute-zmax

sdepe:fill-device

使用指定的材料填充器件,直到达到指定的高度

sdegeo:set-contact

给指定的实体分配接触孔(active contact)

Syntax
(sdegeo:set-contact entity | entity-list [contact-name ["remove"]])
eg:
(sdegeo:set-contact (find-face-id (position 0.01 0.01 0.0)) "substrate")
  • 如果未指定可选参数"contact-name",This Scheme extension将active contact附加到指定的实体(specified entity)
  • 如果提供了参数"contact-name", "contact-name"将会被激活(如果不存才,则创建一个contact)。如果实体类型(entity type)为EDGE, 则定义2D contact;如果实体类型为FACE(并且实体属于三维实体),则将指定3D contact;如果实体是2D 实体(body),则将在实体的所有边上定义2D contact;如果实体是3D 实体(body),则将在实体的所有面上定义三维(3D)接触(contact).
  • 可选参数"remove"使用时,将删除指定的实体(specified entitu)或实体列表(entity-list bodies),并且仅为牙印(imprinted)边或面定义contact

sdedr:define-refeval-window

定义可用作参考/评估窗口的几何区域
Sytax
(sdedr:define-refeval-window rfwin-name { single-shape | multi-shape })

  • for single-shape:
    • “Point”: 数据参数是一个位置
    • “Line” “Rectangle” “Cuboid”,数据参数为两个相对的角位置。关键字"矩形"和"长方体"轴对齐
    • “Polygon” 数据参数是位置列表(第一个和最后一个位置必须是相同)

sdedr:define-refinement-size

在网格命令文件中创建细化尺寸定义

Syntax
(sdedr:define-refinement-size definition-name max-x max-y max-z min-z min-y min-z)

sdedr:define-refinement-size

将优化函数添加到指定的优化

sde:build-mesh

生成细分的TDR边界输出和网格命令文件,并调用Sentaurus Mesh

Syntax
(sde:build-mesh [options] file-basename)
  • 打印显示网格化成功或失败的消息。分别返回#t或#f以表明成功或失败。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_72185.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毕业后想从事软件测试,现在需要学习哪些内容呢

在你选择学习之前,要先考虑一下这个是不是你喜欢的发展方向,而不是只听别人推荐就直接做了选择先了解下软件测试是做什么的以及未来发展前景,最后才是如何自学 软件测试就是在测试这个软件是不是能够完全按照需求运行。软件测试岗再简单点说…

Windows启动docker客户端报错:Hardware assisted virtualization and enabled in the BIOS

报错内容 : 🌟1.在控制面板中点击 启用或关闭Windows功能🌟2.勾选如下复选框🌟3.Windows功能中没有Hyper-V复选框怎么办?(如果有请跳过此步骤)此时不同人的电脑还会出现没有Hyper-V选项的情况1.打开 Windows PowerShell,输入 sys…

如何效率搭建企业流程系统?试试低代码平台吧

编者按:本文介绍了一款可私有化部署的低代码平台,可用于搭建团队流程管理体系,并详细介绍了该平台可实现的流程管理功能。关键词:可视化设计,集成能力,流程审批,流程调试天翎是国内最早从事快速开发平台研发…

Hive内部表与外部表的区别具体说明

目录 1.在/opt/atguigu/目录下,新建两个txt文件 2.在hadoop的web端递归创建一个目录,存储这两个文件 3.查看web端的文件 一、内部表: 1.创建一个内部表,并指定内部表的存储位置 2.查看内部表,内部表中没有数据 …

2023.2 新方案 java代码混淆 java加密 字符串加密

Java字节码可以反编译,特别是创业公司,很好的项目很容易被别人破解反编译,造成很严重的损失,所以本混淆方案能很好的保护源码,而且在不断迭代,增强混淆效果,异常问题处理,达到保护项目的目的: 本次升级包括: 2023年02年19日 : ht-confusion-project-1.8…

PK体系下的教育场景—电子白板的应用

PK体系指基于国产飞腾(Phytium)CPU和麒麟(Kylin)操作系统的技术和产业体系,被誉为“中国架构”,目前基于PK体系的相关软硬件已经广泛用于党政、金融、电信等关基行业。教育信创在国家大战略布局下&#xff…

【技术分享】Web自动化之Selenium安装

Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现人为的错误,也比较费时间。因此,将这些任务自动化,就可以消除人为因素。Selenium 可以…

理解QPSK的实质-I右手正旋-Q左手负旋

正在学习5GNR PDCCH,用到QPSK。作一小结。 引言 我认为像我这样一个死民科,非主流非科班的通信人,理解QPSK的意义,甚至不比欧拉公式,或者是傅里叶变换小。 因为QPSK相较于BPSK,是真正第一次体现了调制的…

模拟默认密码自动生成-课后程序(JAVA基础案例教程-黑马程序员编著-第五章-课后作业)

【案例5-2】 模拟默认密码自动生成 【案例介绍】 1.任务描述 本例要求编写一个程序,模拟默认密码的自动生成策略,手动输入用户名,根据用户名自动生成默认密码。在生成密码时,将用户名反转即为默认的密码。 2.运行结果 运行结…

Power BI 数据处理介绍(数据初始调整、合并列及查看数据结构)

本系列的文章: 安装流程和示例介绍: 《Power BI windows下载安装流程)》《Power BI 11个必学官方示例数据案例(附下载链接)》 数据导入阶段介绍: 《Power BI 数据导入(SQL Server、MySQL、网页…

C++(42)-FSM-有限状态机

1.FSM 是什么? 一种用来进行对象行为建模的工具,用于描述对象在生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。2.FSM 组成:状态、事件、动作3.FSM类型: 3.1Moore: 输出:当前状态有关…

mysql -学习总结

mysql 详解1、mysql特点2、事务2.1 事务的四大特性 – ACID2.2 并发事务问题2.3 事务的四大隔离级别2.4 事务隔离级别操作sql2.5 事务原理 – LBCC MVCC2.4.1 行的隐藏列2.4.2 ReadView2.4.3 MVCC在四种隔离级别下的区别2.5 undo log、binlog、redo log2.5.1 Undo log2.5.2 bin…

2023年2月22日PMP®项目管理认证课程正式开课

PMP认证是Project Management Institute在全球范围内推出的针对评价个人项目管理知识能力的资格认证体系。国内众多企业已把PMP认证定为项目经理人必须取得的重要资质。 PMP认证是Project Management Institute在全球范围内推出的针对评价个人项目管理知识能力的资格认证体系。…

安装MQTT Server遇到报错“cannot verify mosquitto.org‘s certificate”,该如何解决?

MQTT是基于发布/订阅的轻量级即时通讯协议,很适合用于低带宽、不稳定的网络中进行远程传感器和控制设备通讯等操作中。在我们的软件研发中,也经常使用MQTT协议进行消息通信等。今天来和大家分享一些关于在安装MQTT Server中遇到的疑难问题及解决思路。当…

文献综述怎么写?有哪些准备工作和内容要求

文献综述的撰写是提高研究生论文写作能力的重要途径,是研究生在撰写学术论文和学位论文中必须要涉及的内容,是不可或缺的,写好一篇好的文献综述是存在诸多困难和挑战的,需要掌握一定的技巧和方法。 一、文献综述的写作目的 文献综…

mysql常用且易混淆函数整理

DATE_FORMAT(date,format) 函数中format的格式如下: 类型转化函数 为了进行数据类型转化,MySQL提供了CAST()函数,它可以把一个值转化为指定的数据类型。类型有:BINARY,CHAR,DATE,TIME,DATETIME,SIGNED,UNSIGNED 示例&a…

Python|每日一练|数组|回溯|栈|树|双指针|单选记录:N 皇后|二叉树的前序遍历|四数之和

1、N 皇后(数组,回溯) n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 …

操作系统真相还原_第6章:完善内核

文章目录6.1 函数调用约定简介6.2 汇编语言和C语言混合编程汇编调用CC调用汇编6.3 实现打印函数流程程序编译并写入硬盘执行6.4 内联汇编简介汇编语言AT&T语法基本内联汇编扩展内联汇编6.1 函数调用约定简介 调用约定: calling conventions 调用函数时的一套约…

「mysql是怎样运行的」第5章 盛放记录的大盒子---InnoDB数据页结构

「mysql是怎样运行的」第五章 盛放记录的大盒子—InnoDB数据页结构 文章目录「mysql是怎样运行的」第五章 盛放记录的大盒子---InnoDB数据页结构[toc]一、不同类型的页介绍二、数据页结构的快速浏览三、记录在页中的存储记录头信息的秘密四、Page Directory(页目录)五、Page He…

在ONLYOFFICE中借助ChatGPT一键创建招聘启事的内容

大家好,相信和多人都在生活中或工作中看到过招聘启示,或多或少都会有些了解。今天教大家在ONLYOFFICE中怎样通过chetGPT创建一份满意的招聘启示,下面是我用chatgpt制作的一份招聘信息,请大家看一下。 ONLYOFFICE ONLYOFFICE文档是…