Allegro PCB 设计实战:T型拓扑结构创建与等长规则设置详解
原创LowHuangLowHuangMakerSpace
简介:LowHuangMakerSpace专注于嵌入式开发,并且开创了个人博客网站www.lowhuangspacemaker.cn
引言
在高速PCB设计中,T型拓扑结构是处理多负载信号(如DDR内存)时常用的布线方式,它能有效保证信号完整性和时序一致性。然而,如何在Cadence Allegro中高效创建T型拓扑并设置精确的等长规则,是许多Layout工程师面临的挑战。
本文旨在为PCB设计工程师、硬件工程师以及Allegro初学者提供一套完整的实战指南。我们将从基础概念出发,逐步演示两种创建T型拓扑的方法,并详细讲解如何在Constraint Manager和SigXplorer中设置等长规则。无论您是正在处理DDR布线,还是希望提升高速设计技能,本文都将为您提供实用的操作步骤和最佳实践。
通过阅读本文,您将掌握:
- T型拓扑在高速设计中的重要性
- Allegro中创建T型拓扑的两种方法对比
- Constraint Manager中网络分组与规则设置技巧
- SigXplorer工具的高级应用
- 等长规则的实际配置与验证流程
让我们开始探索Allegro在复杂拓扑设计中的强大功能。
上一期中LowHuang介绍了PADS中做T形拓扑结构时如何运用软件自身的规则去设计。在高端的设计中T形拓结构是非常常用的,也是非常难搞的。而各家软件都有考虑这一块儿,貌似AD在这方面比较弱,反正LowHuang是没用过,主要是因为买不起能跑AD的电脑......作为Layout攻城狮你懂的.....
总的来说,对于这一块儿的功能,Mentor EE听说也不错,只可惜没机会使用.就LowHuang使用心德来讲 Allegro 的功能比PADS要强大,效率要高一些,下面就来介绍Allegro中的方法。
首先打开上一期一样的PCB文档。
注意 Allegro 打开PADS的文档,需要转换才能打开:PADS导出ASC文件——》CADENCE中用 PADS Translator 工具转换。
a).打开PCB Editor,打开后选择组件(注意CADENCE各个版本组件有所差异,尽量选功能最全的那个组件,LowHuang用的是17.4)
Allegro中创建T型拓扑结构有两种方法,在这里分别作介绍
方法一:
a).网络分组
我们在走DDR这种线时,我们都要进行网络分组,然后去设置组内规则
1,Setup->Constraint Manager打开设计规则管理器
2,找到DDR的地址线,在这里为了用两种方法分别介绍,我将A0-A7分为一组,A8-A15分为一组。
SHIFT+单击选中A0-A7后 右键-》选择Create-》Net Group
输入NetGroup的名字,随便取。点OK。以同样的方法将A7-A15建一个Net
Group
建好后关闭Constraint Manager,回到PCB中
b).添加T点
1,在菜单栏点Logic-》Net Schedule
点CPU端地址管脚A0,此时鼠标光标上会形成一个交叉点,然后右键-》insertT选择合适的位置单击放下T点 -》点击U2的A0管脚-》点击T点-》点击U3的A0管脚-》右键 Finish.这里A0这条网络的T点已创建。
2,回到Constraint Manager中查看A0这条网络
这里可以看到A0有个User Defined表示用户定义了一个拓扑规则
选择DDR_A0这条网络右键-》选择Create->ElectricalCSet 用户定义的这个拓扑创建成一个电气规则,规则名随便取 完成后点OK.
而后在下面目录下可以看到我们创建的那个规则
3.规则设置
选中上图中DDR0_A0-A7这个规则右键-》选择SigXplorer 打开SigXplorer 这个组件。图中就是我们之前A0建的拓扑结构图
在这个工具选择Set->Constraints设置中下
Rel prop Delay:这个菜单页面是设置相对等长规则
Rule Name:规则名称 直点右边的New会自动生成
From:选择信号源端.这里我们选择第一段线(T点到U2),源端选左边的T.1.
TO:选择第一段线的末端(T点到U2),末端选左边的U2.N3.
Scope:如果是整条网络的起点到终点如(U1-U3),则选Global.如果是整条网络中间的一段(如T-U3)则选LOCAL.
Delta Type:偏移类型,不偏移,选NONE
Delta:不填
Tol Type:误差类型,选长度或延时。
Tolerance:设置等长误差值。
在这个页面我们建了三条等长规则,分别是:T点到U2等长,误差15MIL.
T点到U3等长,误差15MIL.
U1-U3等长, 误差30MIL.
设置好后选OK.然后点选File->Update Constraint Manager 更新规则到Constraint Manager
4.应用等长规则
回到下面这个页面
点选下面位置,将DDR0_A0-A7这个规则应用到这个网络群组
点选下面目录,查看等长规则
可以看到DDR0_A0-A7的T点到U2和T点到U3这组网络等长误差值是15MIL
DDR0_A0-A7的U1到U3这组网络等长误差值是30MIL,至此这组等长规则都设好了。关闭Update Constraint Manager 回到PCB页面可以看下,T点都自动加上了。
方法二:完全利用SigXplorer 来设置规和拓扑
回到网络分组这个页面
这次选择DDR0_A8-A15这一组线来讲解
选择DDR0_A8-A15 右键-》选择SigXplorer 打开 当前的拓扑结构是这样的
我们需要通用鼠标单击和拖动来编辑它,改成如下
中间自动生成一个T点
然后用同样方法一同样的方法去设置等长规则,这里不太讲。
设置完成后点选File->Update Constraint Manager 更新规则到Constraint Manager
回到Constraint Manager中查看等长规则
可以看到都设置完成了
设置完成了我们就可以拉线了,对于等长规则,群组的线拉通了之后,软件自动以组内最长的线为参考,并在右下角显示当前的状态。这里不作介绍
