AI控制Virtuoso,vcli工具全解
AI控制Virtuoso,vcli工具全解
“让 AI 和人类共同控制电路设计工具,这一天终于来了。”
这是什么
vcli 是一个用 Rust 编写的轻量级桥接工具,用于在 Virtuoso 外部执行 SKILL 代码。
通过 ramic_bridge.il 在 Virtuoso 内启动一个 Rust daemon,CLI 通过 TCP 发送命令,调用 evalstring 执行 SKILL 并返回结构化结果。
核心特性
多 session 支持:同一台服务器同时运行多个 Virtuoso 实例,各分配唯一 session_id 和随机端口,互不干扰动态端口分配:daemon 绑定端口 0,OS 自动分配,彻底避免端口冲突session 自动发现:只有一个 session 时无需指定;多个 session 时通过 –session 或 VB_SESSION 选择三种编程方式:原始 SKILL 表达式、高阶 API、或直接加载 .il 文件本地 + 远程模式:本地直连或 SSH 隧道(ControlMaster 连接复用)Agent 原生 CLI:noun-verb 命令结构、JSON 结构化输出、schema 自省、语义化退出码原理图编辑与读取:创建、放置、连线 + 读取实例/网络/引脚/参数Maestro ADE 管理:打开/关闭 Explorer、设置变量、运行仿真、导出结果(IC23.1+ 统一 ADE)Spectre 仿真:同步/异步仿真、Job 注册与状态跟踪、PSF 结果解析多 Profile 支持:–profile 参数同时连接多个 Virtuoso 实例交互式 TUI:vtui 终端仪表盘,实时显示 session、仿真 job、隧道状态

安装方法
从 crates.io 安装(推荐):cargo install virtuoso-cli # vcli 主 CLIcargo install virtuoso-cli --bin vtui # 交互式 TUIcargo install virtuoso-cli --features daemon # daemon 后端从源码安装:git clone https://github.com/deanyou/virtuoso-cli.git && cd virtuoso-cli && cargo install --path .
注意:不要将 CLI 命名为 virtuoso,与 Cadence 二进制名冲突。
快速开始
第一步:Virtuoso CIW 中加载 RAMIC Bridgeload("/path/to/virtuoso-cli/resources/ramic_bridge.il") && vcli()第二步:终端连接vcli session list # 查看所有活跃 sessionvcli skill exec 'getCurrentTime()' # 单 session 自动连接vcli --session eda-meow-2 skill exec 'getCurrentTime()' # 多 session 指定目标
远程模式
vcli init # 生成 .env 配置模板# 编辑 .env:设置 VB_REMOTE_HOST、VB_SPECTRE_CMD(绝对路径)vcli tunnel startvcli tunnel stop
异步仿真与 Maestro ADE
# 远程异步仿真vcli sim run-async --netlist my_tb.scs # 立即返回vcli sim job-list # 查看所有 jobvcli sim job-status <id> # 查看 job 详情vcli sim job-cancel <id> # 终止进程# Maestro ADE Explorer(IC23.1+)vcli maestro open --lib myLib --cell myCellvcli maestro set-var --session fnxSession4 --name W --value 10uvcli maestro run --session fnxSession4vcli maestro export --session fnxSession4 --path out.csv
🔗 项目地址:github.com/deanyou/virtuoso-cli
觉得有用记得 ⭐,欢迎提 Issue 和 PR
Dean Studio · 模拟电路那些事儿
夜雨聆风