- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ALLEGRO约束规则设置步骤[图解]--第1页
ALLEGRO约束规则设置步骤[图解]
本文是我对约束规则设置方面的一些理解,希望对新手能有所帮助。由于本人水平有限,
错误之处难免,希望大家不吝赐教!
在进行高速布线时,一般都需要进行线长匹配,这时我们就需要设置好
constraint规则,并将这些规则分配到各类netgroup上。下面以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上了。点击physicalruleset
中的attach……,再点击右边控制面板中的
ALLEGRO约束规则设置步骤[图解]--第1页
ALLEGRO约束规则设置步骤[图解]--第2页
more,
弹出对话框
如上图所示,找到ckn0和ckp0,点击apply,则弹出
ALLEGRO约束规则设置步骤[图解]--第2页
ALLEGRO约束规则设置步骤[图解]--第3页
选中左边列表中的NET_PHYSICAL_TYPE,在右边空格内输入DDR_CLK,点击apply,弹出
即这两个net已经添加上了NET_PHYSICAL_TYPE属性,且值为DDR_CLK.
类似的,可以将DDR数据线,数据选通线和数据屏蔽线的NET_PHYSICAL_TYPE设为
DDR_DATA,DDR地址线,片选线,和其他控制线的NET_PHYSICAL_TYPE设为DDR_ADDR.
上述步骤完成后,我们就要将已经设好的约束分配到这些netgroup上。
如下图点击assignmenttable……
弹出对话框
ALLEGRO约束规则设置步骤[图解]--第3页
ALLEGRO约束规则设置步骤[图解]--第4页
如下图所示,我们对不同的信号组选择各自的physical约束
有人可能会问,为什么你这还有area0,area1啊?这是因为你的这些约束有的地方不可
能达到的,比如在bga封装的cpu内,你引线出来,线间距不可能达到30,20甚至10
个mil。在这些地方,如果你也按照这个约束那么你的pcb中的drc就不可能消的掉。
这时一个解决办法就是把这些地方划为一个room,然后给他加上room属性(即为room
的名字area0,1等等)。针对这些room内,设定合适的约束(同上)。
针对线间距,由于每个都分为组内间距和组外间距,所以共有6个约束:
DDR_CLK_INNER,DDR_CLK_OUTER,…………
我们只要对这六个约束设置linetoline和linetoshape就可以,分别按上述要求设
ALLEGRO约束规则设置步骤[图解]--第4页
ALLEGRO约束规则设置步骤[图解]--第5页
置就可以了。
剩下的步骤和physical中设置是一样的。不过这时assignme
文档评论(0)