Appearance
自动化任务
NOTE
原文来源:Sentaurus Visual User Guide, Version W-2024.09, Synopsys, Inc. PDF 源页码:第 5 章,对应 PDF 第 215–219 页(1-based)
运行 Tcl 或 Python 脚本
Sentaurus Visual 支持从命令行或用户界面调用脚本。
从命令行运行脚本
从命令行运行 Tcl 脚本:
bash
svisual /path/to/script.tcl从命令行运行 Python 脚本:
bash
svisual /path/to/script.py从用户界面运行脚本
选择 File > Run Script。
示例:绘制 Id–Vg 曲线
以下脚本 plot_idvg.tcl 的内容演示了典型的批处理脚本用法:
tcl
# 加载 PLT 数据文件。
set mydata [load_file IdVg_n62_des.plt]
# 创建新的空 xy plot。
set myplot [create_plot -1d]
# 使用加载的数据集创建 Id-Vg 曲线,并显示在新的 xy plot 上。
set IdVgcurve [create_curve -plot $myplot -dataset $mydata \
-axisX "gate InnerVoltage" -axisY "drain TotalCurrent"]
# 自定义曲线属性。
set_curve_prop $IdVgcurve -plot $myplot -show_markers \
-markers_size 7 -color red -label "nMOS"
# 显示网格并设置网格属性。
set_plot_prop -show_grid
set_grid_prop -show_minor_lines \
-line1_style dash -line1_color #a0a0a4 \
-line2_style dot -line2_color #c0c0c0
# 设置轴标签和范围。
set_axis_prop -plot $myplot -axis x -title "Vgate \[V\]"
set_axis_prop -plot $myplot -axis y -title "Idrain \[A/um\]" -type log
set_axis_prop -plot $myplot -axis y -range {1e-09 0.0002}
# 将 plot 导出为 PNG 文件。
export_view "curve.png" -plots $myplot -resolution 500x500 \
-format PNG -overwrite脚本的前几条命令打开一个 .plt 文件并创建一个 Id–Vg 曲线。然后,自定义 plot 使其更易于阅读。最后,将 plot 导出为 .png 文件。
NOTE
此脚本必须使用虚拟 X 服务器选项在批处理模式下执行,以允许图形导出。例如:
bash
% svisual -batchx plot_idvg.tcl示例:创建 Cutline 并将 Cutline 数据导出为 CSV 文件以供进一步处理
以下脚本 plot_npn.tcl 的内容:
tcl
# 加载 TDR 文件。
set mydata2D [load_file npn_msh.tdr]
# 创建新的 plot。
set myplot2D [create_plot -dataset $mydata2D]
# 创建在 x=-0.005 处垂直于 x 轴的 1D cutline。
set mydata1D [create_cutline -plot $myplot2D -type x -at -0.005]
export_variables {DopingConcentration xMoleFraction Y} \
-dataset $mydata1D -filename "data.csv" -overwrite前两条命令加载并显示 TDR 文件。接下来的 create_cutline 命令在指定位置创建一条 cutline。最后一条命令将选定变量从 cutline 导出到 CSV 文件。
NOTE
此脚本可以完全在批处理模式下运行,命令如下:
bash
% svisual -batch plot_npn.tcl保存命令历史
在 Sentaurus Visual 中执行的几乎所有操作都会在 Tcl 或 Python Console 中复制。您可以通过点击 Console 中的 Save 按钮将这些操作保存为脚本,以便在另一个会话中执行。
运行 Inspect 命令文件
Sentaurus Visual 可以运行 Inspect 命令文件。
您可以像运行原生 Sentaurus Visual Tcl 脚本一样运行 Inspect 命令文件。
脚本库
Tcl 库
Sentaurus Visual 允许您将 Tcl 脚本文件添加为库,这些库可以在启动时自动加载,也可以使用 Tcl 命令 load_library 手动加载(参见第 333 页的 load_library)。
脚本库的命名格式为 <libraryName>.tcl。
默认库路径为 $STROOT/tcad/$STRELEASE/lib/svisuallib。此外,还有一个用户定义的库路径,默认设置为 ${HOME}/svisuallib,但可以在用户偏好设置中修改。
STROOT 环境变量指示 Synopsys TCAD 发行版的安装位置。
两个路径都可以检查 Tcl 脚本(任何带有 .tcl 扩展名的文件)以在启动时自动加载,这可以在用户偏好设置中开启或关闭。
以下与启动 Sentaurus Visual 相关的选项仅在脚本库的自动加载开启时有效:
-nolibrary禁用从库自动加载脚本。-librarypath <customPath>将自定义路径添加到库路径列表中,以在自动加载开启时查找脚本文件。
限制
脚本库中定义的每个过程必须以前缀 lib_ 开头,以避免可能重新定义任何现有的 Sentaurus Visual 命令。
在从脚本库路径加载一个或多个脚本文件时,如果存在未带有此前缀定义的过程,将显示一条警告消息,列出这些过程。
此外,如果存在重新定义 Sentaurus Visual 命令的过程,将显示第二条警告消息。
Python 模块
Python 模块(脚本)也可以添加到 Sentaurus Visual,既可以在启动时自动加载,也可以使用 Python 内置命令手动加载。
要启用 Python 模块的自动导入,您必须在配置文件中将用户偏好设置 "pythonLibrary\auto" 设置为 true。启用此设置后,${HOME}/svisuallib 中带有 .py 扩展名的每个文件都将在启动时导入。
要手动添加 Python 模块,您可以使用以下 Python 代码片段:
python
import sys
sys.path.append("<path/to/modules>")
import <user_module>