3)Allegro PCB Router Tutorial自动布线入门

2019-07-14 07:56发布

本文记录学习自动布线的历程。
##1.自动布线概述

1.1 基本概念:

a). Pre-Routing:布线前应该设置约束规则和指定元件属性。检查层数和正负片的设置是否正确,放置埋孔和盲孔。设置布线规则,例如布线区域、约束和属性、网格和网络。
b). Routing,布线,关键信号线手动布。
**c).**Post-routing:布线后应该检查调整自动布线的结果。
备注:活用Find框,特别是在pick net/comp的时候。Rips up断开的意思 ###1.2. 文件后缀介绍 PCB Route过程图:
这里写图片描述
1.Design File(.dsn),是pcb的源头。
2.Do File,是自动布线命令合集的文本文件,它可以减少冗余的操作,简化设计过程,可以自己写指令批操作。
3.Session File(…ses)包含PCB Router产生的设计数据。
4.Wires File(.w)线和过孔文件
5.Placement File(.plc)PCB Router产生的设计数据包含元件位置、层和旋转角度。
6.Routes File(.rte)PCB Router产生的设计数据
7.Did File保存你在命令行输入的所有指令,自动记录。 ###1.3 PCB Editor中打开PCB Router步骤
1.打开已经布局好的brd文件,现在要导出dsn文件给pcb route:File - Export - Router。
这里写图片描述
2.Browse-Run-close,打开 PCB Router 加载.dsn file。
3.Route – Route Automatic整体全部布线。或者Route – Net(s) By Pick对某个网络布线。

1.4 布线菜单

这里写图片描述 1.Route - Slide(滑动)命令,在交互式地移动或编辑连接线或vias的同时保持它们的连接。
2.Route – Phase tune命令帮助您在适当的位置为差分对的任何成员添加相位颠簸,以便任何现有的相位调优drc在选后被消除。
3.Delay Tune,调整延迟时间。
4.Phase Tune,相位调整。
5.Custom Smooth,根据Options tab设置的parameters,优化所选线段的角度。
6.Create Fanout,为所选择的元件或引脚创建扇出,必须检查过孔是否到达布线层。
7.Copy Fanout,复制扇出,只能在同一面复制粘贴。
8.Via Structure过孔结构
8.1 define via structure定义过孔结构。可以将过孔和走线定义成过孔结构symbl。
8.2 delete_via_structure,删除,不用多说了。
9.Convert Fanout 变换扇出
9.1 mark fanout不懂
10. PCB Router
10.1 Fanout by Pick,指定扇出元件,短距离扇出
10.2Route Net(s) by Pick,指定网络或者元件
10.3Miter by Pick斜接90度变成45度。
10.4Unmiter By Pick,45度到90度
10.5 Elongation by Pick 绕线增加布线长度。
10.6Router Checks,检查布线前的约束是否正确。
10.7Optimize Rat Ts,优化T型节点,增加信号完整性
10.8Route Automatic所有元件自动布线
10.9Route Custom布线定制,不会
10.10Route Editor,调用打开Route Editor
11. Resize/Respace,空隙之间的扩张。过孔-过孔线增宽。
12. Gloss优化
12.1Add Fillet添加角,执行前需要先设置Parameters,后面具体介绍。
###1.5 设置PACKAGE KEEPIN
1.Z-Copy是比例放大,设置好option,点击outline就比例复制了一个outline形状
Set the Copy to Class/Subclass to PACKAGE KEEPIN and ALL.
offset 60
2.Defining Placement Keepout Areas
Choose Setup – Areas – Package Keepout.,
3.To set a spacing rule, you need to:
3.1.Create a Net class in Constraint Manager
3.2.Assign objects to the class.
3.3.Create a Spacing CSet
3.4.Assign the CSet to the Net class. ###1.6 创建约束
您可以使用“编辑属性”对话框向网络添加属性。如果要添加电属性(例如,差分对),可以使用Allegro约束管理器添加它.

1.6.1 创建Spacing约束对象

  1. 打开约束管理器,Setup – Constraints – Constraint Manager
  2. Spacing – Net – All Layers – Line
    这里写图片描述
  3. Objects – Create – Class.,输入名字SYNC_CLS1点击ok
    这里写图片描述
  4. 添加成员,右击SYNC_CLS1-Net Class members
    这里写图片描述

1.6.2 创建Spacing约束规则

  1. 创建规则 Net – All Layers – Line,右击SYNC_CLS1-Create – Spacing CSet.
    这里写图片描述
  2. 修改规则,Spacing Constraint Set – All Layers – Line,
    这里写图片描述
  3. 分配规则Net— All Layers – Line,右边选择之前新建的SYNC_SPACING_SET.规则。
    这里写图片描述

1.7 设置属性

概述:给要自动布线的元件和网络添加属性,在PCB Editor里面添加的大部分属性可以转换到PCB Router里面,当然也有一些属性是不能转换的。当有指定多个范围,转换后会取最严格的约束条件。

1.7.1通过对话框给net添加FIXED属性。

1.FIXED属性可以让这个net不自动布线。差分对不用解释。
2. Edit – Properties,设置Find如下图:
这里写图片描述
3. 输入net name 我这里是A7,搜索Fixed再apply
这里写图片描述
这里写图片描述
FIXED属性添加完成!

1.7.2通过约束管理器给net添加Differential pair属性。

  1. 打开Constraint Manager-Electrical-Net – Routing – Differential Pair,我这里选择将vd6和vd7创建为差分对。先选中vd6和vd7,再右击Create – Differential Pair
    这里写图片描述
    Differential Pair属性添加完成!

1.7.3通过约束管理器创建Match Group

  1. 打开Constraint Manager-Electrical-Net – Routing –Relative Propagation Delay。我这里选择A0A1A2A3网络,选中对应网络,右键创建MG1 。再在A1的Delta Tolerance列右键设为Target
match group:Electrical worksheet-Net – Routing – Relative Propagation Delay.-Choose the A0, A1, A2, and A3 nets.-Create Match Group-Right-click in the Delta Tolerance field for the A1 net and choose Set as Target.-
您可以使用Constraint Manager中的相对传播延迟属性来路由多个相对于一个网络的网络。例如,现在您将通过声明A1为目标网络并允许其他网络的相对增量,来设置net A0、A1、A2和A3的相对传播延迟属性。
这里写图片描述 下面补充插入一个参数的说明图
这里写图片描述 ###1.8 创建地平面
1.Setup – Subclasses-Etch.勾选自己要设置的正负片,新建平面,一目了然,没什么好记录的。 ###1.9 布线前检查Checks
操作:Route – PCB Router – Router Checks
这里写图片描述
1.FIXED属性是在Edit和Route内部都不会改变。而Protects在Route里面会改变。
2.DRC没有在edit里面打开的话是不会传递到Route里面的,所以说DRC MODE要设置为Always或者Bacth(分批),打开方法如:
a)打开Constraint Manager-Analyze – Analysis Modes-Electrical Modes.-On-line DRC设置为on。 ###1.10自动布线的模式
1.10.1. 主流模式,自动全部布线,不需要交互布线。
Route – PCB Router – Route Automatic就可以运行。我们要做到就是设置参数。
下面介绍设置参数:
a). Fanout
b). Bus routing,总线互相靠近走线
c). Seed vias,通过添加via将单个连接分解为两个较短的连接。
d). Testpoint 给信号分配测试点。
e). Miter corners,90度变成45度。
f). Spread wires,增加额外的空间在线,线和引脚之间。
g). Elongate 增加线的长度来满足rule 1.10.2. 高速模式,需要一定程度的交互,有可能要编辑.do文件。Route – PCB Router – Route Editor命令。一般在PCB Route 只传回布局和布线信息给Edit。.do文件是自动生成的,我们可以复制一个副本,编辑副本,再导入pcb route。 1.10.3. 高速大功率模式,需要重要 的交互.do文件。File – Export – Router命令。

2 为设计布线

###2.1Route – Connect手动布线
  1. 定义导电格点距离。Setup – Grids。
  2. option设置
    这里写图片描述
  3. 推挤:
    3.1. Hug Preferred 环抱已有的走线过孔引脚,不改变已存在的导电Etch。
    3.2. Shove Preferred ,推挤优先
    3.3. gridless :off推挤导线到下一个可用的网格。on推挤导线远离焊盘和过孔,仅仅达到最少的DRC错误。
    ###2.2自动布线
    ####2.2.1. 检查属性
    这里写图片描述
    NO_RIPUP,在对一个net添加这个属性之后,你再any connections给这个net,PCB Route会移除你添加的连接。
    NO_ROUTE,不要布线
    FIXED,防止删除对象,保护之前的连接。
    NO_GLOSS不要优化。
    ####2. 2.2自动布线设置
  4. Router Setup 有三种模式如上图所示。
    Protect :使指定层上的所有斜线都固定,以便在布线过程中不会撕裂。
    这里写图片描述
  5. Routing Passes Tab
    preroute布线之前的操作。
    passes表示通路有效尝试次数
    这里写图片描述
  6. Fanout Tab,控制扇出的参数,例如扇出的方向,层数,过孔
  7. Bus Routing Tab,总线走线的设置
  8. Seed Vias Tab打断一根线连接,插入过孔,变成两个短的连接。
  9. Testpoint Tab分配测试点给信号网络。
  10. Spread Wires Tab加入额外的空间在线和引脚之间。增加pcb板的可制造性,通过移动线不增加或者移动过孔。
  11. Elongate Tab增加线的长度满足时延
####2.2.3 举例
  1. Route – PCB Router – Elongation by Pick。再在空白处右键-Setup,目的是消除DRC错误,使其延时匹配,进入设置界面如下图。
    这里写图片描述
    a) 本来的面目是下图:
    这里写图片描述
    b) 只勾选Meander(蜿蜒)没有用,还要在形状里面3选1,图示很清楚,没有必要介绍了。Trombone(喇叭)、Accordion(手风琴)和Sawtooth(锯齿)。
  2. 基操
    a) 加入bus命令:Route – PCB Router – Route Automatic,确保Specify routing passes是选中的,打开Routing Passes tab,在新的一行加入bus命令,如下图:
    这里写图片描述
    可以点击params…设置参数,diagonal(斜线的)和orthogonal(正交的),clean是完全的,整个的,不是清除。
    b) 智能布线,Smart Router tab
    这样设置差不多了
    这里写图片描述
    c) do文件布线,
    设置布线环境
    设置设计约束规则
    总的来说就是把可视化设置转成了文字描述,不用了解。
    这里写图片描述
  3. xxxx by pick
    find框超好用,在这个命令下边。
    下图是选不选Miter Pins and Via Exits的区别
    这里写图片描述
    这里写图片描述
Fanout by pick
a)不勾选
这里写图片描述
这里写图片描述
b)只勾选share pins
这里写图片描述
这里写图片描述
c)还勾选share SMD’s on way to Via
这里写图片描述
这里写图片描述

3 Post Route 布线后处理

  1. Slide移动
  2. critic选项,局部布线优化
    这里写图片描述
    这里写图片描述
    这里写图片描述
  3. 此条摘抄自PCB联盟网。Gloss优化,Route – Gloss – Parameters .清除不必要的线和过孔,圆滑线,焊盘中间的线,把转角变成圆弧,自动布线总会产生一些布线效果不好、多余过孔等问题。此时可以利用allegro提供的Gloss命令对设计进行优化和调整,这样不仅可以提高设计的美观和可生产性,并且可以降低制造成本,提高产品可靠性。
    如果某些网络有特殊要求,我们就应该对其进行设置以保护在优化过程中不改变这些网络的特殊性。保护网络不在优化过程中改变的俄方法就是给网络增加NO_GLOSS 或者FIXED属性。
    如果要保护设计中的某个区域不被优化,则应设置一个NO_GLOSS的多边形。NO_GLOSS的多边形应该设置在MANUFACTURE层,它的子层可以是NO_GLOSS_TOP、NO_GLOSS_BOTTOM、NO_GLOSS_ALL或NO_GLOSS_INTERNAL。
    这里写图片描述
  4. DRC错误快速判断
    | Tables | Are |
    | -------- |:------