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 之后进行,避免修改好的配置被覆盖丢失。除此之外,上述方法可能已经在 Cadence SPB 17.4S039 版本失效,请用户酌情使用。

关闭 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 项的勾选,就可以避免在框选原理图符号时,图形线框被错误的选中。

批量修改 OrCAD 原理图符号属性

  1. 首先,在 OrCAD 的原理图绘制界面按下快捷键【Ctrl + I】,在打开的 Selection Filter 对话框中只勾选 Parts 项。
  2. 然后,在 OrCAD 原理图绘制界面,使用鼠标框选需要批量修改属性的元件,点击鼠标右键菜单上面的 Edit Properties... 选项,或者也可以直接按下快捷键【Ctrl + E】。
  3. 最后,在随后打开的 Property Editor 界面,鼠标选中整行或者整列的属性值,通过右键菜单中的 Edit 或者 Display,就可以对原理图符号的各项属性值(包括参数可见性、PCB 封装信息等)进行批量调整。

为原理图添加 Intersheet References

在分页原理图的跨页连接符前面加上引用的原理图页码,鼠标选中当前所要操作的 OrCAD 原理图工程,展开右键菜单选择【Annotate...】项,在弹出的 Annotate 原理图注释对话框,鼠标点击 Add Intersheet References,并进行下图所示的设置:

点击确定按钮之后,在弹出的【Intersheet References】对话框里执行如下的通用设置:

在上面【Intersheet References】对话框当中,各个设置项的具体意义如下所示:


  • Place On OffPage Connectors:是否在跨页连接符放置引用页码(通常选择该项);
  • Position -> Offset Relative to Port:以跨页连接符作为偏移基准;
  • Position -> Offset Relative to Port Name:以跨页连接符的名称作为偏移基准(通常选择该项);

  • Reset Positions -> X Offset:X 轴偏移量(不能为负值),通常设置为 10
  • Reset Positions -> Y Offset:Y 轴偏移量(不能为负值),通常设置为 0

  • Format -> Standard[1,2,3]:页码格式为数字形式(通常选择该项);
  • Format -> Abbreviated[1..3]:页码格式为缩写形式;
  • Format -> Grid[1A5[Zone][Num]]:页码格式为 行号 + 列号 + 页码 的格式;

  • Format -> Prefix:原理图页码的前缀,可以设置为 []{}(),通常设置为 []
  • Format -> Suffix:原理图页码的后缀,可以设置为 []{}(),通常设置为 []

网络别名、端口、跨页连接符的区别

使用 OrCAD 绘制原理图的时候,经常使用到下图从左至右展示的 网络别名端口跨页连接符 三个符号,虽然它们都用于表示相同属性名称之间的连接关系,但是各自的作用范围并不相同:

  1. 网络别名【Net Alias】:无独立符号,需要放置到导线上面,作用范围仅仅局限于当前原理图;
  2. 端口【Port】:通常用于层次原理图设计,用于建立具有相同属性的端口之间的连接关系;
  3. 跨页连接符【Off-Page Connector】:作用于多张原理图之间,但是不能在一张原理图里多次放置;

OrCAD 批量指定字体和图形的颜色

  1. 首先,依次点击 OrCAD 菜单栏上的 View -> Toolbar -> Command Window
  2. 然后,使用鼠标框选当前需要指定颜色的 文字图形
  3. 最后,在【Command Window】窗口输入 SetColor 颜色代码
1
2
3
SetColor 0    // 设置为黄色
SetColor 4 // 设置为浅蓝色
SetColor 6 // 设置为粉色
    0 黄色
    3 深绿色
    4 浅蓝色
    5 蓝色
    6 粉色
    8 红色
    9 浅黄色
    10 浅绿色
    15 亮粉色

常见 ORCAP 原理图错误处理

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 项下面的勾选。

ORCAP-1376 多个网络别名

Heterogeneous [ˌhetərəˈdʒiːniəs] 类型的元件由多个部分组成,如果 OrCAD 原理图当中,放置了多个 Heterogeneous 元件,那么在分配位号的时候,OrCADSession Log 窗口就会报出 ORCAP-1376 错误信息:

1
ERROR(ORCAP-1376): Cannot package part 'SFP?A(Value M42F-08P-020-P002G_0) at location (121.92, 139.70) on page 09-ETH-SFP-[0-6]', with multiple schematic symbols representing different functions. Ensure package has similar parts.

导致该错误的原因是 OrCAD 无法分辨哪几些部分属于同一个 Heterogeneous 元件,解决该问题可以遵循如下步骤:

  1. Heterogeneous 元件的每一个组成部分,都添加一个自定义的 Package 属性;
  2. 确保每一个 Heterogeneous 元件的各个组成部分 Package 属性都相同;
  3. 分配位号的时候,在【Annotate】窗口的 Combined property string 输入框内容的尾部添加 {Package}

OrCAD/Allegro 交互式网表的导入导出

OrCAD 里设置交互功能

鼠标点击 OrCAD 菜单栏上的 Options -> Preferences...,切换至【Preferences】对话框的【Miscellaneous】选项卡,勾选该选项卡下的 Intertool Communication,开启 OrCAD 的工具交互功能:

OrCAD 导出网表

鼠标点击 OrCAD 菜单栏上的 Tools -> Create Netlist... 或者直接点击工具栏上的图标,打开【Create Netlist】对话框:

紧接着在【Create Netlist】对话框里指定 .dat 网表文件导出的路径:

OrCAD 导出的网表文件主要由 pstchip.datpstxprt.datpstxnet.dat 三个文件组成,它们各自的功能和用途请参考下面的表格:

网表文件名称 功能描述
pstchip.dat 描述原理图当中元器件的引脚信息;
pstxprt.dat 描述原理图当中元器件的封装信息;
pstxnet.dat 描述原理图当中各个元器件之间的网络连接关系;

Allegro 导入网表

鼠标点击 Allegro 菜单栏上的 File -> Import -> Logic/Netlist...,打开【Logic/Netlist...】对话框:

接下来在打开的【Logic/Netlist...】对话框中进行如下的设置(注意指定 OrCAD 网表文件的所在目录):

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

快捷键 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

快捷键 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
funckey w add connect                  /添加走线/
funckey c color /赋予网络颜色/
funckey e show element /显示元素参数/
funckey r rats net /显示飞线/
funckey u unrats net /关闭飞线/
funckey p shape add /绘制铜皮/
funckey s shape select /选中铜皮/
funckey M "pop mirror" /激活 MOVE 命令时,器件换层/
funckey m mirror /器件换层/
funckey f fix /锁住元素/
funckey " " "pop bbdrill -cursor" /点击空格键添加过孔/
funckey z "zoom center; pick -cursor" /在中心区域显示选中的内容/
alias Esc cancel /取消操作/
alias Del Delete /删除/
funckey t delay tune /绕等长/
funckey i zoom in /放大视图/
funckey o zoom out /缩小视图/
funckey q add connect /走线/
funckey g Define grid /设置栅格点/
funckey h hilight /高亮/
funckey n cns show /显示对象信息/
funckey d status /相当于菜单栏上 Display -> Status.../
funckey X create fanout /扇出/
funckey ' ' iangle 90 /空格键,旋转物体 90 度/
funckey ~' ' iangle 45 /CTRL + 空格键,旋转物体45度/

关闭 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,就可以开启移动对齐辅助线

从 Allegro 工程导出 PCB 封装

从 Allegro 导出 .dra 封装库源文件

使用 Allegro 打开已有的 PCB 版图文件 .brd 之后,可以导出当前 PCB 版图所涉及的各种封装文件:

  1. 鼠标依次点击 Allegro 菜单栏上的 File -> Export -> Libraries...;
  2. 在弹出的【Export Libraries】对话框当中,勾选 No library dependencies,并在 Export to directory 填写 PCB 封装的导出路径;
  3. Allegro 就会自动将 PCB 封装源文件 .dra、PCB 封装文件 .psm、PCB 封装描述文件 .txt 导出到指定的目录当中。

从封装库源文件导出 .pad 焊盘文件

基于已有的 PCB 封装源文件 .dra,可以进一步导出指定的 .pad 焊盘文件:

  1. 依次点击 Allegro 菜单栏上的 Tools -> Padstack -> Modify Design Padstack...
  2. Allegro 当中打开 .dra 文件,并且选中一个焊盘;
  3. 然后展开鼠标右键,选择【Edit】对该焊盘进行编辑,此时会弹出【Padstack Editor】窗口;
  4. 鼠标依次选择弹出界面当中的【File -> Save As...】,就可以将 .pad 焊盘文件导出到指定目录;

从封装库源文件导出 .txt 封装信息

基于已有的 PCB 封装源文件 .dra,还可以导出以 .txt 作为后缀的 PCB 封装信息文件:

  1. 鼠标依次点击 Allegro 菜单栏上的 File -> Create Device...
  2. 在弹出的【Create Device File】窗口选择当前所要导出的元件类型 Device Type(默认包含 ICIODISCRETE 三个选项);
  3. 按下【OK】按钮之后,就会自动将 .txt 封装信息文件导出至当前 .dra 文件所在的目录;

从封装库源文件导出 .psm 封装文件

基于已有的 PCB 封装源文件 .dra,可以进一步导出 Allegro 实际使用的 PCB 封装文件 .psm

  1. 鼠标依次点击 Allegro 菜单栏上的 File -> Create Symbol...;
  2. 在弹出的【Create Symbol】对话框当中,选择 .psm 封装文件的保存位置;
  3. Allegro 就会自动将 .psm 封装文件导出到指定的目录;

修改 .dra 封装源文件的 Pin Number

  1. 使用 Allegro 打开 .dra 封装源文件;
  2. 切换 Allegro 界面右侧【Options】选项卡里的 Active ClassPackage GeometrySubclassPin_Number
  3. 鼠标点击 Allegro 菜单栏上的 Edit -> Text
  4. 鼠标选中 Allegro 工作区的封装焊盘,即可以实现对 Pin Number 的修改。

Allegro 导出 .dra 中的 .pad 焊盘文件

使用 Allegro 打开需要处理的 .dra 封装源文件,鼠标点击【Tools -> Padstack -> Modify Design Padstack】

鼠标双击 Allegro 右侧工作面板【Option】选项卡上面,当前需要导出的焊盘名称:

在弹出的【Padstack Designer】窗口,鼠标依次点击 File -> Save As...,即可将 .pad 焊盘文件保存到其所属 .dra 封装源文件所在的目录:

Cross Section 叠层的定义与添加

官方建议在 Allegro 当中,信号层采用正片层方式处理,电源层和接地线层采用负片层方式处理,这样可以减少工程文件的数据量,并且提升 EDA 软件的运行效率:

  • Conductor正片层,即用于正常走线的信号层
  • Plane负片层,被默认铺铜填充(走线被视为分割线)的电源层或者接地层,也被称为内电层

注意内电层AllegroAnti Etch 层,使用大于或者等于 15mil 的分隔线进行分割。然后使用鼠标右键菜单的 Assign Net 分配网络。

鼠标点击 Allegro 菜单栏上的 Setup -> Cross Section 项,或者直接点击菜单栏上的【Xsection】按钮,就可以进入 PCB 叠层管理器【Cross-section Editor】进行相关参数的设置:

鼠标点击【Cross-section Editor】窗口当中表格的 Name 列,选择右键菜单上的【Add Layer】项,就可以添加新的 PCB 叠层:

鼠标双击 Name 列还可以修改叠层的名称,命名方式推荐使用 层名称缩写 + 层顺序编号 格式,例如:TOPGND2、SIN3SIN4PWR5BOTTOM 等:

除此之外,还可以根据 PCB 生产企业提供的工艺制造参数(例如《嘉立创层压结构》),选择相应的 PCB 叠层 厚度(Thickness)、材质(Material)、电导率(Conductivity)、介电常数(Dielectric Constant)等参数。

注意Dielectric [ˌdaɪɪˈlektrɪk] n.电介质,绝缘体。

切换 Allegro 单位为 mil 或者 mm

鼠标依次选择 Allegro 菜单栏上的 Setup -> Design Parameters...,在弹出的设计参数编辑器【Design Parameters Editor】窗口,修改【Design】选项卡下面的 User units 下拉菜单:

设置 Allegro 工作区栅格大小

鼠标依次选择 Allegro 菜单栏上的 Setup -> Grids...,在弹出的栅格定义窗口【Define Grid】,就可以分别设置各个叠层的栅格大小(设置为 5mil 0.127mm 更加方便元器件对齐):

Allegro 的 Class 与 Subclass 概念

Allegro 当中的类型 Class子类型 Subclass 是这款设计工具当中的基本概念,当前绘制在 PCB 版图当中的所有对象都会以 ClassSubclass 进行管理。就像每一名学生都归属为某个年级与某个班级,这里年级与班级就可以分别被理解为 ClassSubclass,下图展示了 Allegro 当中一些默认的 Class

注意:在一些特定的系统 Class 下面,可以创建自定义的 Subclass

例如电气层 Etch 这个 Class 下面,对应着 TopBottom 两个 SubClass

例如 PCB 版图相关的几何形状层(板框、丝印、尺寸标注等)都被放置在 Board Geometry 这个 Class 下面,对应着下图当中的各个 SubClass

Allegro 当中 ClassSubclass 的名称本身没有任何意义,关键在于当把 PCB 版图上的对象放置到 Class 或者 Subclass 的时候,Allegro 如何去使用和处理这些对象。例如 Allegro 导入 PCB 封装的时候,PCB 封装当中的各个对象就会自动被放置在相应的 Class 当中进行管理,因为这些对象在 PCB 封装创建的时候就已经被指定了相应的 Class

注意Allegro 导入 .dxf 板框时,默认会自动新建一个 PCB 文件覆盖当前的 PCB 工程,如果想将 .dxf 板框导入到当前的 PCB 文件,则必须勾选【DXF In】对话框当中的 Incremental addition

电气布局走线相关的常用 ClassSubclass 如下面表格所示:

Class  SubClass top inner bottom all 功能描述
anti etch 用于切割覆铜
etch - 用于电气连接
package keepin - - - 允许放置元件区域
package keepout - 禁止放置元件区域
route keepin - - - 允许布线区
route keepout 禁止布线区
via keepout 禁止过孔区

工艺装配标注 相关的常用 ClassSubclass 如下面表格所示:

Class  SubClass board geometry package geometry ref des 功能描述
soldermask_top - 顶层阻焊层
soldermask bottom - 底层阻焊层
silkscreen top 顶层丝印层
silkscreen_bottom 底层丝印层
pastemask top - - 顶层助焊(钢网)层
pastemask_bottom - - 底层助焊(钢网)层
place_bound_top - - 顶层元件封装边界
place_bound_bottom - - 底层元件封装边界
outline - - PCB 板框
assembly_top - 顶层装配层
assembly_bottom - 底层装配层

注意board geometry 是指 PCB 板级的几何形状,package geometry 是指 PCB 封装级的几何形状。

Allegro 颜色编辑器

鼠标点击 Allegro 菜单栏上的 Display -> Color/Visbility... 或者直接按下快捷键【Ctrl + F5】,就可以打开【Color Dialog】对话框,使用 Allegro 进行 PCB 版图布局布线的时候,只需要开启如下的 ClassSubclass 的显示即可:

  • 元件封装丝印:将 Geometry -> Package Geometry -> Silkscreen_Top/Silkscreen_Bottom 显示为白色;
  • 元件封装位号:将丝印层 Component -> Ref des -> Silkscreen_Top/Silkscreen_Bottom 显示为白色,将装配层 Component -> Ref des -> Assembly_Top/Assembly_Bottom 显示为蓝色;
  • 元件焊盘阻焊:将 Stack-Up -> Pin -> Soldermask_Top/Soldermask_Bottom 显示为紫色;
  • PCB 板框:将 Geometry -> Border Geometry -> Outline/Design_Outline 显示为亮黄色;
  • PCB 板级丝印:打开 Geometry -> Board Geometry 下的丝印层 Silkscreen_Top/Silkscreen_Bottom 以及阻焊层 Soldermask_Top/Soldermask_Bottom 的显示;

导入 PCB 板框

导入的板框放置在 Board geometry 这个 ClassDesign Outline(兼容 17.x 之后的版本)和 Outline(兼容 16.x 之前的版本)两个 SubClass 下面。

放置板框的时候,在 Allegro 底部的【Command】输入框里键入 x 0 0,就可以让板框的左上角位置成为坐标原点

注意:如果系统提示板框超出绘制区域 SPMHA2-54: Cannot place outside of the drawing extends,则需要进入下面介绍的设计参数编辑器【Design Parameters Editor】,通过修改【Extends】选项卡下的相关参数,来调整绘制区域的大小。

修改 Allegro 绘制区域尺寸

鼠标点击 Allegro 顶部菜单栏上的 Setup -> Design Parameters...,切换到【Design Parameters Editor】对话框下的【Design】选项卡,通过调整 Extends 下的各项参数,就可以修改绘制区域的大小尺寸:调整绘制区域的尺寸。

  • LeftXLeftY:表示绘制区域左下角起始的 横坐标纵坐标 的值;
  • WidthHeigth:表示绘制区域宽度高度
  • Move orign: 通过修改其 XY 取值,就可以调整当前绘制区域原点的位置;

3D 预览

按下 鼠标中键 并且拖动,就可以移动预览 PCB,按下 Shirt + 鼠标中键 则可以用于旋转 PCB 版图的 3D 预览效果。

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

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

作者

Hank

发布于

2025-06-10

更新于

2025-09-12

许可协议