Virtuoso配置.simrc来保存dspf后仿节点

1. 原理说明

DSPF 文件可以由多种工具生成,可能具有多种不同的格式。使得在 ADE 无法将原理图与提取后的名称进行映射。

在后仿后,使用Direct Plot从原理图中选择端口或信号无法生效,或者原理图创建的表达式在后仿dspf中不再可用,无法保存显示对应节点。这是电路原理图与 DSPF 文件之间缺乏映射所导致的。

常见的一些例子包括:

可以使用 .simrc 文件和一些设置手动将 DSPF 语法映射到原理图中。这些设置会在网表生成时被应用。内部的映射机制使得可以探测原理图中的网络和端口,无论是原理图还是 DSPF 文件,都可以使用相同的表达式。

2. .simrc配置文件内容

.simrc文件保存到cds.lib同级目录下,Virtuoso会优先使用这个配置文件

该配置文件位于服务器路径/simulation/guest22_share/.simrc

; ensure that the netlist is recreated each time

nlReNetlistAll=t

dspfFileEnvOptions='(
  (nil
    spfFileNameMappingFormat "cdl"
    spfFileTermDelimiter "#"
    spfFileHierDelimiter "/"
    spfFileFingerDelimiter "@"
    spfDevicePrefixForMimcap "C"
    spfFileNetMapping "lower"
    spfFileTerminalMapping "lower"
    spfFileAddPrefixToDevice t
    spfFileAddContextSensitivePrefix "no"
    spfFileDeviceDefaultPrefix "X"
    spfFileDevicePrefixForTermCurrent "X"
    spfFileDevicePrefixForMacroModels ""
    spfFileDevicePrefixForOppints nil
  )
)

3. 保存节点电压

3.1 使用To be saved/plotted保存

本方法仅适用于ADE Explorer and Assembler

Options->Plotting/Printing 中,将Probing修改为VoltageCurrent,然后To be saved/plotted选择对应的需要保存的节点,就能成功保存对应的节点电压(电流与电压在使用dspf后仿时都会保存节点电压)。

4. 网表与仿真结果

可以在生成的网表中,可以找到追加的save语句,确定是否有误。

仿真结果

5. 其他配置项与说明

变量名 描述
spfFileNameMappingFormat 网表文件格式。有效值:"cdl"、"spectre"若给出其他值,系统会将其重置为"cdl"。默认值:"cdl"
spfFileTermDelimiter 保存端口电流时使用的分隔符,需要设置成":"或 "#"。默认值:" "
spfFileAddPrefixToDevice 是否将由其他spf变量定义的前缀(例如spfFileDeviceDefaultPrefix、spfFileDevicePrefixForTermCurrent和spfFileDevicePrefixForOppoints)添加到器件名称中。默认值:"t"
spfFileAddContextSensitivePrefix 指定需要在DSPF块级别以下的器件名称中添加多少个前缀。不影响DSPF块的名称。设置为"yes"时,器件名称会获得由namePrefix字段或spfFileDeviceDefaultPrefix变量指定的前缀。设置为"no"时,器件名称会根据.simrc文件或CDF属性中指定的前缀进行修改
spfDevicePrefixForMimcap mimcap器件前缀。默认值:"C"
spfFileHierDelimiter 层次分隔符。此变量应设置为DSPF头部部分中的DIVIDER设置。默认值:"."
spfFileTerminalMapping 映射端口名称时使用的字符大小写有效值:"mixed"(M0@Term1)、"lower"(M0@term1)、"upper"(M0@TERM1)、"spectre"(M0@1)。默认值:"lower"
spfFileFingerDelimiter 多指器件分隔符,设置为DSPF文件中使用的分隔符。默认值:"@"
spfFileDevicePrefixForMacroModels 在部分PDK中,MOS晶体管作为模型实现,在LVS和提取过程中会加上前缀。默认值:"X"
spfFileDeviceDefaultPrefix 指定当在CDF的namePrefix字段中没有指定前缀使用的默认器件前缀。默认值:nil
spfFileNetMapping 指定映射端口名称时使用的字符大小写有效值:"mixed"(使用大写或小写混合)、"lower"(小写)、"upper"(大写)
spfFileDevicePrefixToOverrideCDF 覆盖CDF中simInfo部分的namePrefix字段中指定的值。默认值:"X"
spfFileDevicePrefixForTermCurrent 用于标识器件在映射端口电流时使用的前缀。仅适用于MOS器件。默认值:"X"
spfFileDevicePrefixForOppoints 用于标识顶层器件在操作点映射时使用的前缀。默认值:nil
spfFilePrefixForBoxedDevice BoxedDevice的前缀,即DSPF内嵌的DSPF器件。默认值:"X"
spfFileBoxedDeviceList BoxedDevice的名称列表,这些BoxedDevice会使用spfFilePrefixForBoxedDevice变量指定的前缀。默认值:nil