0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

useful skew的作用及使用方法

电子工程师 来源:网络整理 作者:工程师曾暄茗 2018-07-15 09:03 次阅读

Dc综合是基于路径,每个路径上都有Cell和net,所以基于路径的综合就是计算路径上的delay和rc(dc是使用互连线模型进行估算)。

在了解delay和rc的计算时,我们要先了解一下一个cell对于drive(前级)和driven(后级)所用到的模型是什么。如下图,一个buffer,从前级看过来是一个load(capacitance,想获得这个load,可以通过load_of buffer/a获得),从后级看来是一个drive(resistance)。电路的的驱动能力是上一级的1/R,即电阻的倒数,驱动能力大,说明看过去的电阻小,也说明这个器件比较大(大器件有较大的驱动能力)。电路的负载能力是下一级的load(即电容)总和,负载能力大,说明能驱动下级的期间就很多。

大器件是大电容,小电阻,而小器件是小电容,大电阻。理解这些,对于dc综合以及后端apr版图都有很好的操作。

useful skew的作用及使用方法

对于cell的延迟,dc是根据input_transition和out_load对应的查找表来计算的。

对于net的延迟,dc是根据wire_load_model中的fanout_length和resistance,capacitance,area的查找表计算的。

例如:

Wire_load(small){

Resistance: 0.2;

Capacitance: 1.0;

Area:0;

Slop:1.0;

Fanout_length(1,0.022);

Fanout_length(2,0.046);

Fanout_length(3,0.070);

Fanout_length(4,0.095);

}

比如现在扇出是2,

useful skew的作用及使用方法

根据fanout_length(2,0.046)可以知道这个互连线的长度是0.046,然后再根据capacitance,resistence可以得出这个互连线的电容为:0.046x1.0,互连线电阻为:0.046x0.02。

如果扇出是5,在查找表中没有找到fanout_length为5的项,互连线长度将会是=fanout_length(4,0.095)+(5-4)*slop=0.095+1*1.0=1.095

得出了rc就可以计算出信号的transition时间=2.2RC。

实际的互联线如下:

useful skew的作用及使用方法

扇出线上的转换时间根据在版图之后提取的rc参数信息求得:

2.2RC=(Rnet+Rout)×(Cnet+Cin)

无论如何,要记住的就是dc是基于路径分析的(怎么划分路径请参考另一篇:),每个路径上有cell延迟和net延迟,而cell延迟是根据input_transition和out_lod得出的,net延迟是根据fanout_length,resistance,capacitanc得出的。驱动和电阻成反比,负载和电容成正比。

由上面可以知道fanout影响到load(capacitance),transition,delay。了解了上面,我们来理解下dc中对design建模,所用到的一些跟fanout有关的参数。

Dc中的约束,其实就是给chip设计一个环境,比如驱动这个chip输入端口的cell,或者这个chip输出端口驱动了那些单元或者端口接入了哪些负载,以及这个芯片的工艺,电压,温度,等等。。。

对于一个cell来说,输出端口具有max_fanout属性,输入端口有fanout_load属性。

例如将一个AND2作为design的驱动cell(set_driving_cell),这样就把AND2的max_fanout属性加在了输入端口上。如果一个AND2的输出端口max_fanout是5,输入端口fanout_load是2。一个buffer输入端口的fanout_load是3。那么这个AND2的输出端可以接2个AND2,或者可以接一个buffer,或者可以接一个buffer和一个AND2。如上图所示,则会引起DC产生DRC错误。因为输入端口的fanout_load=2XAND2+buffer=7,超过了AND2的max_fanout2.如果使用了系统提供的set_max_fanout 5 [all_inputs],将会忽略set_driving_cell中cell的max_fanout属性,而使用set_max_fanout属性

如果将一个AND2作为design的负载,那么这个输出端口上的fanout_load属性将会为2.dc中一般的做法是set_fanout_load [expr [get_attribute slow/and2/a fanout_load] *xxx] [all_outputs],来设置输出端口的fanout_load属性。

这样dc就可以根据这些设置,选择优化端口处的器件,以及时序。

说道fanout,所以顺带说明一下容易混淆的max_fanout,max_capacitance。如上图所示,

输入端口的fanout_load=2个与门的fanout_load和一个buffer的fanout_load。

输入端口的load(capacitance)=2个与门的load_of和一个buffer的load_of。(如果通过set_load设置了输入端口,另外还要加上set_load的值)。

Max_fanout检查的是输入端口的fanout_load最大值,

Max_capacitance检查的是输入端口load值。

两者概念不同。

下面讲下fanout与delay,看如下一个例子:

useful skew的作用及使用方法


到buffer的net延迟是2,buffer延迟是1,fanout为1时net延迟为3,每增加一个扇出,net延迟增加2.如果一个信号经过这个扇出网络后,那么延迟为:2+1+(3+(8-1)×2)=20;

如果把扇出结构优化成如下形式:

useful skew的作用及使用方法

那么信号经过这个网络后,延迟为:2+1+2+1+(3+(4-1)×2)=15.

那么延迟减少了5。


接下来讲一下skew,既然知道了fanout对于delay的影响,下面看一个例子:

useful skew的作用及使用方法

由于时钟到每个触发器的互连线长短不一样,造成信号到达clock pin的时间也不一样,触发器也不会同时翻转。Skew的定义就是最长路径减去最短路径的值。

根据时钟域以及路径关系,skew可以分为global skew,local skew,interclock skew。

Global skew是指,同一时钟域,任意路径的最大skew。

Local skew是指,同一时钟域,任意2个有逻辑关联关系的路径最大skew。

interClock skew是指,不同时钟域之间路径的最大skew

useful skew的作用及使用方法

另外还有一个useful skew。本来打算在setup time和hold time中讲解。这里先大概说下

如下图:时钟周期为10ns,各时钟路径延迟如下:可以看到有一条路径的slack为-1,说明这条路径违规。可以看到与这条路径相关的skew是T3-T2=-1ns。

下面我们利用useful skew向前面一个slack比较充裕的路径(slack=2ns)借点time,来修正现在这条路径。如下图:

useful skew的作用及使用方法

经过useful skew,修正了原来的violation。

这就是useful skew的作用,可以向前,或者向后接time来修正violation

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RC
    RC
    +关注

    关注

    0

    文章

    227

    浏览量

    48876
  • Delay
    +关注

    关注

    0

    文章

    10

    浏览量

    10898
收藏 人收藏

    评论

    相关推荐

    中断的作用使用方法

    1.中断是什么2.中断的作用3.中断的使用方法
    发表于 08-13 07:13

    元器件在电路中的作用以及使用方法

    一、内容:装配数字钟二、目的: 1. 认识与了解基础的电子元器件,了解焊接工具及其使用方法、学习焊接的技术。 2. 了解各元器件在电路中的作用使用方法及电路故障排查等方面的知识。 三、所需材料
    发表于 01-21 06:12

    示波器的使用方法

    示波器的使用:作用;原理;使用方法。万用表的使用:作用;原理;使用方法。 一、示波器的作用1.广泛的电子测量仪器;2.测量电信号的波形(电
    发表于 12-03 14:10 0次下载
    示波器的<b class='flag-5'>使用方法</b>

    Skew Correction Using Delay Li

    Abstract: This application note describes using delay lines to correct system timing or "skew
    发表于 04-22 11:21 1294次阅读
    <b class='flag-5'>Skew</b> Correction Using Delay Li

    示波器的使用方法

    数字万用表使用方法和示波器的使用方法详解。
    发表于 03-14 10:38 32次下载

    电感在电路中的作用使用方法

    电子专业单片机相关知识学习教材资料——电感在电路中的作用使用方法
    发表于 10-10 14:17 0次下载

    什么是参比电极_参比电极使用方法_参比电极的作用是什么

    本问开始介绍了什么是参比电极以及参比电极的基本要求,其次介绍了参比电极的作用和使用范围,最后介绍了参比电极使用方法以及常用的几种参比电极。
    发表于 03-19 16:46 8.6w次阅读

    时序分析之useful skew作用分析

    对于positive skew来说,它可以减少T的时间,相当于提升芯片的performace。但是它的hold时间会变得更加难以满足对于negative skew来说,它的hold时间更加容易满足,取而代之的是,它会降低芯片的性能。
    的头像 发表于 07-23 17:15 1.8w次阅读
    时序分析之<b class='flag-5'>useful</b> <b class='flag-5'>skew</b>的<b class='flag-5'>作用</b>分析

    示波器的使用方法(三):示波器的使用方法详解

    示波器的使用方法并非很难,重点在于正确使用示波器的使用方法。往期文章中,小编对模拟示波器的使用方法和数字示波器的使用方法均有所介绍。为增进大家对示波器的
    的头像 发表于 12-24 20:37 3322次阅读

    光纤收发器的作用使用方法

    光纤收发器的作用使用方法是什么?
    的头像 发表于 07-27 09:19 2.6w次阅读

    磁环的概念、作用使用方法

    磁环是什么及使用方法?相信不少人是有疑问的,今天深圳市维爱普电子有限公司就跟大家解答一下!
    发表于 04-12 11:09 3.9w次阅读

    如何查看工具通过Useful skew借了多少margin呢

    为了更容易看到工具做的useful skew的效果,这里故意在下面的path上设置了很大(2.5ns)的path margin,这里是在Place阶段启用的CCD。
    的头像 发表于 09-30 15:57 2761次阅读

    筋膜枪的作用使用方法

    筋膜枪是一种用于自我按摩和肌肉放松的工具,它使用高频率振动来促进肌肉的血液循环和新陈代谢,同时减轻压力和疼痛。这篇文章将详细介绍筋膜枪的作用使用方法。 一、筋膜枪的作用 放松肌肉:筋膜枪通过
    的头像 发表于 01-11 10:42 5.7w次阅读

    电容器的作用及原理 电容器的使用方法

    电容器,又称电容,是一种用于存储电能的装置。它由两个导体电极和介质组成,能够在这两个电极上存储和释放电荷。电容器的作用和原理,以及其使用方法都是电学中基础的概念。下面将详细介绍电容器的作用
    的头像 发表于 01-18 13:47 2.3w次阅读

    PLC中断功能的作用使用方法

    PLC控制系统中的一项关键技术,对于提高系统的响应速度和实时性具有至关重要的作用。本文将对PLC中断功能的作用使用方法进行详细的阐述。
    的头像 发表于 06-15 17:54 2151次阅读