Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Innovus TCL EnhanceNew to Visual Studio Code? Get it now.
Innovus TCL Enhance

Innovus TCL Enhance

fd-echoro

|
8 installs
| (0) | Free
TCL 语言支持,集成 Cadence Innovus EDA 工具命令的智能提示、悬停文档、跨文件编译分析、静态检查与 Copilot AI 集成
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Innovus TCL Helper

Cadence Innovus EDA 工具的 TCL 脚本辅助插件。为 .tcl 文件提供命令智能提示、悬停文档、跨文件编译分析和静态语法检查。

功能概览

功能 触发方式 说明
🔍 悬停文档 鼠标悬浮在命令名/变量名上 显示中文命令摘要、语法、参数表格;变量值及定义位置
✏️ 自动补全 输入命令名或 - 时 提示 Innovus 命令名及对应参数
⚠️ 静态检查 保存文件时 括号/引号匹配、命令必需参数校验
🔗 跨文件编译 自动(基于 .f 文件) 追踪变量定义与引用,跨文件显示变量值
📊 Lint 报告 Cmd+Shift+P → 显示 Lint 报告 导出 Markdown/JSON 格式的完整编译分析

快速开始 — 跨文件编译分析

  1. 在工作区根目录创建 tcl.f 文件,每行写一个 .tcl 文件相对路径:
# tcl.f — TCL 脚本编译列表
0_cmd.tcl
1_init.tcl
2_floorplan.tcl
3_powerplan.tcl
  1. 打开任意 .tcl 文件,插件自动按顺序编译所有脚本
  2. 鼠标悬浮在 $varName 上查看变量值和定义位置
  3. Cmd+Shift+P → Innovus TCL: 📊 显示 Lint 报告 查看完整分析

安装

从 VSIX 安装

code --install-extension publish/innovus-tcl-helper-0.1.0.vsix

或在 VS Code 中: Cmd+Shift+P → Extensions: Install from VSIX...

开发模式

git clone https://github.com/echo-edai/innovus-tcl-helper.git
cd innovus-tcl-helper
npm install
# 按 F5 启动扩展开发主机

发布

生成 VSIX(本地/离线分发)

npm run package
# → publish/innovus-tcl-helper-x.x.x.vsix

发布到 VS Code 商店

首次设置:

# 1. 获取 Personal Access Token
#    https://dev.azure.com → User Settings → Personal Access Tokens
#    权限: Marketplace > Acquire & Manage

# 2. 创建 publisher(仅一次)
npx vsce create-publisher fd-echoro

# 3. 登录
npx vsce login fd-echoro
# 粘贴上面获取的 PAT

每次发布:

# 1. 更新版本号 package.json "version": "x.y.z"
# 2. 运行
npm run publish
# 或 VS Code 内: Terminal → Run Task → 🚀 publish

配置

打开 VS Code 设置(Cmd+,),搜索 innovus-tcl:

配置项 类型 默认值 说明
innovus-tcl.dataPath string "" 命令 JSON 数据目录,留空则自动定位
innovus-tcl.enableHover boolean true 启用悬停提示
innovus-tcl.enableCompletion boolean true 启用自动补全
innovus-tcl.enableDiagnostics boolean true 启用单文件语法静态检查
innovus-tcl.enableCompilation boolean true 启用跨文件 TCL 编译分析
innovus-tcl.fFile string "tcl.f" .f 编译文件列表路径(相对工作区根目录)
innovus-tcl.diagnosticLevel string "standard" 检查严格度: basic/standard/strict

跨文件编译分析

在项目根目录创建 tcl.f 文件(或通过设置 innovus-tcl.fFile 自定义文件名), 每行一个 .tcl 文件相对路径,按从上到下的顺序编译:

# tcl.f — 示例
0_setenv.tcl
1_init.tcl
2_floorplan.tcl
3_powerplan.tcl

编译后:

  • 鼠标悬停在 $varName 上显示变量值和定义位置
  • 未定义变量会标记为错误
  • Cmd+Shift+P → Innovus TCL: 📊 显示 Lint 报告 查看完整分析

自定义数据路径

默认情况下,插件从 data_base/help/deepseek-chat/ 加载命令数据。 如果你的项目目录结构与默认不同,可在设置中指定:

{
  "innovus-tcl.dataPath": "/path/to/your/data_base/help/deepseek-chat/"
}

使用演示

在 .tcl 文件中输入 Innovus 命令:

# 悬停 addInst 查看中文文档
addInst -cell AND2X1 -inst my_and1 -loc {100 200} -ori R0

# 输入时自动补全命令名和参数
checkDesign -all

# 报告时序,输入 - 时自动提示参数
report_timing -delay_type max -nworst 10

# 语法错误会被标记(多余括号等)
setPlaceMode -congEffort high]]

# 缺少必需参数会有警告
routeDesign

命令

Cmd+Shift+P 打开命令面板:

  • Innovus TCL: 重新加载命令数据库 — 当外部 JSON 数据更新后重新加载
  • Innovus TCL: 显示插件信息 — 查看插件版本和加载状态

支持的命令数量

当前版本集成了 2175 个 Innovus 命令的中文文档,涵盖:

  • 设计初始化 (init_design, init_lef_file, ...)
  • 布局规划 (floorPlan, place_design, ...)
  • 时钟树 (ccopt_design, create_ccopt_clock_tree, ...)
  • 时序分析 (report_timing, set_clock_latency, ...)
  • 电源网络 (addStripe, sroute, addRing, ...)
  • 物理验证 (verify_drc, verifyConnectivity, ...)
  • ... 等全部 Innovus 命令集

技术要求

  • VS Code ≥ 1.85.0
  • 无需额外运行时依赖(Node.js 内置于 VS Code)

许可证

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft