Cadence 16.6 从 OrCAD Capture 原理图到 Allegro PCB 全流程(含 5 个常见坑)
环境:Cadence SPB 16.6 + OrCAD Capture CIS + Allegro PCB Editor
中心库:
D:\CIS_LIBRARY(SCH 符号 / PCB\symbol 封装 / PCB\pad 焊盘)本文记录一次完整的"原理图 → 网表 → PCB 板文件"实战过程,以及过程中踩到的 5 个坑。
一、整体流程
OrCAD Capture 原理图
│
│ Create Netlist → PCB Editor 选项卡
▼
生成 allegro/ 下的 pstchip.dat / pstxprt.dat / pstxnet.dat
│
│ netrev(Create or Update PCB Editor Board)
▼
GD32.brd(器件进入板文件,但位置待摆放)
│
│ Place → Quickplace
▼
器件沿板框排开,开始布局布线
关键点:Capture 负责生成网表,netrev 负责把网表变成板文件,Allegro 负责摆放和布线。三步任何一步配置不对,都会表现为"板子是空的"。
二、坑 1:Allegro 找不到封装(SPMHNI-194)
导入网表时报几十条警告:
WARNING(SPMHNI-194): Symbol 'C0603' for device 'CAP_NP_C0603_100NF'
not found in PSMPATH or must be "dbdoctor"ed.
原因 :不是库里缺封装,而是 Allegro 的封装搜索路径 PSMPATH / PADPATH 只包含 Cadence 安装目录,没有包含自己的 CIS 库。
排查 :直接看 netrev 日志里的 ------ Library Paths ------ 段,确认自己的库目录在不在列表里。
解决 :在 Cadence 用户环境文件 $HOME\pcbenv\env 中追加路径。本机 HOME=D:\Cadence\SPB_Data,即编辑:
D:\Cadence\SPB_Data\pcbenv\env
内容如下(第一行必须是 source $TELENV,见坑 2):
tcl
source $TELENV
# 用户库放在 Cadence 默认目录之前,同名时优先使用自己的库
set PADPATH = . symbols .. ../symbols D:/CIS_LIBRARY/PCB/pad D:/Cadence/SPB_16.6/share/local/pcb/padstacks D:/Cadence/SPB_16.6/share/pcb/pcb_lib/symbols D:/Cadence/SPB_16.6/share/pcb/allegrolib/symbols
set PSMPATH = . symbols .. ../symbols D:/CIS_LIBRARY/PCB/symbol D:/Cadence/SPB_16.6/share/local/pcb/symbols D:/Cadence/SPB_16.6/share/pcb/pcb_lib/symbols D:/Cadence/SPB_16.6/share/pcb/allegrolib/symbols
PSMPATH:封装符号(.psm)搜索路径PADPATH:焊盘(.pad)搜索路径- 顺序很重要:越靠前优先级越高,所以自己的库放前面
改完后必须重启 PCB Editor(env 只在启动时读取)。
三、坑 2:Unable to find the messaging system module definitions file 'allegro_smi_modules.txt'
原因 :pcbenv\env 文件没有以 source $TELENV 开头。Allegro 在启动时先读系统环境,再读用户 env;用户 env 若没有这一行,整个环境链初始化失败,就会报这个看似"文件丢失"的错误------实际上 allegro_smi_modules.txt 一直都在安装目录里。
解决:确保 env 文件第一行是:
tcl
source $TELENV
哪怕 env 文件是空的,只要它存在就会触发这个问题;空文件同样报错。
四、坑 3:器件导入了,但画布是空的
检查板文件能确认器件其实已经在里面(可用十六进制/字符串搜索,能读到 C31、R24、SW6 等位号),说明网表导入成功,只是视图没定位到器件。
4.1 正确的查看方式
菜单 View → Zoom Fit (对应命令 zoom fit)。
注意:如果底部命令窗口提示 Command not found: zoom fit,通常是因为当前还有一个命令没退出(例如 slide),先按 Esc 取消,再执行 Zoom Fit。
4.2 器件是"未摆放"状态
netrev 把器件加进板文件后,器件通常堆在原点附近或处于未摆放状态。菜单 Place → Manually... ,Options 面板才会出现 Components by refdes 器件列表------这个面板不是默认显示的,只在摆放命令激活时出现。
4.3 一键摆放
- 先画板框:Add → Line ,右侧 Options 里
Class = Board Geometry、Subclass = Outline,画一个矩形; - 菜单 Place → Quickplace...,选择沿板框排列,点击 Place;
- 60 个器件会沿板框一圈自动排开;
- File → Save。
五、坑 4:E- Command not found: cinsert,导入后板子仍然空白
原因:用了错误的产品入口。开始菜单里有多个 Allegro 产品:
| 入口 | 说明 |
|---|---|
| PCB Editor | 完整设计产品,支持器件插入/布局布线 ✅ |
| PCB SI | 信号完整性仿真,不是布局工具 ❌ |
| Allegro PCB Planner | 只做布局规划,缺少 cinsert 等插入命令 ❌ |
现象 :在 PCB Planner 里执行 Import Logic,netrev 日志一切正常、ECO 里也列出所有器件,但日志出现 E- Command not found: cinsert,板子始终是空的。
解决 :关闭 Planner,从开始菜单打开 PCB Editor,在 Product Choices 对话框选择:
Allegro PCB Designer (was Performance L)
勾选左下角 Use as default,以后不再询问。
六、坑 5:Create Netlist 只生成了网表,没有生成板文件
Capture 的 Tools → Create Netlist → PCB Editor 选项卡里,有两个容易忽略的勾选项:
| 勾选项 | 作用 |
|---|---|
| ☑ Create PCB Editor Netlist | 生成 pstchip.dat / pstxprt.dat / pstxnet.dat |
| ☑ Create or Update PCB Editor Board (Netrev) | 自动运行 netrev 并生成/更新 .brd 板文件 |
只勾第一个:只有网表文件,Allegro 里没有板子。
勾上第二个:Capture 自动跑 netrev,并用 PCB Editor 打开板文件。
推荐配置:
Netlist Files: allegro
☑ Create PCB Editor Netlist
☑ Create or Update PCB Editor Board (Netrev)
Input Board File: (留空 = 新建板)
Output Board File: allegro\GD32.brd
Place Changed Components: Always
Board Launching Option: ● Open Board in Allegro PCB Editor
点"确定"后,Capture 会自动完成网表 → netrev → 打开 PCB Editor 的全过程。
七、验证清单
导入完成后,按下面三项确认:
-
看 netrev 日志 :工程目录
allegro\netrev.lst末尾应为No error detected No oversight detected No warning detected -
看库路径 :日志中
------ Library Paths ------段应包含自己的库目录(如D:/CIS_LIBRARY/PCB/symbol)。 -
看板文件:Allegro 中用 View → Zoom Fit 能看到器件;Place → Quickplace 能正常摆放。
八、常见现象速查表
| 现象 | 原因 | 解决 |
|---|---|---|
SPMHNI-194 Symbol not found in PSMPATH |
库路径未配置 | 在 pcbenv\env 加 PSMPATH/PADPATH |
Unable to find ... allegro_smi_modules.txt |
env 文件缺 source $TELENV |
env 第一行补上 |
Command not found: cinsert,板子空 |
用了 PCB Planner | 换 PCB Editor + Allegro PCB Designer |
Command not found: zoom fit |
有命令未退出(如 slide) | 先按 Esc |
| Options 面板没有 Components by refdes | 未进入摆放模式 | Place → Manually... |
| 板子打开是黑的,看不到器件 | 视图未定位 / 器件未摆放 | Zoom Fit + Quickplace |
| 导入后 symbol 警告一条不少 | env 改了但没重启 | 重启 PCB Editor |
九、总结
原理图转 PCB 的核心就三件事:
- 路径通 :Allegro 的
PSMPATH/PADPATH必须包含自己的封装库,且 env 文件必须source $TELENV; - 网表通 :Capture 的 Create Netlist 勾选
Create or Update PCB Editor Board (Netrev),让 netrev 自动生成板文件; - 产品对 :用 PCB Editor + Allegro PCB Designer,不要用 PCB SI 或 PCB Planner。
把这三步做对,No error / No oversight / No warning,60 个器件一次导入成功,剩下的就是画板框、Quickplace、布局布线了。