SiCoSILICON COPILOT 使用手册 / 2026.09

CAD FLOW / MULTI TECHNOLOGY SIMULATION

MTS · 多工艺网表生成

从指定项目的 schematic 生成 Spectre 或 hspiceD 网表,整理模型与工艺参数作用域,并按需发布到当前工程的目标库。

先配置项目来源

Bash · MTS 启动环境
export MTS_NETLISTOR_MODULEFILES="/path/to/project/modulefiles"
export PROJ_ADE_DB_DIR="/path/to/my/project/simulation"
# modulecmd 不在标准路径时再设置。
# export MTS_NETLISTOR_MODULECMD="/path/to/modules/bin/modulecmd"
command -v modulecmd ocean dbAccess cdsTextTo5x cdsLibDebug
mts-netlistor gui

项目 modulefiles 目录必须显式提供。mts-netlistor gui --module-root DIR 可覆盖环境设置;两者均未提供、为空或目录不存在时,GUI 提示后结束启动。宿主 MODULEPATH 不作为项目列表,仅供所选 module 的依赖解析。

PROJ_ADE_DB_DIR 当前仍有效,必须是可写绝对路径,用于 MTS 结果保存。它不属于已经去掉 PROJ_ 前缀的 DRC / LVS / RCE 变量。

项目 modulefile 应提供什么

每个源项目 module 必须自行定义 PROJ_USER_HOME,该目录下的 cds.lib 是源项目默认库定义。还需加载该项目适用的 Cadence、PDK、许可证和模型环境。MTS 在独立环境中加载所选 module,不修改宿主 Virtuoso 的项目环境。

Tcl modulefile · 最小结构示意
#%Module1.0
# 将路径换为这个源项目的个人工作目录。
setenv PROJ_USER_HOME /path/to/source/project/user
# 在这里加载本站点批准的 Cadence、PDK 与许可证模块。
# PROJ_USER_HOME/cds.lib 必须已存在并能正确解析源库。

这段只说明必要目录字段,完整站点工具配置由 CAD 提供。仅创建空 modulefile 不足以完成源项目准备。

在 GUI 中配置与生成

  1. 在当前目标工程的 Virtuoso 选择 SiCo → MTS Netlistor…,或使用独立命令启动。每个 Process 页面选择一个源项目。
  2. 等待源库列表加载,选择 library / cell / schematic view。需要读取新增 cell 时点击 Refresh。
  3. 选择 spectre 或 hspiceD。查看从源工艺读取的模型和默认项,核对 model file、section、启用状态及顺序。
  4. 按方言支持调整温度、scale、gmin 和 simulator options;Spectre 还可配置 tnom、scalem、reltol。当前 hspiceD 不接受后三项。保留单位和数据类型,不凭文件名猜模型 corner。
  5. 点击 Run Current 运行当前设置,或 Run All 顺序处理已配置项目。检查日志与结果后,通过 Open Result 查看输出。
  6. 用 Save Config… 保存整个工作台配置,之后用 Load Config… 恢复。

每个 Process 页复用自己的后台 OCEAN,切换 cell 通常无需重启源进程。更换项目、配置变化或任务失败可能重新创建该进程。首次加载 PDK 会比后续切换慢,留意日志中的初始化进度。

配置目标发布

生成结果检查完成后,可设置目标 library / cell,选择生成 symbol view、netlist view,再使用 Publish Views。目标库需在目标工程的 cds.lib 中可解析且可写。独立 GUI 若没有目标 session,需要先提供正确的目标会话信息;从 Virtuoso 菜单启动会带入当前目标工程。

source 与 target 使用独立的 Cadence 环境。不要把源项目 cds.lib 加载到当前目标 Virtuoso 来“切换工艺”;在 MTS 的 Process 页面选择源项目即可。默认拒绝覆盖已有目标,确实需要更新时明确选择相应 symbol / netlist view 覆盖选项。

命令行 request 示例

CLI 的 request 文件与 GUI 保存的 workspace 配置格式不同。下面示例只生成一个源 cell 的 Spectre 网表;填写实际源库、模型和路径后先校验。

TOML · mts-request.toml
format = "sico-mts-netlistor-request"
schema_version = 1

[source]
cds_lib = "/path/to/source/project/cds.lib"
library = "source_design"
cell = "amplifier"
view = "schematic"

[simulator]
dialect = "spectre"

[[models]]
enabled = true
file = "/path/to/pdk/models/process.scs"
section = "tt"

[process_options]
temp = 25.0
Shell · 在已加载源项目工具环境的 shell 执行
mts-netlistor validate mts-request.toml --json
mts-netlistor generate mts-request.toml --json
mts-netlistor inspect /path/to/completed/run --json

结果保存到 $PROJ_ADE_DB_DIR/<lib>.<cell>.<view>/.mts-netlistor/runs/<运行标识>/,包括源网表、作用域处理结果、日志与发布记录。普通 Spectre 输出后缀为 .spe,hspiceD 为 .sp;Spectre corner library 模式生成 _corners.scs。

常见问题

现象检查
没有项目候选MTS_NETLISTOR_MODULEFILES 是否存在且包含可用 modulefile;不要仅设置 MODULEPATH。
项目加载失败modulecmd 是否可执行;module 是否自己定义 PROJ_USER_HOME;该目录的 cds.lib 是否可访问。
生成时提示输出根无效PROJ_ADE_DB_DIR 是否为绝对路径且可写。
新 cell 没显示点击 Refresh 强制重新读取源库;成功的源目录快照在 GUI 内缓存约 300 秒。
模型或默认设置不对核对所选源项目、方言及模型 section;需要的 startup_file / simrc 必须显式提供。