1. 从原理图到裸板:Cadence Editor 画 PCB 的最小可复现流程
如果你刚用 Capture 画完原理图,面对 Cadence Editor 里密密麻麻的菜单不知道从哪下手,这篇就是写给你的。Cadence Editor(业内常叫 Allegro PCB Editor)是 Cadence 体系里真正把原理图变成物理板子的那一环,它能做封装库管理、网表导入、布局布线、DRC 检查、光绘输出,适合需要从原理图过渡到实际板级设计的硬件工程师。我试过把一整套流程压缩成一条最小可复现路径:建封装库、导网表、放器件、画板框、设规则、走线,每一步都带验证动作和报错对照。跑通这一遍,你手里就有一块能出光绘的板子,而不是一堆散落的操作记忆。
很多人卡住不是因为不会点按钮,而是不知道"现在这一步到底成没成"。比如网表导进去了但器件全是问号,或者封装库路径配了却提示找不到 padstack。这些问题的根因往往在封装库命名和路径配置阶段就埋下了。所以本文不会只给你菜单路径,而是把每一步的"成功长什么样"和"失败报什么错"都写清楚,让你能自己判断该不该往下走。
整条链路的关键节点有三个:封装库建立(决定后面能不能找到器件)、网表导入(决定器件和连接关系对不对)、布线策略(决定板子能不能做出来且能做对)。这三个环节任何一个出问题,后面都是白干。下面按实际操作顺序拆开讲,你可以跟着一步步做,也可以当成检查清单用。
2. 封装库命名与路径配置:padpath、psmpath、devpath 怎么设才不报错
封装库是 PCB 设计的地基。Cadence Editor 不会自动去猜你的封装放在哪,它靠三个路径变量找文件:padpath 找焊盘(padstack),psmpath 找封装符号(symbol),devpath 找器件文件(device)。这三个路径配错,后面导入网表必然报 "Could not find padstack" 或 "Symbol not found"。
先说封装库的命名规范。焊盘文件建议用 "PAD_尺寸_形状" 格式,比如PAD_0402_R、PAD_0603_C,一眼能看出对应什么封装。封装符号用器件型号或封装类型命名,比如R0402、C0603、SOP8_50mil。器件文件(.dev)在画好封装后通过 File-Dev 生成,命名跟封装符号保持一致最省心。命名乱掉的后果是:网表里写的封装名跟你库里的对不上,导入时直接报缺失。
路径配置在 Editor 的 Setup-User Preferences 里,找到 Paths 分类下的 padpath、psmpath、devpath。删除默认内容,填你自己的封装库绝对路径。多个路径用分号隔开。注意路径里不要有中文和空格,这是最常见的坑。配完后建议重启一次 Editor,让路径生效。
# 在 User Preferences 的 Paths 里填写示例(按你实际路径替换) padpath = D:/PCB_Lib/padstack psmpath = D:/PCB_Lib/symbol devpath = D:/PCB_Lib/device验证动作:随便打开一个封装符号,如果能正常显示焊盘和丝印,说明 padpath 和 psmpath 配对了。再 File-Open 一个 .dev 文件,能打开说明 devpath 没问题。如果报 "padstack not found",回去检查 padpath 路径末尾有没有多余斜杠,以及焊盘文件名大小写是否一致——Cadence 在某些系统下对大小写敏感。
这里有个容易忽略的点:第一方网表和第三方网表需要的路径不一样。第一方网表(Capture 直接生成)需要 padpath 和 psmpath;第三方网表(其他工具生成)需要 devpath。如果你导入的是第一方网表却只配了 devpath,就会报找不到封装。所以配路径前先确认你的网表来源。
3. 网表导入检查清单:第一方与第三方网表的配置差异
网表是原理图和 PCB 之间的桥梁,它告诉 Editor 有哪些器件、每个器件用什么封装、器件之间怎么连。导入网表这一步做错,后面布局布线全是错的。Cadence Editor 支持两种网表:第一方网表(Capture 生成,通常叫 netlist)和第三方网表(其他 EDA 工具生成)。
导入第一方网表的操作:File-Import-Logic,选择 Cadence 标签页,勾选 CIS,选择网表文件路径,点击 Import。导入第三方网表:选择 Other 标签页,选网表路径,勾选第 2、4、5 项(具体项根据你的网表格式定),点击 Import。
导入前必须确认的检查清单:封装库路径已配好且验证通过;原理图里每个器件的 PCB Footprint 属性填的是封装库里的实际名称;网表文件路径没有中文和空格;如果是第一方网表,Capture 工程里已经生成过网表且没有报错。
导入后怎么验证成功?看 Editor 的状态栏和命令窗口。成功会提示 "Netlist import completed",并且器件会出现在设计里(可能堆在板框外)。如果报错,常见的有这几种:
| 报错信息 | 原因 | 解决 |
|---|---|---|
| Could not find padstack | padpath 没配或焊盘文件缺失 | 检查 padpath 路径和焊盘文件名 |
| Symbol not found | psmpath 没配或封装符号缺失 | 检查 psmpath 和封装名是否一致 |
| Device file not found | devpath 没配或 .dev 未生成 | 检查 devpath,重新 File-Dev 生成 |
| Netlist file not found | 网表路径错或文件不存在 | 确认路径无中文空格,文件确实存在 |
导入成功后,器件会以飞线连接的形式出现。这时候先别急着布局,用 Display-Status 看一下器件数量和网络数量,跟原理图对一下。数量对不上说明网表有问题,回去查原理图。
4. 布局与布线规则参数:线宽、间距、过孔、差分对的设置方法
布局是把器件放到板上的合理位置,布线是把飞线变成实际铜线。这两步都依赖规则设置,规则不对,要么 DRC 报一堆错,要么板子做出来电气性能不达标。
先说布局阶段要显示的层。打开层管理(工具栏那个圆形彩虹图标),先点 OFF 关闭所有层,然后在 visibility 窗口勾选两个 All,显示基础信息。接着打开丝印层(设置一个醒目颜色)、器件编号层、阻焊层和板框层。这样图面干净,不会眼花。
器件定位有几个实用技巧。移动器件时在 Options 的 Point 里设置基准点:Sym Origin 是器件原点,Body Center 是封装中心,User Pick 是手动选点(点两次,第一次选器件,第二次选基准点)。精准定位时右键选 "Snap to segment midpoint" 可以把器件放到线段中点,常用选项还有 segment vertex(线段顶点)、arc/circle center(圆心)、pin(焊盘)、via(过孔)。
布线规则设置是重点。打开 Constraint Manager,先设线宽。默认线宽在 Physical 规则里改,确保 All Layers 生效。给电源网络单独设规则:F6 确保没运行其他命令,右键添加规则,设名称,然后在 All Layers 里把新规则给到对应网络。Neck 属性用于密集区域走细线,右键勾选 Neck 启用,Min Width 是最小线宽,Max Length 是单次最大长度。
间距规则在 Spacing 里设。右键可以全部设为某个值,也可以展开单独设。Line To Line 是线到线间距,铜皮到所有对象的间距可以一起改。常用类型是走线、通孔、过孔。间距规则也可以建多个,方法跟线宽一样。
过孔需要先画一个类似封装的文件,然后指定路径。打开过孔添加界面,双击 vias 下面第二行添加,布线途中双击即可放置过孔。
差分对设置:打开差分对工具,在 PCB 里点需要添加的网络,确认 Net1 和 Net2,点 Add。大量结尾相同的差分对可以用 Auto Generate,填结尾符号后 Generate。差分对走线属性要设 Primary Gap(线间距),如果用到 Neck 走线还要设 Neck 间距。当布线规则线间距大于差分走线间距时,设 Min Line Spacing 等于差分最小线间距。
# 线宽规则示例(在 Constraint Manager 里设置) # 默认线宽 Line Width = 6 mil # 电源网络线宽 Net: VCC_3V3 -> Line Width = 20 mil Net: GND -> Line Width = 20 mil # Neck 设置 Neck Min Width = 4 mil Neck Max Length = 200 mil验证动作:设完规则后走一段线,用 Display-Measure 量一下线宽对不对。DRC 检查(Tools-Quick Reports 或 Update DRC)看有没有间距违规。如果 DRC 报 "Line to Line spacing violation",回去检查间距规则是否给到了对应网络。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth 对照
这一节专门处理你在接入和运行过程中可能撞上的报错。虽然 Cadence Editor 本身是本地工具,但如果你在流程里用到模型辅助或 API 调用,下面这些错误会碰到。
401 Unauthorized:通常是 API Key 没填对或过期。检查你的 Key 是否完整复制,有没有多余空格。如果用的是 TaoToken 的 API,确认 Base URL 填的是https://taotoken.net/api,Key 从 console 里重新生成一个再试。
local proxy failed:本地代理配置问题。如果你在代码里设了代理但代理没启动,就会报这个。检查你的环境变量或代码里的 proxy 设置,确认代理地址和端口正确。如果不需要代理,把相关配置删掉。
reading choices 相关报错:通常是模型返回格式跟预期不符。检查你的请求参数,特别是 model ID 是否写对。Model ID 要跟平台文档里的一致,大小写敏感。
OAuth 报错:如果你用的是需要 OAuth 认证的工具(比如某些 CLI 工具),检查 token 是否过期,重新走一遍认证流程。Claude Code 这类工具需要配置 Base URL、Key、Model ID 三件套,缺一不可。
对于 Claude Code 接入,配置步骤是这样的:在 settings 里填 Base URL 为https://taotoken.net/api,Key 填你生成的 API Key,Model ID 填你要用的模型。三个都填对才能正常调用。如果只填了 Key 没填 Base URL,就会报连接错误。
Cline MCP 配置类似,需要在 MCP 设置里填 Base URL、Key、Model ID。Codex 的 auth.json 里同样要配这三项。任何一项缺失或错误都会导致调用失败。
排查顺序建议:先确认 Key 有效(用模型对话页面测一下),再确认 Base URL 正确,最后确认 Model ID 跟文档一致。三步都对了还报错,检查网络和本地代理设置。
6. 跑通之后:把这条流程变成你自己的检查清单
走到这里,你应该已经有一块布好线的板子了。回头看一下,整条链路里最容易出问题的其实不是布线本身,而是前面的封装库和网表。封装库命名乱、路径配错、网表导入没检查,这三个坑我见过太多次。所以建议你把本文的验证动作整理成自己的检查清单:配完路径打开一个封装验证;导完网表对一下器件数量;设完规则走一段线量一下线宽;布完线跑一次 DRC。
另外,模块复用功能在画相同模块时能省大量时间。操作是:打开布局模式,F6 关闭当前工具,Find 面板只勾器件,框选模块,右键创建复用模块,确保器件、过孔、走线、铜皮都选中(没选中的话在 Find 里勾 Vias、Clines、Shapes 再框选),F6 完成,选中心点,保存。复用的时候框选目标器件,右键选保存的模块,匹配后 OK。如果复用后器件被锁定,Find 里勾 Groups,选中框右键解散组。
最后一步是出光绘。但那是另一个话题了,本文的目标是让你跑通从封装库到布线的完整流程。你按这个顺序走一遍,遇到报错对照第 5 节排查,基本能独立完成一块最小 PCB。后面再优化布局、调整规则、加测试点,都是在这个基础上迭代。
如果你在接入模型辅助或 API 调用时需要 Key,可以去 TaoToken 的 API Keys 页面生成,接入文档里有详细的 Base URL 和参数说明。验证模型是否可用,用模型对话页面测一下最快。长期做编码或 Agent 相关的工作,可以看看 Coding Plan 的配置方式。这些都在官网https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=上能找到入口。