Cadence SPB OrCAD/Allegro 17.4 进阶技巧汇总

楷登电子 推出的 Cadence SPB 整合了原理图绘制工具 OrCAD 和 PCB 版图设计工具 Allegro,已经成为了业界领先的电子设计自动化(EDA,Electronic Design Automation)工具链。伴随电子系统复杂度的日益提升,如何运用工具当中提供的各种功能来应对设计挑战,业已成为了广大电子硬件工程师们亟需掌握的技能。

关于 OrCADAllegro 的基础操作,已经在五年之前所撰写的《写给有经验 PCB 工程师的 Cadence SPB 17.4 极速上手指南》一文中进行过图文并茂的阐述,而本文则主要聚焦于实际应用中的高频痛点,提炼出经过验证的操作技巧和配置方法。希望能够帮助广大的电子硬件工程师,更加熟练和合理的应用 Cadence SPB 进行原理图和 PCB 的绘制,从而有效的提高研发工作效率,进而得心应手的面对各种纷繁复杂的设计挑战。

OrCAD/Allegro 的正确打开方式

  1. 鼠标依次点击 OrCAD 菜单栏上的 File -> Change Product...,然后选择【OrCAD Capture CIS】;
  2. 鼠标依次点击 Allegro 菜单栏上的 File -> Change Editor...,然后选择【Allegro PCB Designer】,并且勾选所需的功能项,例如 High-SpeedPCB Team DesignAnalog/RF

Cadence SPB 工程文件常用后缀

文件类型 后缀名称 文件类型 后缀名称 文件类型 后缀名称
Cadence 工程 .opj PCB 封装 .psm 原理图库 .olb
Logo 图形 .osm PCB 封装源文件 .dra 无电气特性的机械零件 .bsm
PCB 版图 .brd 原理图文件 .dsn 负片通孔连接方式 .fsm
Cadence 网表 .dat 自定义焊盘图形 .ssm Allegro 操作记录 .jrl
第三方网表 .net 焊盘 .pad 日志 .log
操作记录脚本 .scr 可重复的模块定义 .mdd PCB 规则钻孔 .drl
PCB 不规则钻孔 .rou 光绘文件 .art - -

原理图符号和 PCB 封装的默认位置

  • OrCAD 默认原理图符号库C:\Cadence\SPB_17.4\tools\capture\library
  • Allegro 默认 PCB 封装库C:\Cadence\SPB_17.4\share\pcb\pcb_lib\symbols

其中在 OrCAD 自带的原理图符号库当中,比较常用的有如下三种:

  • Discrete.olb 原理图符号库:用于存放分立式元件;
  • Transistor.olb 原理图符号库:用于存放有各类晶体管;
  • Connector.olb 原理图符号库:用于存放有各种连接器;

OrCAD/Allegro 关闭 Start Page 页面

关闭 OrCAD 启动时自动显示【Start Page】页面的方法:

  1. 鼠标依次点击 OrCAD 菜单栏上的 View -> Toolbar -> Command Window
  2. 在底部的命令行窗口执行 SetOptionBool EnableStartPage 0 之后,再按下回车键;
  3. 重新启动 OrCAD 之后,就不会再弹出 Start Page 页面;

除此之外,更为有效的办法是直接对 C:\Cadence\Spb_data\cdssetup\OrCAD_Capture\17.4.0\Capture.ini 文件进行修改:

1
2
3
4
[Preferences]
... ... ...
EnableStartPage = False;
... ... ...

注意:上述操作必须在完全关闭 Cadence SPB 17.4 之后进行,避免关闭之后配置被覆盖丢失。

关闭 Allegro 启动时自动显示【Start Page】页面的方法:

  1. 鼠标依次点击 Allegro 菜单栏上的 Setup -> User Preferences...
  2. 鼠标选中弹出【User Preferences Editor】界面上的【Display】选项;
  3. 通过在界面底部的搜索框查找 start 关键字,勾选查找结果列表中的 allegro_no_startpage 项即可;

OrCAD 原理图快捷操作

鼠标操作

视图操作

排列操作

其它操作

预览 OrCAD 原理图符号的封装

打开 OrCAD 的时候,界面底部的【Session Log】会打印出,当前所使用的 INI 配置文件的路径:

1
INI File Location: C:\Cadence\Spb_data\cdssetup\OrCAD_Capture\17.4.0\Capture.ini

Capture.ini 配置文件当中检索 [Allegro Footprints],并将其修改为下面的形式,就可以通过 OrCAD 鼠标右键菜单当中的【Show Footprint】,预览原理图符号所对应的 PCB 封装:

1
2
3
[Allegro Footprints]
Dir0=C:\Cadence\SPB_17.4\share\pcb\pcb_lib\symbols\
Dir1=D:\Workspace\UINIO-Cadence-Libraries\Footprint\

OrCAD 与 Allegro 交互式选择

首先,鼠标点击 OrCAD 顶部的 Options -> Preference;然后,切换【Preference】对话框至 Miscellaneous 选项卡;最后,勾选界面当中的如下选项:

1
Intertool Commumicatiom -> Enable Intertool Commmication

OrCAD 的选择过滤器

  1. 打开 OrCAD 在原理图上展开鼠标右键菜单,选中【Selection Filter】或者按下快捷键【Ctrl + I】打开选择过滤器对话框。
  2. 取消 Graphical Object 项的勾选,就可以避免在框选原理图符号时,图形线框被错误的选中。

ORCAP-1589 错误处理方法

ORCAP-1589 错误是指该网络存在多个网络别名,可能会造成短路。

1
WARNING(ORCAP-1589): Net has two or more aliases - possible short ?

OrCAD 当中,属性为 POWER 的引脚,引脚符号的名称,必须同时为对应网络的名称,否则就会报出该错误,该问题可以通过下面几种方式解决:

  1. 属性为 POWER 的引脚符号名称,保持其与对应网络的名称相同。
  2. POWER 属性修改为 Passive,就可以避免引脚名称与网络名称相同的问题。
  3. 取消【DRC】当中的 Physical Rules 检查,即在【Design Rules Check】对话框【Rules Setup】界面当中,取消 Check power ground shortBatch 项下面的勾选。

Allegro 自定义快捷键

Allegro 的【Command】窗口当中,输入如下的命令可以打印出当前所使用的用户环境变量路径:

1
echo $localenv

通过打印出来的用户环境变量路径下的 env 文件,使用 aliasfunckey 命令就可以自定义快捷键。根据 Cadence 当前安装环境的不同,打印出来的用户环境变量路径会存在如下两种情况,大家按需修改即可:

  • C:\Cadence\SPB_Data\pcbenv
  • C:\Cadence\SPB_17.4\share\pcb\text

如果 env 文件位于 C:\Cadence\SPB_Data\pcbenv\env 目录下,自定义的配置信息需要放到 env 文件的如下位置,以避免被其它配置项覆盖:

如果 env 文件位于 C:\Cadence\SPB_17.4\share\pcb\text\env 目录下,自定义配置信息则建议放置到 env 文件的如下位置:

alias 命令用于对 Allegro 命令取别名,使用时需要同时按下 特殊功能键 或者 特殊功能键 + 字母/数字 组合,并不能定义单独的字母快捷键:

1
2
alias <alias> <command to run>
alias <alias> “<command1; command2>”
  • alias F2 Add Connect:这里 F2 是指键盘上的特殊功能键【F2】;
  • alias ~W Add Connect:符号 ~ 用于表示 Ctrl 按键,表示的是同时按下【Ctrl + W】;
  • alias CF2 Add Connect:字母 C 等同于 Ctrl 按键,表示的是同时按下【Ctrl + F2】;

注意alias 命令里的 C 代表按键【Ctrl】,S 代表按键【Shift】。

funckey 命令用于定义单独的字母快捷键,在 PCB 版图上按下该字母,或者在Allegro 的【Command】窗口输入该命令,就可以执行相应的功能:

1
2
funckey <user-defined key or name> <command to run>
funckey <user-defined key or name> “<command1; command2>”
  • funckey r iangle 90:小写字母 r 用于宣传正在移动的 PCB 封装 90° 度;
  • funckey R iangle 45:大写字母 R 用于宣传正在移动的 PCB 封装 45° 度;

鼠标依次点击 Allegro 菜单栏上的【Tools -> Utilities -> Keyboard Commands】,就可以打开命令浏览器【Command Browser】窗口,浏览当前 Cadence 可以被执行和定义的命令:

命令浏览器当中的【Execute】用于执行列表中的命令,【Help】用于单击查看列表当中命令的帮助文档。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#--------------------------------------------------------------------
# Uinio Lab Shortkey

set devpath = D:\Workspace\UINIO-Cadence-Libraries\Footprint
set padpath = D:\Workspace\UINIO-Cadence-Libraries\Footprint
set psmpath = D:\Workspace\UINIO-Cadence-Libraries\Footprint

set noconfirm_savedb

funckey r iangle 90
funckey R iangle 45
funckey f mirror
funckey m move
funckey x add connect
funckey d slide
funckey s swap components
funckey a done
funckey e change

alias Del delete
alias Esc cancel

下面是一份具有十年工作经验的 PCB 工程师,无私提供的 env 参考配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
funckey c copy
funckey d delete
funckey s slide
funckey a add connect
funckey e show element
funckey n pop net list
funckey h deassign net
funckey R iangle 45
funckey g change
funckey q delay tune
funckey l custom smooth
funckey p drc update
funckey f Toggle
funckey x move
funckey j rats net
funckey w show measure
funckey y swap components
funckey D done
funckey k slide cut
funckey F10 unrats net
funckey z net schedule
funckey p "prepopup;pop dyn_option_select 'Snap pick to@:@Pin' "
funckey o "prepopup;pop dyn_option_select 'Snap pick to@:@Via' "
funckey = "prepopup;pop dyn_option_select 'Snap pick to@:@Segment Vertex' "
funckey v unrats net
funckey b unrats all
funckey B reports
funckey t spin
funckey 7 assign net
funckey m shape select
funckey 8 shape merge shapes
funckey 9 shape void element
funckey 3 shape add
funckey 5 shape void polygon
funckey 4 shape edit boundary
funckey 6 shape void delete
funckey 0 island_delete
funckey r iangle 90
funckey F2 split_shape
funckey 2 shape add rect
funckey F1 pop singletrace
funckey F3 shape change type
funckey F4 create fanout
funckey 1 Delete by Rectangle
alias WS wirebond select
alias WA wirebond add

关闭 Allegro 手动保存提示

  1. 首先,鼠标依次点击 Allegro 菜单栏上的 Setup -> User Preferences...
  2. 然后,在弹出界面【User Preferences Editor】左下角的 Search for preference 输出框里输入 save 关键字,然后按下【Search】按钮或者回车键。
  3. 最后,勾选 noconfirm_savedb 的【Value】和【Favorite】即可关闭 Allegro 的保存提示功能。

指定 Allegro 的 PCB 封装库路径

  1. 首先,鼠标依次点击 Allegro 菜单栏上的 Setup -> User Preferences...
  2. 然后,打开【User Preferences Editor】对话框左侧树形菜单中的 Paths -> Library

勾选打开界面当中 devpathpadpathpsmpath 后的【Favorite】选项,并且指定其【Value】项对应的资源路径:

  1. devpath 指定第三方网表文件的保存路径,如果当时导入的是 OrCAD 生成的网表,则保持默认即可;
  2. padpath 用于指定 PCB 封装焊盘的存放路径。
  3. psmpath 用于指定 PCB 封装的存放路径。

预览 Allegro 里导入的 PCB 封装

  1. Allegro 新建或者打开 .brd 文件之后,鼠标点击 Allegro 菜单栏上的 Place -> Manually
  2. 在弹出的【Placement】对话框中选择【Advanced Settings】选项卡,然后勾选界面上的 Library 选项;
  3. 将选项卡切换回【Placement】对话框当中的【Placement List】选项卡;
  4. 切换至下拉列表里的【Package symbols】,就可以浏览到当前引用的 PCB 封装(可以通过右侧的【Selection filters】查询和过滤):

Allegro 的 ROOM 模块化布局

  1. 添加 ROOM 属性:OrCAD 当中为元件添加自定义的 ROOM 属性(相同的模块,属性值相同)。
  2. 绘制 ROOM 框:鼠标依次点击 Allegro 菜单栏的 Setup -> Outlines -> ROOM Outline,打开【ROOM Outline】对话框之后,直接在 Allegro 的绘制区域点击拖动,就可以为具有相同 ROOM 属性值的元件绘制出一个放置区域。
  3. 根据 ROOM 属性放置元件:鼠标依次点击 Allegro 菜单栏的【Place -> Quickplace】,勾选对话框里【Placement filter】下的 Place by room,并且在后面的下拉列表当中,指定当前需要放置的 ROOM 属性元件,最后点击对话框上的【Place】按钮,即可将具有相同 ROOM 属性值的元件摆放到指定的 Outline 区域当中。

开启 Allegro 的移动对齐辅助线

  1. Allegro 当中,选择移动命令,然后按下鼠标右键;
  2. 依次选择弹出菜单中的 Options -> Dynamic Aligment -> Enable,就可以开启移动对齐辅助线

Cadence SPB OrCAD/Allegro 17.4 进阶技巧汇总

http://www.uinio.com/Electronics/Cadence-Skill/

作者

Hank

发布于

2025-06-10

更新于

2025-06-06

许可协议