分享

Allegro 约束管理器(BACK-END)介绍

 favinfeng 2012-10-15

一、 约束管理器(BACK-END)
    在HDL的相应课程中约束是表格代替PCB中的Constraints设置让人容易理解,这里用SigXplorer图形化可以更深刻的理解约束的定义和为什么。
(一)、规划网络(根据Cadence教程)
1、简单规划:
    选取要操作的网络显示:Display/Blank Rats/All隐藏所有的网络,打开约束管理器,Display/Show Rats/Net切换到约束管理器,Net…Wiring…选择要编辑的网络,右键菜单中选择Select,回到PCB后Done如下图:
 
    Logic/Net Schedule,比如要改为星形网络,点取左边端点移动时随之移动,在中部引脚处点下,再到最上方,回到中央再点下,下移在适当处点右键,选取Insert T点取放置点。从该点拉向另一端点,再拉回到T点然后依此到其它点如下图,在等距时网线会隐藏:
 
    切换到约束管理器,该网络的拓扑显示为Userdefine,以该NET创建一个ECSets如:a_constraints它会在ECS的Wiring中显示为Template。
点取其它网络,指定a_constraints为基参考ECSets。OK后,在参考ECSets栏中可能出错(变为红色),鼠标放其上边在状态栏有出错信息,表明Mapping失败。
    出错的应取消,方法是点选所有出错的,右键菜单中选择Clear。在Analysis Mode中选中Net Shedule和Online DRC 。在Verify Schedule列中为每个Net打开Yes。按F9开始分析。
 
可以看到上图中所有网络都继承了网络的规划,这个影响走线因此效果远比原来的好。也可以在System级(即ECSets)中加入Verify Schedule=Yes。

2、进阶:
    在PCB中先选取一组相似的网络创建一个BUS(在HDL的约束管理器是不能创建BUS的),在PCB中创建BUS来管理ECSets是一种快捷的方法。
    在PCB中只显示该BUS的线网,如下图:是上一例的原型。
 
    提取BUS到SigXplorer,点击BUS名右键菜单中选SigXplorer出现:
 
    实际上它是一个网络的网络结构图。实心三角形代表引脚,圆柱代表理想传输线(无损)并显示它的电阻和延时。细线代表理想连接。这是个超简单的编辑器,缺省操作是删除(左键点击),或你上次选择的Copy等操作,连线是点圆点拉出,不连时点空白处。
    删除所有细线,移动并按下图放置
 
连线后Clean的结果是:
 
注意:目的是在U14和U15处形成T点,为形成T点从其它复制了一个传输线TL10,如下图,含义是U2(中央的元件)与U19(上部没显示)有根Rat(TL11),U2相当于一个T点有Rats再连到J1和另一个T点,形成T点的关键是加入了Rat(TL10),从该T点拉到U14和U15。
点SET/Constraints选Wiring在Verify Schedule中选择YES。File/Update Constraints Manager后File/Exit。PCB中Display/show net回到约束管理器,点该BUS并Select后如下图。
 
Route Net By Pick后
  
这是两个T点处的情况旁边是另一个网络作为参考。这样做与1)是很相似的,约束管理Bus中一样产生有Template和ECSets。

(二)、Propagation Delay
1、规划网络:
目标:
 
从驱动端到分支总长1400~5400,分支1与分支2的长度允许相差150以内(第一个T点)。从分支到接收引脚长度在350~1000(第二个T点)。显然与上面的例子相似。
操作对象Module3中的ADDR_BUS。提取它到SigXplorer如下图:
 
按下图放置并连线:
 
Clean后:
 
先在SET/Constraint中设置Wiring的Verify Schedule=YES,打开Rel Prop Delay选项卡,设置等长约束。
 
NEW一个RULE,选择U19.9和T.2(下边的那个T点 )Scope选择Local,完成后点ADD,修改时点列表,改完后点Modify,这是从驱动端到各接收端的等长允差设置,选择的Delta Type=None与0相当吧,这里不能用Global。
切换到Prop Delay选项卡,完成下图:
 
U19.9作为驱动引脚可以直接点U19.9和T.1、T.2完成驱动到分支的长度设置。分支长度控制在SigXplorer上点图形完成接收端到T点的长度控制。OK现在可以Updata Constraints Manager了。
 
这是完成后的Min/Max Propagation Delay一个片段,符合目标的控制。**区域是因为还没布线。 
 
 
执行Route Net By Pick,系统自动进行了Elongation Route很意外,因此当然不会产生DRC错误了,见上图。只是T点处处理还是不如手动。走线完成后,可能产生很多DRC错误,方法是从约束管理器交叉参考到PCB,注意是长还是短了。用推挤或Elongation完成。

(三)、匹配群组(Match Group)
普通我们是在Relative Propagation Delay中定义Match Group的,因此它是等长走线。
来源:Module4,对象:D_BUS。目标:等长允差200mils。
网线是很简单的每个都是一根Rat,无分支。
从Relative Propagation Delay打开SigXplorer,总是打开的BUS的第一个Net模型。
 
因此没有Net的Schedule过程,直接Set/Constraints。前面说明了Prop Delay设置的是Min/Max Propagation Delay产生的结果是:
 
对它的设置。而在Rel Prop Delay的设置是等长。当然Min/Max Propagation Delay也可以做成等长的,但我个人认为应看作阻抗控制、等长多种应用。
进入Rel Prop Delay选项卡:
 
单Rat的网络设置,等长允差200mils,由此产生了一个ECSets,Updata Constraint Manager:
 
产生了上图的System ECSets。走线结果结果如下:
 
结论:
 
由于Cadence是个自动化很高的软件,上图的效果是很不错的,修改量不大。
*****查错看Cadence自带的Movie不说了!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多