在当今高速PCB设计中,一组走线的等长越来越重要。Allegro为工程师提供了功能强大的Constrain Manager,即约束管理器,工程师可以很方便地进行各种规则的设定,包括等长规则。 在无线时代早前发表的《DDR布线规则与过程》一文中,已经给出了一种设置等长规则的方法,但这种方法具有一定的局限性,一旦某条网络的拓补不符合规律,将出现异常。本文以朋友设计的EMMC小卡为例,给出一种相对通用的等长规则设置方法,希望对读者有帮助。
1. 本例中需要实现PCI-e金手指到EMMC芯片等长,包括D0-D7,CLK,CMD这10条网络。查看各条网络,确认是否存在串联匹配电阻。本例中,仅在时钟线上存在,如下图的高亮器件。
2. 为串联匹配电阻分配仿真模型,这样做的目的只有一个:建立Xnet。因为我们要实现的是金手指到达EMMC芯片的引脚等长,所以必须将串联匹配电阻的两端网络视为同一条。点击Analyze—>Model Assignment,如下图,
3. 在16.6版本中会弹出一个对话框,就是一些设计错误,直接点击Ignore Errors下面的“All”,然后再点击“OK”即可,如下图。
4. 勾选右侧Find窗口中的Symbols,如下图。
5. 点击时钟线上的串联匹配电阻R9,会出现Signal Model Assignment的界面,如下图。
6. 点击“Create Model,如下图。
7. 在弹出的Create Device Model对话框中点击“OK”,如下图。
8. 在弹出的Create ESpice Device Model对话框中点击“OK”,如下图。
9. 此时返回Signal Model Assignment界面,发现R9已具备Model,如下图。
10. 点击Show Element快捷按钮,选中EMMC CLK网络,发现已具备Xnet,如下图。
11. 接下来就是创建Match Group,即等长组。点击Constrain Manager图标,在弹出的Constrain Manager界面中,点击左侧的Electrical类别下的Relative Propagation Delay,右侧出现相对传输延迟规则,可以看到EMMC CLK网络作为Xnet出现在其中,如下图。
12. 在进行这步操作之前, 笔者再次强调我们要实现金手指到EMMC芯片引脚的等长,即pin到pin的等长,每条网络可以视为一对Pin Pair。在任意一条网络上点击右键Create Pin Pair,如下图。
13. 在弹出的Create Pin Pairs of MMC_DATA0对话框中分别选择需要等长的pin,然后点击OK,如下图。当然,我们选择金手指(J1)和EMMC芯片(U1)的引脚,而不是上拉电阻(R8)。
14. 依次处理所有需要等长的网络,完成后如下图所示。
15. 在任意一对pin pairs上点击右键—>Create—>Match Group,如下图。
16. 在弹出的对话框中输入名称EMMC,然后点击OK,如下图。
17. 按住Ctrl,依次选择需要等长的pin pair,然后点击右键—>Add to—>Match Group,如下图。
18. 在弹出的对话框中点击下拉箭头选择刚刚创建的EMMC,如下图。
19. 回到Constrain Manager界面,可以看到Match Group已正确建立,如下图。
20. 但默认是以时间做等长单位,不符合一般习惯,改为mil。点击“ns”,在弹出的对话框中选择“mil”,如下图。
21. 在MGrp中的EMMC名称所在一行与Delta:Tolerance所在一列的交叉位置输入等长条件“0:25”,即Delta为0,Tolerance为25,此时看到已变成mil单位,如下图。
22. 在MGrp中的EMMC名称上面点击右键—>Analyze,看到当前的等长状态。
至此,EMMC等长设置完成,接下来就是绕等长了,不是本文讨论的内容。本文的核心思想是使用Pin Piars建立等长规则,这种方法相对通用,在Allegro中应用广泛。在这些年使用Allegro进行PCB设计的 过程中,感受很深的一点就是:如果想很好地掌握Allegro,就必须多思考,多练习,举一反三。
挺实用的文章
2015-10-07 11:03写的非常好,想看DDR拉线视频
2020-06-29 14:46感谢认可,不过我实在是没有精力录制视频。。。
2020-06-29 15:14