Cadance约束设置分析

一、为上下两层4 对称拓扑

Electricalconstraint set中设置

CK设置及方法

        将CPU的CK引脚到4片对应时钟引脚设置为4个pin pair;

        针对每对pin pair设置一个match group,该群组包括该对pin pair;

        在每个时钟群组中需将pin pair设置为global全局,delta:tolerance为0mil:10mil;

        最后将时钟4个群组设置为一个时钟约束ddrclk。

 

控制线等长设置及方法

        将CPU的地址线引脚到4片对应地址线引脚设置为4个pin pair;

        针对每对pin pair设置一个match group,该群组包括该对pin pair;

        在每个地址线群组中需将pin pair设置为global全局,delta:tolerance为0mil:250mil;

        最后将地址线4个群组设置为一个地址线约束ddrcom。

 

控制线1等长设置及方法

        将CPU的ODT引脚到4片对应ODT引脚设置为4个pin pair;

        针对每对pin pair设置一个match group,该群组包括该对pin pair;

        在每个ODT群组中需将pin pair设置为global全局,delta:tolerance为0mil:250mil;

        最后将ODT 4个群组设置为一个ODT约束ddrcom1。

 

地址线等长设置及方法

        将CPU的地址线引脚到4片对应地址线引脚设置为4个pin pair;

        针对每对pin pair设置一个match group,该群组包括该对pin pair;

        在每个地址线群组中需将pin pair设置为global全局,delta:tolerance为0mil:300mil;

        最后将地址线4个群组设置为一个地址线约束ddrS_A。

 

数据线等长设置及方法

        将CPU的数据线引脚到4片对应数据线引脚设置为4个pin pair;

        针对每对pin pair设置一个match group,该群组包括该对pin pair;

        在每个数据线群组中需将pin pair设置为global全局,delta:tolerance为0mil:50mil;

        最后将数据线4个群组设置为一个数据线约束ddrS_D0、ddrS_D1、ddrS_D2、 ddrS_D3。

 

NET中设置

 

CLK-DQS-U2的matchgroup的对象用于U2上时钟差分对和数据采用差分对的等长匹配。

        在2对差分对网络线创建4个pin pair对象;

        创建包含以上4个pin pair对象的match group对象;

        以数据采样差分对中的某条线设置为Target,并选择为global;

        在match group对象中的pin pair选择栏设置为all drivers/all receivers, delta:tolerance为0mil:250mil。即数据线和时钟线的长度在±250mil内。

        CLK-DQS-U3、CLK-DQS-U4、CLK-DQS-U5设置方法与上相同。

 

上图所示,两个差分对共4个pin pair对象。同时也可以采用如下图进行设置:


即也可以使用net对象,再在pin pairs栏中选择all Drivers/All Recevers也可以达到同样效果。


DDRCOM1-U2的matchgroup的对象用于U2上odt和数据采用差分对的等长匹配。

        在2对差分对网络线创建4个pin pair对象;

        创建包含以上4个pin pair对象的match group对象;

        以数据采样差分对中的某条线设置为Target,并选择为global;

        在match group对象中的pin pair选择栏设置为all drivers/all receivers, delta:tolerance为0mil:250mil。即数据线和时钟线的长度在±250mil内。

        DDRCOM1-U3、DDRCOM1-U4、DDRCOM1-U5设置方法与上相同。

       (此处设置多余)

 

DDRDATA0-DQS0的matchgroup对象用于U2上的字节内数据线等长匹配。

        单字节内数据线创建11个pin pair对象;

        创建包含以上11个pin pair对象的match group对象;

        以数据采样差分对中的某条线设置为Target,并选择为global;

        在match group对象中的pin pair选择栏设置为all drivers/all receivers,delta:tolerance     为0mil:50mil,差分对另一条线为0mil:10mil。

        DDRDATA1-DQS1、DDRDATA2-DQS2、DDRDATA3-DQS3设置方法与上相同。

 

U1-U2的matchgroup对象用于U2中地址线与时钟线的等长匹配。

        单字节内数据线创建27个pin pair对象;

        创建包含以上27个pin pair对象的match group对象;

        将时钟线设置为Target,并选择为global;

        在match group对象中的pin pair选择栏设置为all drivers/all receivers,delta:tolerance     为0mil:250mil。

        U1-U3、U1-U4、U1-U5设置方法与上相同。

 

U2-CLK-COM的matchgroup对象用于U2中控制线(已被地址线包括,意义不大)与时钟线的等长匹配。

        单字节内数据线创建15个pin pair对象;

        创建包含以上15个pin pair对象的match group对象;

        将SCKE设置为Target,并选择为global;

        在match group对象中的pin pair选择栏设置为all drivers/all receivers,delta:tolerance     为0mil:250mil。

         U3-CLK-COM、U4-CLK-COM、U5-CLK-COM设置方法与上相同。

 

DDRCLK的BUS对象用于约束时钟到4片DDR3分叉线等长

        先建立CK和CK#的XNET;

        再在以上两个网络将从CPU U1到4片DDR3的时钟引脚建立4个pin pair对;

        将设置好的时钟pin pair约束进行时钟ddrclk约束,以使4条时钟分叉线等长。


上图使用DDRCLK约束对BUS对象进行设置,该BUS无法对4个时钟分叉线等长进行约束。

        ddrclk约束只能作为用于给同类BUS成员快速设置pin pair对象使用,如下图所示:


正确的等长约束方法如下:


先设置差分对约束,设置静态相位差为10mil以约束等长。


再将时钟差分对设置为差分对对象,而不是BUS对象,再将对应约束付之即可。


DDRCOM的BUS对象用于约束地址线到4片DDR3分叉线等长

       先建立SA0-SA14、SBA0-SBA2、SCAS、SCK0、SCKE0、SRAS、SWE的4根分叉线对应的4个pin pair对;

        将设置好的地址线pin pair约束进行地址线DDRCOM约束,以使4条地址线分叉线等长。

 

DDRCOM1的BUS对象用于约束地址线到4片DDR3分叉线等长

        先建立DSCKE1、DSCS0、DSODT0、DSODT1的4根分叉线对应的4个pin pair对;

        将设置好的地址线1 pin pair约束进行地址线DDRCOM1约束,以使4条地址线分叉线等长。

 

总结:

通过对全志A20的PCB约束设置分析,CPU挂4片DDR3的约束比较复杂。

        1.每片DDR数据线长度使用DDRDATA0-DQS0match group对象约束;

        2.DDR3间数据线长度约束实质为数据线与差分时钟线长度关系,使用CLK-DQS-U2match group对象约束;

        3.每片DDR地址线和控制线长度约束实质为地址/控制线与差分时钟线长度关系,使用U1-U2match group对象约         束;

        4.DDR3间地址线和控制线长度约束使用DDRCOM和DDRCOM1 BUS对象约束,该总线使用DDRCOM和                       DDRCOM1进行约束;

        5.DDR3时钟差分对长度约束使用DDRCLK BUS对象约束,该总线使用DDRCLK进行约束。

 

这里就涉及到match group和BUS对象的使用方法问题。

 1.一般matchgroup主要用于长度匹配问题,常和pinpair配合起来进行长度约束。在约束配置中常用于IC内数据线、地址线和控制线的等长约束。

 2.BUS用于将等具有同类型或同拓扑结构的NET成员进行同步约束,以提高约束效率。在约束配置中常用于同类型IC间的时钟线、地址线和控制线的等长约束,时钟线设置为差分对与BUS不同。

        对于如时钟线、地址线和控制线等常挂载多个DDR3负载,在使用BUS对象进行约束管理时往往还涉及到其分叉线的长度匹配。

        多负载分叉线长度匹配方法如下:

        1.在net栏目中先选择地址线SA0的网络,然后建立该网络涉及的4个

        Pinpair对象,如:U1.K3:U2.W4、U3.K3:U2.W4、U4.K3:U2.W4、U6.K3:U2.W4; 

        2.创建使用U1.K3:U2.W4、U3.K3:U2.W4、U4.K3:U2.W4、U6.K3:U2.W4 Pin pair对象的4个DDR3的match                 group对象:U1-U2、U1-U3、U1-U4和U1-U5.

        3.选择SA0后进入sigxplorer,将该网络拓扑导入到CM中以生成包含以上pin pair约束和match group约束的总地           址约束Ecset;

        Ecset即是所用地址线BUS的约束。本人称之为拓扑约束法,此在涉及时钟或地址分叉拓扑结构时将会起到非常高效的设计作用。

        以上约束设置方法需要在实际过程中进行运用和仔细体会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值