SP连SDE/镜像/延伸/旋转操作
说在前面
Sprocess是一款工艺仿真软件,其对于结构的DIY十分有限,如果可以通过SDE对Sprocess生成的2D结构进行一些比如延展的操作,即得到3D结构,那样会大大提升我们的仿真效率。在Sprocess中,为了降低网格太多对仿真速度的影响,对于一些对称的结构,Sprocess通常只仿半个元胞,在最后(Contact之前)加上一句transform reflect left来实现完整的Cell。当然像这样的操作,SDE中一样也有“tdr mirror tdr”这种语句来实现镜像操作。
第一部分Sprocess和SDE的连接
(1)T4连接SDE
(2)例子库内范例:pIGBT_SiC_4H
(3)例子库内范例:CMOS_180nm
想要实现Sprocess和SDE的连接,打开pIGBT_SiC_4H SDE command,我们可以看到前面有一句(sdeio:read-tdr-bnd “n@node|sprocess@_bnd.tdr”),这句话代表的是读取Sprocess工具所产生的器件边界文件,因为我们知道Sprocess最后生成的是fps.tdr文件,所以我们要在Sprocess最后加上一句struct tdr= n@node@ bnd确保Sprocess可以生成bnd.tdr文件。这样就可把Sprocess生成的边界文件给读取到SDE内部。接下来,我们可以在SDE内定义器件的电极,当然定义电极的操作也可以在Sprocess最后完成,这里因为之前都有讲过,不赘述。
图1 CMOS_180nmSWB界面Sprocess与SDE连接图
图2CMOS_180nmSDE延伸Command
第二部分SDE Sweep命令,2D变3D
(1)3D SDE例子
(2)SDE手册里关于sweep:options内容的讲解
(3)例子库内范例:CMOS_180nm
接下来我们利用下面语句,实现器件由2D变3D的操作,即沿着Z方向扩展一段距离。利用命令:(sdegeo:sweep (get-body-list) 2 (sweep:options “solid” #t “rigid” #f “miter_type” “default”)),这句话sweep就是执行sweep命令,get-body-list选择所有图上的点,2就是沿着Z方向扩展2微米,solid实心,t是ture,f是false,rigid对表示扫描结果是否需要和扫描路径平行,在延伸这里,因为是平移的扫描,其实false or true无所谓,但是在旋转扫描那里,就需要选择false了(翻阅手册后我的理解)。miter_type对于边缘的处理选择为默认。接下来就是网格定义的内容了,因为是3D的,所以网格的窗口是Cuboid而不是Rectangle,窗口可以定义大一些,把器件包含在该窗口内。这一部分我采用了下面的网格定义模式,仅供大家参考。最后一部分是保存命令,记得要采用snmesh命令保存msh.tdr结构。
这样的操作就是可以对3D结构进行仿真,如果你想看3D结构内部的耗尽线、浓度,这样的结构就直接可以去Sdevice进行仿真了,但是因为变为3D,网格增多,势必会拉低仿真速度,所以不需要看3D结构的同学还是直接用2D,在Sdevice中通过Areafactor这种数学扩展的方法进行仿真。
图3二维结构NMOS图
图4Sweep命令延伸后NMOS 3D结构图
第三部分SDE mtt镜像操作
(1)SDE例子内mtt命令
(2)SDE手册里关于mtt内容的讲解
(3)例子库内范例:TrenchGateNMOS_2d
SDE中镜像操作使用如下命令:(system:command “tdx -mtt -x -ren drain=source n@node@_half_msh n@node@_msh”)。其中mtt表示mirror tdr tdr,-x表示沿着x轴最小值对称,大写表示按最大值对称,对Y轴同理。-ren表示rename,即对镜像后的电极命名。因为是最后把网格这些一起镜像,所以镜像命令一般放到最后,如图7。
这里我从例子库找了TrenchGateNMOS_2d这个例子,对称前后的tdr如图5和图8。
图5Trench_NMOS二维结构图
图6Trench_NMOSSWB界面Sprocess与SDE连接图
图7Trench_NMOSSDE镜像Command
图8Trench_NMOS镜像后结构图
此外从图9就可以看出,对于SDE重新定义后的网格分布(左)把Sprocess产生的网格分布(右)完全覆盖了,这样在修改网格,解决收敛性的时候,我们可以不进入运行较慢的Sprocess里更改,直接在SDE更改方便很多。
图9SDE重新定义后的网格分布对比图
第四部分SDE旋转操作,2D变3D
(1)Sdevice旋转仿真
(2)SDE手册里关于sweep:options内容的讲解
(3)例子库内范例:TrenchGateNMOS_2d
SDE中旋转操作使用如下命令:
(sdegeo:sweep (get-body-list) (position 0 0 0) (gvector 1 0 0 )
(sweep:options “solid” #t “sweep_angle” 180 “rigid” #f “miter_type” “default”))
这句话sweep就是执行sweep命令,get-body-list选择所有图上的点,(position 0 0 0)代表器件左边界一点(旋转轴所在的点),(gvector 1 0 0 )代表旋转方向,因为Sprocess跑出的图形纵向是X轴,沿着纵向,所以旋转轴是向量<1 0 0>方向,这样得到的是沿着器件左边界旋转的图形。solid实心,t是ture,f是false,”sweep_angle” 180表示旋转180度,miter_type对于边缘的处理选择为默认。
图10Trench_NMOSSDE旋转Command
图11Trench_NMOS旋转360°结构图
图12Trench_NMOS旋转180°结构图
结束语
END
——//////////——
技术支持:zgc
为每一位爱好半导体器件的学生带来有价值的阅读