Synopsys Sentaurus TCAD系列教程之--Svisual(SmallMOS_2D3D) 解析
创始人
2025-05-31 03:11:16

Svisual(SmallMOS_2D3D) 解析

#setdep @node|sdevice@
load_library extractset N @node|sdevice@
set COLORS [list green blue red orange magenta violet brown]
set color  [lindex $COLORS [expr @node@%[llength $COLORS] ]]load_file IdVg_n@node|sdevice@_des.plt -name PLT($N)if {[llength [list_plots Plot_IdVg]]==0} {create_plot -ld -name Plot_IdVg}
select_plots Plot_IdVg
set_plot_prop -hide_title -show_legend
create_curve -name IdVg($N) -dataset PLT($N) -axisX "gate InnerVoltage" -axisY "drain TotalCurrent"set_curve_prop IdVg($N) -label "IdVg(@node|sdevice@)" -color $color -line_style solid -line_width 3
set_axis_prop -axis x -title {Gate Voltage [V]} -titl_font_size 24 -scale_font_size 22 -type linear
set_axis_prop -axis y -title {Drain Current [A/mm]} -titl_font_size 24 -scale_font_size 22 -type linearset_legend_prop -font_size 16 -font_att bold# -Extractionload_library extractset Vgs [get_variable_data "gate OuterVoltage" -dataset PLT($N)]
set Ids [get_variable_data "drain TotalCurrent" -dataset PLT($N)]
ext::ExtractVtgm out=Vtgm name=Vtgm v=$Vgs i=$Ids
ext::ExtractExtremum out=Idmax name=Idmax x=$Vgs y=$Ids type=max
ext::ExtractSS out=SS name=SS v=$Vgs i=$Ids vo= 0.01
ext::ExtractGm out=gm name=gm v=$Vgs i=$Ids

Syntax Conventions(语法规则)

Sentaurus Visual脚本命令基于工具命令语言(Tcl)构建,因此提供了一种强大而灵活的自动化任务的方法。

  • 使用警号"#"注释。注释以后的那句命令会在jedit中变为棕色。但同时要注意,“#”连接关键词在jedit中变蓝的也不代表注释,如#set,需要注释也要在其前面加两个或以上的警号“#”.
  • 尖括号(Angle brackets) -<>- 表示必须替换的文本,但它们不是语法的一部分
  • 大括号(Braces) -{}- 用于值列表,它们必须在语法中
  • 括号(Brackets) -[]- 表示参数是可选的,但它们不是语法的部分
  • 小括号(Parentheses) -()- 仅用于对参数进行分组,以提高命令的易读性,但它们不是语法的一部分
  • 竖线(vertical bar) -|- 表示选项,只能指定其中一个选项

load_library extract

Sentaurus Visual启动时自动加载提取库。但是,如果已禁用扩展库的自动加载,则可以使用以下命令显示地加载提取库:

load_library extract

set COLORS [list green blue red orange magenta violet brown]

Tcl的一种非常基本的类型是列表。列表由空格分割的元素组成。列表的第一个元素与索引0相关联。

set color [lindex $COLORS [expr @node@%[llength $COLORS] ]]

llength 函数: 查找列表中元素的数量
lindex函数:引用列表中的一个或多个元素

load_file

加载指定的文件,并返回与该文件关联的数据集名称的字符串。
语法

load_file  -name  [-geoms ]

-name :指定自定义数据集名称

对象名称:-name参数

对于使用 -name 参数的Tcl命令,如果检测到名称冲突,Sentaurus Visual将打印错误消息并停止执行命令。如果没有在命令中指定name 参数,Sentaurus Visual 将生成一个在脚本中保持一致的内部名称。如果生成的名称与稍后在脚本中为相同类型的元素(如曲线或切线)定义的名称冲突,Sentaurus Visual 将打印错误信息并停止执行命令。

create_plot -name newPlot -dataset 3D
#-> newPlot

list_plots

根据给定模式(pattern)返回plot名称列表。如果未指定模式,则返回所有plot.

  list_plots  -dim 3#-> 3D

create_plot -ld -name Plot_IdVg

创建空xy绘图,或从2D或3D数据集创建绘图。
-1d : 1d 创建空xy绘图

select_plots

选择绘图.

set_plot_prop

设置绘图属性

  • -hide_title: 隐藏绘图标题
  • -show_legend:隐藏绘图图例

create_curve

为xy绘图创建一条新曲线。如果未指定-plot,则该命令将在选定(selected)的绘图上绘制曲线。如果没有创建xy绘图,或者所选绘图不是xy绘图,则该命令将返回错误。

create_curve -name IdVg($N) -dataset PLT($N) -axisX "gate InnerVoltage" -axisY "drain TotalCurrent"-name  :新曲线的名称。如果未指定,该命令将指定默认曲线-dataset {}: 提取信息的数据集名称列表-axisX  : 指定用于x轴的变量-axisY  : 指定用于y轴的变量

set_curve_prop

设置曲线特性。该命令仅适用于xy图。

set_curve_prop IdVg($N) -label "IdVg(@node|sdevie@)" -color $color -line_style solid -line_width 3- {} : 要在其上应用指定属性的曲线列表- label  :为曲线设置标签- color <#rrggbb> : 设置曲线的颜色- line_style :设置曲线的样式- line_width  :设置曲线的宽度

set_axis_prop

设置轴属性。如果未指定-axis,则为所有轴设置属性,这个命令仅用于xy和2D绘图

set_axis_prop -axis x -title {Gate Voltage [V]} -titl_font_size 24 -scale_font_size 22 -type linear- axis x: 轴应用设置。如果未指定,该命令将这些设置应用于所有轴- title  : 设置轴标签- title_font_size  : 设置轴标签字体大小(xy图形)- type linear:设置轴刻度(仅适用于xy绘图)

set_legend_prop

设置图例属性

set_legend_prop -font_size 16 -font_att bold-font_size : 使用整数设置标签字体大小-font_att :设置标签字体属性 

get_variable_data

返回变量值列表,此命令只适用于xy图
get_variable_data -dataset

get_variable_data "gate OuterVoltage" -dataset PLT($N)-: 变量的名称-: 数据集的名称

ext::ExtractVtgm

使用最大跨导法从Id-Vgs曲线中提取阈值电压。阈值电压定义为最大跨导点gm处切线的栅电压轴截距。用抛物线插值法计算出现最大跨导的栅极偏置。曲线由两个Tcl列表表示:一个包含电压点,另一个包含相应的电流值。

ext::ExtractVtgm out=Vtgm name=Vtgm v=Vgsi=Vgs i=Vgsi=Ids
-out : 存储阈值电压变量名的变量名称
-name : 要显示在SWB family tree中的提取变量的名称
-v : 包含栅极电压值的列表(实数列表,无默认)
-i : 包含漏极电流值的列表(实数列表,无默认)

ext::ExtractExtremum

提取曲线的最大值或最小值。该曲线由两个Tcl列表表示: 一个包含x值,一个包含相应的y值。

ext::ExtractExtremum out=Idmax name=Idmax x=Vgsy=Vgs y=Vgsy=Ids type=max
-out : 变量名,用于存储曲线的最大值或最小值
-name : 要显示在SWB family tree中提取变量的名称
-x :包含x值的列表
-y : 包含y值的列表
-type “max” | “min” : 选择提取曲线的最大值还是最小值。默认值是"max"

ext::ExtractSS

从Ig-Vgs曲线中提取给定栅极电压Vgo的亚阈值电压摆动。
ext::ExtractSS out=SS name=SS v=Vgsi=Vgs i=Vgsi=Ids vo= 0.01
-out : 用于存储亚阈值电压摆动值的变量名称
-name : 要显示在SWB family tree中提取变量的名称
-v :包含栅极电压值的列表
-i : 包含漏极电流绝对值的列表
-vo <《》r> : 提取斜率时的栅极电压。它应该是一个远低于阈值电压的值。

ext::ExtractGm

从Id-Vgs曲线中提取最大跨导。跨导gm定义为:

gm=dId/dVg
使用抛物线插值法来计算出现最大跨导的栅极偏置。曲线由两个Tcl列表表示:一个包含电压点,另一个包含相应的电流值。
ext::ExtractGm out=gm name=gm v=Vgsi=Vgs i=Vgsi=Ids
-out : 用于存储跨导值的变量名称
-name : 要显示在SWB family tree中提取变量的名称
-v :包含栅极值的列表
-i : 包含漏极电流值的列表

相关内容

热门资讯

惠州旅游攻略5天自由行攻略 惠州,这座位于广东东南部的城市,有着迷人的自然风光和深厚的历史文化底蕴。它的碧海蓝天、古村庙宇都散发...
原创 只... 黄河,从青藏高原海拔4830米的黄河源出发蜿蜒辗转东流5464公里,携带大量泥沙,在山东东营奔腾入海...
靠谱文旅改造机构推荐,就选博涛... 在文旅行业蓬勃发展的当下,如何选择一家靠谱的文旅改造机构,实现传统文旅载体的华丽转身,成了众多投资人...
SUV也能当房车?贵阳林山行改... 贵阳改装新趋势:SUV变身房车 你是否想过,把自家的SUV变成一辆房车,来一场说走就走的旅行?在贵...
神农架旅游3-4天攻略最佳线路 神农架,这片神秘又充满魅力的土地,拥有着独特的自然景观和丰富的生态资源。花3 - 4天的时间,能让游...