cadence原理图转visio绘图
Overview
将 Cadence Virtuoso 原理图导出的器件、网表和走线坐标重建为可编辑的 Microsoft Visio 原理图。 - 仓库根目录下的 cadence_to_visio_v2.py / cadence_to_visio_core.py 适合你已经手头有 inst_info、网表和走线文件时,直接做 Visio 重建。 - sch2visio_skill/ 适合配合 virtuoso-bridge-lite 做端到端流程:从当前活动的 Virtuoso schematic 远程导出,再自动下载并生成 Visio。 - 读取 Cadence 导出的器件位置信息、网表和走线坐标 - 在 Visio 中生成可编辑的器件和连线 - 保留尽量接近 Virtuoso 的相对布局与线段形状 - 支持直接使用 wires.tsv 与 netlist.cdl - 自动从顶层 .SUBCKT 端口识别电源/地网络,例如 VDD/VSS、VCC/GND、AVDD/AVSS - 对 MOS body wire 做过滤和源极连接恢复,减少错误短支路 - 复用当前 Visio 会话并规避 stencil 文件锁冲突 - Python 3.10 及以上 - Microsoft Visio - pywin32 如果你准备使用端到端自动导出流程,推荐把 virtuoso-bridge-lite 放在本仓库同级目录,或在运行时通过 --bridge-root 显式指定路径。 - inst_info.txt - netlist.cdl - wires.tsv 确保 virtuoso-bridge-lite 已安装,并且能正常连接到 Virtuoso 所在机器。 在 Cadence 主机上放置一个可被 load() 的 sch2visio.il,它需要把当前活动 schematic 导出为:
README
cadence_to_visio
将 Cadence Virtuoso 原理图导出的器件、网表和走线坐标重建为可编辑的 Microsoft Visio 原理图。
这个仓库现在包含两套互补的使用方式:
- 仓库根目录下的
cadence_to_visio_v2.py/cadence_to_visio_core.py适合你已经手头有inst_info、网表和走线文件时,直接做 Visio 重建。 sch2visio_skill/适合配合virtuoso-bridge-lite做端到端流程:从当前活动的 Virtuoso schematic 远程导出,再自动下载并生成 Visio。
主要功能
- 读取 Cadence 导出的器件位置信息、网表和走线坐标
- 在 Visio 中生成可编辑的器件和连线
- 保留尽量接近 Virtuoso 的相对布局与线段形状
- 支持直接使用
wires.tsv与netlist.cdl - 自动从顶层
.SUBCKT端口识别电源/地网络,例如VDD/VSS、VCC/GND、AVDD/AVSS - 对 MOS body wire 做过滤和源极连接恢复,减少错误短支路
- 复用当前 Visio 会话并规避 stencil 文件锁冲突
仓库结构
cadence_to_visio_v2.py 直接绘图主入口
cadence_to_visio_core.py 解析、几何计算、网表处理、走线处理核心
circuit.vss Visio stencil
export_cdl_current.il 导出当前活动 schematic 的 CDL 网表
export_inst_xy_orient.il Cadence 器件坐标导出脚本
export_wire_lines_v4.il Cadence 走线坐标导出脚本
sch2visio.il 一键导出 netlist.cdl / inst_info.txt / wires.tsv
README.md 中文说明
sch2visio_skill/
SKILL.md
scripts/sch2visio.py
scripts/run_cadence_to_visio.py
scripts/project/cadence_to_visio_core.py
scripts/project/cadence_to_visio_v2.py
references/inputs-and-workflow.md
assets/visio/circuit.vss
环境要求
Windows 侧:
- Python 3.10 及以上
- Microsoft Visio
pywin32
可选:
openpyxl
远端 Cadence 侧:
- Cadence Virtuoso
- 可调用的 SKILL 导出脚本
推荐配套:
virtuoso-bridge-lite
安装
pip install pywin32 openpyxl
如果你准备使用端到端自动导出流程,推荐把 virtuoso-bridge-lite 放在本仓库同级目录,或在运行时通过 --bridge-root 显式指定路径。
用法一:已有导出文件时,直接生成 Visio
如果你已经从 Virtuoso 手动导出了这些文件:
inst_info.txtnetlist.cdlwires.tsv
先做 dry-run 验证:
python .\sch2visio_skill\scripts\run_cadence_to_visio.py validate `
--wires C:\path\wires.tsv `
--netlist C:\path\netlist.cdl `
--inst-info C:\path\inst_info.txt `
--cwd C:\path\output
再正式绘图:
python .\sch2visio_skill\scripts\run_cadence_to_visio.py visio `
--wires C:\path\wires.tsv `
--netlist C:\path\netlist.cdl `
--inst-info C:\path\inst_info.txt `
--cwd C:\path\output `
-- --hidden
用法二:推荐,搭配 virtuoso-bridge-lite 端到端使用
1. 准备 bridge
确保 virtuoso-bridge-lite 已安装,并且能正常连接到 Virtuoso 所在机器。
2. 准备远端导出脚本
在 Cadence 主机上放置一个可被 load() 的 sch2visio.il,它需要把当前活动 schematic 导出为:
netlist.cdlinst_info.txtwires.tsv
如果你只缺少 netlist.cdl 导出入口,可以使用仓库根目录的 export_cdl_current.il。
如果你希望 Cadence 侧一条命令同时导出三份文件,可以使用仓库根目录的 sch2visio.il。
3. 运行自动导出 + 绘图
python .\sch2visio_skill\scripts\sch2visio.py `
--bridge-root ..\virtuoso-bridge-lite `
--local-dir .\output\demo_visio
如果只想检查输入是否正确,不打开 Visio:
python .\sch2visio_skill\scripts\sch2visio.py `
--bridge-root ..\virtuoso-bridge-lite `
--local-dir .\output\demo_visio `
--validate-only
关键参数说明
sch2visio.py 常用参数:
--bridge-root--remote-skill--remote-dir--local-dir--output-vsdx--validate-only--show-visio
run_cadence_to_visio.py 常用参数:
validatevisio--wires--netlist--inst-info--cwd
透传给底层绘图脚本的常用附加参数:
--skip-nets vdd,vss--skip-mos-body-nets--draw-mos-b-wires--wire-adjust snap-endpoints--hidden--preserve-absolute--flip-y
Virtuoso 手动导出参考
导出器件信息:
load("/path/to/cadence_to_visio/export_inst_xy_orient.il")
c2vExportInstXYOrient("/path/to/output/inst_info.txt")
导出走线:
load("/path/to/cadence_to_visio/export_wire_lines_v4.il")
c2vExportWireLinesV4("/path/to/output/wires.tsv")
导出当前活动 schematic 的 CDL:
load("/path/to/cadence_to_visio/export_cdl_current.il")
export_cdl_current("/path/to/output/netlist.cdl")
一键导出当前活动 schematic 的三份文件:
load("/path/to/cadence_to_visio/sch2visio.il")
sch2visio("/path/to/output/out_dir")
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add ruadaa/cadence_to_visio