在PCB设计中,布线是完成产品设计的重要步骤,可以说前面的工作都是为它而做的。在整个PCB设计中,布线的设计过程要求最高,技巧最细,工作量也最大。PCB布线有单面布线、双面布线及多层布线。布线的方式也有两种:自动布线及手工布线。对于一些比较敏感的线、高速的走线,自动布线不能再满足设计要求 ,一般都需要采用手工来进行布线。
采取高速PCB设计人工布线,不是毫无头绪地一条一条地对PCB进行布线,也不是常规简单的横竖走线,是基于EMC、信号完整性、模块化等的布线方式。一般按照如图10-1所示的思路进行PCB的布线。
图10-1 PCB布线基本思路
10.1.1 类的简介
Net Class就是网络类,同一属性的网络或差分放置在一起构成一个类别,即常说的网络类。把相同属性的网络放置在一起,就是网络类,如GND网络和电源网络放置在一起构成电源网络类。属于90欧姆的USB差分、HOST、OTG的差分放置在一起,构成90欧姆差分类。分类的目的在于可以对相同属性的类进行统一的规则的约束或编辑管理。
在ALLEGERO软件中由用户自己进行类的创建及命名,并设置好规则进行驱动,执行菜单命令Setup-Constraints-Constraint Manager进入规则管理器,在管理器中进行创建,如图10-2、图10-3所示。
图10-2 执行Constraint Manager命令
图10-3 类的定义
10.1.2 class的创建
网络类就是按照模块总线的要求,把相应的网络汇总到一起,如DDR的数据线、TF卡的数据线等,创建步骤如下:
(1)执行菜单命令Setup-Constraints-Constraint Manager进入规则管理器。
(2)点击规则管理器中Physical选项中的Net,这个窗口显示PCB中所有网络,如图10-4所示
图10-4 规则管理器
(3)利用“ctrl+鼠标左键”或“shift+鼠标左键”进行多选网络,然后鼠标右键点击进行类的创建,如图10-5所示
图10-5 类的创建
(4)在弹出的窗口对所建类进行命名,点击OK,类的创建就完成了,如图10-6所示
图10-6 命名类
10.1.3 net group的创建
Net Group是归纳某一类信号的集合,比如DDR颗粒,是同一组的D0~D7数据线就可以创建为一组Net Group,方法与“类的创建”相似,步骤如下:
(1)执行菜单命令Setup-Constraints-Constraint Manager进入规则管理器。
(2)点击规则管理器中Physical选项中的Net。
(3)利用“ctrl+鼠标左键”或“shift+鼠标左键”进行多选网络,然后鼠标右键点击进行Net Group的创建,如图10-7所示
图10-7 Net Group的创建
(4)在弹出的窗口对所建Net Group进行命名,点击OK, Net Group的创建就完成了,如图10-8所示
图10-8 命名Net Group
10.1.4 pin-pair的创建
在Allegro软件中,不论是做绝对传输延迟还是做相对传输延迟,它的本质都是从一个元器件的管脚连接到另一个管脚的长度,也就是我们所说的Pin-Pair到Pin-Pair的长度。我们创建等长集合,其实也是创建Pin-Pair的集合,Pin-Pair创建步骤如下:
(1)执行菜单命令Setup-Constraints-Constraint Manager进入规则管理器。
(2)进入到规则管理器之后,在CM左侧的目标栏中选择Net,在Net中选择相对传输延迟选项Relative Propagation Delay,如图10-9所示
图10-9 相对传输延迟设置示意图
(3)选择其中一根需要做等长的信号线,点击鼠标右键,点击Create,在下拉菜单中选择Pin Pair,如图10-10所示
图10-10 创建Pin Pair示意图
(4)点击上述命令之后呢,会弹出该网络锁连接到的所有管脚,如图10-11所示,如果是点对点,直接点击OK即可,如果是多个连接点,选择需要做等长的那两个连接点,点击OK按钮;
图10-11 Pin Pair选项示意图
(5)把所有需要做等长的信号线,都按照上述所描述的方法进行添加Pin Pair,添加完成之后,选中所有的Pin Pair,创建等长集合,一起做等长即可。
10.1.5 Xnet的创建
Xnet是指在无源器件的两端,两个不同的网络,但是本质上其实是同一个网络的这种情况。比如一个源端串联电阻或者串容两端的网络。在实际设计情况中,我们需要对这种进行Xnet的设置,方便进行时序等长的设计,一般信号传输要求都是信号的传输总长度达到要求,而不是分段信号等长,这时采用Xnet就可以非常方便的实现这一功能,在Allegro软件中添加xnet的具体步骤如下所示:
(1)执行菜单命令Analyze-Model Assigment,进行模型的指定,如图10-12所示。
图10-12创建模型示意图
(2)点击指定模型之后,会弹出如图10-13所示的界面,这些是没有解决的问题,一般都是电压的问题,系统会显示这个是个电源,但是并没有赋予电压值,所以会显示错误。一般我们添加Xnet可以忽略掉这些,不用管这些错误,直接点击OK按钮即可;
图10-13 SI Design Audit示意图
(4)在PCB界面点击需要设置Xnet模型的元器件,右侧对应列表中会同步进行选中,也可以将同一类型的全部选中,如图10-14所示
图10-14给元器件创建模型示意图
(5)选中需要创建模型的元器件之后,点击如图10-14所示的列表的下方“Create Model”选项,进行模型的创建,在弹出的界面中,按照默认的即可,选择“Create ESpiceDevice model”即可,如图10-15所示。
图10-15 给元器件创建模型示意图
(6)在弹出的对话框中,如图10-16所示,需要我们自己填写的是:Value值按照实际Value值去填写,仿真的时候会用到这个数据;Single Pins需要我们去对应好电阻的关系,如图10-15输入中的一致,表示的含义是1 8是一个电阻,一个电阻两端的网络是同一个网络,以此类推,这个我们举例添加的排阻有四个Xnet;
图10-16 设置模型参数示意图
(7)添加完成以后,可以回到PCB界面,点击查询按钮,可以查询该网络,是否添加了Xnet,如图10-17所示。
图10-17 Xnet显示示意图