Skip to content

App H(1/6):RF 提取库概述

TIP

原文来源:Sentaurus Visual User Guide (W-2024.09) PDF 第521-582页

本附录提供了射频提取库的使用过程信息。

在晶体管可以由两端口网络建模的假设下,两端口网络射频(RF)提取库的过程用于计算:

  • 射频参数:根据交流分析数据计算射频参数。
  • 噪声参数:根据噪声分析数据计算噪声参数。

射频提取库的功能包括:

  • 射频矩阵转换:将导纳(Y-)矩阵转换为混合(h-)矩阵、散射(S-)矩阵和阻抗(Z-)矩阵。
  • 小信号数据绘图(电导、电容和射频参数):除矩形图外,还支持极坐标图和史密斯圆图。
  • 以下噪声谱密度(NSD)或功率谱密度(PSD)绘图(噪声晶体管的各种表示形式(噪声等效电路)):
    • 阻抗表示的噪声电压谱密度(NVSD)
    • 导纳表示的噪声电流谱密度(NISD)
  • 射频参数提取
    • 计算小信号电流增益、稳定性判据(如 Rollett 稳定因子和稳定性条件 delta)、各种功率增益(如最大可用增益(MAG)、最大稳定增益(MSG)、Mason 单向增益(MUG))和单向品质因数
    • 提取晶体管品质因数,如截止频率、最大振荡频率和稳定性截止频率
  • 噪声参数提取
    • 计算噪声晶体管链表示中等效输入噪声发生器的 PSD
    • 计算晶体管的噪声系数
    • 提取晶体管的各种噪声参数,如最小噪声系数、等效噪声电阻和电导、以及最佳源导纳和源阻抗
  • 复数运算支持(标量和矢量版本)
  • 以逗号分隔值(CSV)文件格式导出数据

射频提取库通过以下命令加载:

tcl
load_library rfx

Python 库

Python 模式请参阅 Sentaurus Visual Python API 文档(帮助 > Python API 参考)。

语法约定

射频提取库使用唯一的命名空间标识符(rfx::)来调用其过程。所有与此库关联的过程和变量在调用时都需在前面加上命名空间标识符。例如:

rfx::<proc_name>

每个过程有多个参数。射频提取库使用一个输入解析器,接受以下形式的参数:

-keyword <value>

NOTE

所有 Sentaurus Visual 库都支持标准 Sentaurus Visual 语法,其中关键字前带有短划线。为保持向后兼容性,所有 Sentaurus Visual 库继续支持 keyword= <value> 语法。对于每个过程调用,您可以使用 -keyword <value> 语法或 keyword= <value> 语法。但是,在任何一个过程调用中,只能使用一种类型的语法。否则,将生成错误消息。仅记录新语法。如果要继续使用 keyword= <value> 语法,也可以在关键字和等号之间插入空格,例如 keyword = <value>。省略等号和值字段之间的空格将导致失败(如果值是解引用的 Tcl 变量)。使用 keyword= $val(不是 keyword=$val)。

解析器接受任意顺序的参数。对于某些参数,已预定义默认值。这些参数可以省略。如果省略了未预定义默认值的参数,过程将退出并显示错误消息。此外,无法识别的参数会导致错误消息。

射频提取库使用传引用(passing-by-reference)方法将结果返回给调用程序,而不是使用标准 Tcl 方法(使用过程的返回值)。过程关键字 -out 用于将结果返回给调用程序:

-out <var_name>, <list_name>, or <array_name>

以下约定用于 Tcl 命令的语法:

  • 尖括号 — <> — 表示必须替换的文本,但它们不是语法的一部分。特别地,使用以下类型标识符:
    • <r>:替换为实数,或解引用后求值为实数的 Tcl 变量。例如:$val
    • <i>:替换为整数,或解引用后求值为整数的 Tcl 变量。例如:$i
    • <string>:替换为字符串,或解引用后求值为字符串的 Tcl 变量。例如:$file
    • <list_of_r>:替换为实数列表,或解引用后求值为实数列表的 Tcl 变量。例如:$values
    • <list_of_strings>:替换为字符串列表,或解引用后求值为字符串列表的 Tcl 变量。例如:$files
    • <var_name>:替换为本地 Tcl 变量的名称。例如:val(不是 $val)。
    • <list_name>:替换为本地 Tcl 列表的名称。例如:values(不是 $values)。
    • <array_name>:替换为本地 Tcl 数组的名称。例如:myarray(不是 $myarray)。
    • <dataName>:替换为数据集的名称。
    • <fileName>:替换为文件名,或解引用后求值为文件名的 Tcl 变量。
    • <plotName>:替换为绘图名称。
  • 方括号 — [] — 表示参数是可选的,但它们不是语法的一部分。
  • 竖线 — | — 表示选项,只能指定其中之一。

过程帮助

请求特定过程的帮助,在 Tcl 模式下,将 -help 关键字设置为 1:

tcl
rfx::<procedure_name> -help 1

如果此命令包含在 Sentaurus Visual 文件中,当 Sentaurus Visual 在以下模式执行时:

  • Sentaurus Workbench 中的批处理模式:帮助信息打印到相应 Sentaurus Visual 节点的运行时输出文件(扩展名为 .out
  • Sentaurus Workbench 中的交互模式:帮助信息显示在 Tcl 控制台中,同时打印在 Sentaurus Visual 运行时输出文件中

您也可以在用户界面的 Tcl 控制台中输入命令,此时帮助信息将显示在控制台中。

过程的输出

如第 522 页的语法约定所述,射频提取库的所有过程通过将结果存储在 Tcl 变量中来将结果传递回调用程序。此 Tcl 变量的名称被指定为 -out 关键字的值。

如果射频提取库过程中存在错误,Sentaurus Visual 的行为取决于它是在 Sentaurus Workbench 的批处理模式还是交互模式下执行。在批处理模式下,Sentaurus Visual 退出,错误消息仅打印在 Sentaurus Visual 错误文件(扩展名为 .err)中。在交互模式下,错误消息显示在 Tcl 控制台中,同时打印在 Sentaurus Visual 运行时错误文件中。

所有过程还会打印几条消息(包括警告消息)。如果 Sentaurus Visual 在批处理模式下执行,消息仅打印在 Sentaurus Visual 输出文件中;而在交互模式下,消息显示在 Tcl 控制台中,同时打印在 Sentaurus Visual 运行时输出文件中。

打印的信息量取决于 lib::SetInfoDef 指定的信息级别。

基于 Sentaurus TCAD 官方文档构建

代码块