文档详情

ALLEGRO约束规则设置步骤.doc

发布:2017-02-06约2.76千字共9页下载文档
文本预览下载声明
ALLEGRO 约束规则设置步骤 字体大小: 小 中 大 作者:tzyhust@163.com ??? 来源: ??? 日期:2006-12-12 ??? 点击:868 ??????? 本文是我对约束规则设置方面的一些理解,希望对新手能有所帮助。由于本人水平有限,错误之处难免,希望大家不吝赐教!? ? ??????? 在进行高速布线时,一般都需要进行线长匹配,这时我们就需要设置好 constraint 规则,并将这些规则分配到各类 net group 上。下面以 ddr为例,具体说明这些约束设置的具体步骤。 1. 布线要求 DDR 时钟:? 线宽 10mil,内部间距 5mil,外部间距30mil,要求差分布线,必需精确匹配差分对走线误差,允许在+20mil 以内 DDR 地址、片选及其他控制线:线宽 5mil,内部间距 15mil,外部间距 20mil,应走成菊花链状拓扑,可比 ddrclk 线长 1000-2500mil,绝对不能短 DDR 数据线,ddrdqs,ddrdm线:线宽 5mil,内部间距 15mil,外部间距 20mil,最好在同一层布线。数据线与时钟线的线长差控制在 50mil 内。 ? 2. 根据上述要求,我们在 allegro 中设置不同的约束 针对线宽(physical),我们只需要设置 3 个约束:DDR_CLK, DDR_ADDR, DDR_DATA? ? 设置好了上述约束之后,我们就可以将这些约束添加到 net上了。点击 physical rule set中的 attach……,再点击右边控制面板中的 more, ? 弹出对话框? ? 如上图所示,找到 ckn0和 ckp0,点击 apply,则弹出 ? 选中左边列表中的NET_PHYSICAL_TYPE,? 在右边空格内输入DDR_CLK,? 点击apply,弹出? ? 即这两个 net已经添加上了 NET_PHYSICAL_TYPE 属性,且值为 DDR_CLK. 类似的,可以将 DDR 数据线,数据选通线和数据屏蔽线的 NET_PHYSICAL_TYPE 设为 DDR_DATA, DDR 地址线,片选线,和其他控制线的 NET_PHYSICAL_TYPE 设为DDR_ADDR. 上述步骤完成后,我们就要将已经设好的约束分配到这些 net group 上。 如下图点击 assignment table…… ? 弹出对话框? ? 如下图所示,我们对不同的信号组选择各自的 physical 约束? ? 有人可能会问,为什么你这还有 area0,area1 啊?这是因为你的这些约束有的地方不可能达到的,比如在 bga 封装的 cpu 内,你引线出来,线间距不可能达到 30,20 甚至 10个 mil。在这些地方,如果你也按照这个约束那么你的 pcb 中的 drc 就不可能消的掉。这时一个解决办法就是把这些地方划为一个 room,然后给他加上 room 属性(即为 room的名字 area0,1 等等)。针对这些 room内,设定合适的约束(同上)。 ? 针对线间距,由于每个都分为组内间距和组外间距,所以共有 6 个约束: DDR_CLK_INNER,DDR_CLK_OUTER,………………………… 我们只要对这六个约束设置 line to line 和 line to shape 就可以,分别按上述要求设置就可以了。? ? 剩下的步骤和 physical 中设置是一样的。不过这时 assignment table 变成了下面这样。 ???? 下面就是设置线的等长。这个需要我们到 Ecset 中设置。这些高速线一般都需要端接匹配(数据线由于是双向的,两端都有匹配电阻),所以你的整个 etch 被分成了好几个 net,这时候这些 net 的长度计算就比较麻烦。一种情况就是你设置 XNET,然后对 Xnet 计算长度,我认为这是最省事也是最好的一种办法,还有就是你不管什么 Xnet,分别将各段的长度加起来,算等长。 ? 注:? 这个时候有个很矛盾的事情,就是你的时钟线如果想定义为差分线来走,即让allegro 自己等间距的一次拉差分线,你就不能将之定义为 Xnet,我自己用的时候是这样的,我在将时钟线对应的 xnet 删除后,时钟线就可以成对的拉,而之前尽管设置好了差分属性,系统也是不认的。不知道大家有没有这个经验。 ? 下面我就讲讲如何设置这些约束,并将这些约束加到对应的 xnet 上。 点击? 或 setup》electrical constraint spreadsheet,弹出 ? 点击 electrical constraint set》routing》total etch le
显示全部
相似文档