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

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

3天内不再提示

为什么Latency没有满足target insertion delay的要求

jf_tpHP8OJR 来源:集成电路设计及EDA教程 2022-12-30 14:36 次阅读

背景介绍

背景:为什么Latency没有满足target insertion delay的要求

这些都是对Clock latency/insertion delay有要求的情况。同时上面的推文里面也有分享一些Tree长度没有满足要求的情况,这里再分享另一个经常会遇到的原因 - Useful Skew。

在实际做项目过程中,有发现一些Run,工具做出来的Tree的latency和设置的target insertion delay以及target skew之间匹配的非常好,但是有些Run却不行,Latency变长了,超过了要求,Debug发现工具在上面做了Useful Skew动到了它们的Tree(比如你可能在上面发现一些USKC、ESOC等cell)。

这是因为,如果在Flow里面打开了Useful skew,那么工具在ccopt和optDesign以及signoffOptDesign的时候是可以通过调整所有Sink的Tree来做Useful Skew来修Timing的,因此你可能发现它们的Latency和预期设置的target insertion delay以及target skew之间有差异。

03

解决思路

知道了上面的原因,那么问题的解决思路自然是关闭Useful Skew了,可是直接全部关掉Useful Skew的话显然会恶化Timing,这是非常不明智的。解决方案有几种:

1、针对不同阶段、工具的不同引擎来控制Useful Skew的使用与否;这种方法不能从根本上解决问题,但是可以根据工具是在什么时候动Tree做了Useful Skew来有针对性的关闭Useful Skew的使用。

2、针对某些Sink来关闭Useful Skew。这个就非常实用了,对于一些对Latency有要求或者不想让工具通过Useful Skew来修Timing(后边会讲解)的Path,我们可以针对它们来关闭Useful Skew,这种方法也不会影响其他Sink上Useful Skew的使用,因此对Timing没有什么大的影响。

可是这种方法也有一个缺陷,就是目前的Innovus,signoffOptDesign并不支持指定Sink来关闭Useful Skew。ccopt和optDesign是支持的(后边会讲解具体方法)。期待以后signoffOptDesign也可以支持。

04

想针对Flop关闭Useful skew的几种情况

一般情况下,我们对于Tree的latency可能没有特别的要求,因此工具调整Sink的Tree去修Timing也是允许的。可是某些情况下,我们对于某些Sink的latency是有要求的,不允许工具随便通过Useful Skew来改变Tree的latency。

还有一些情况是,某些Sink的Timing在Partition/Block level看是不准的(比如IO flop,我们一般都会有过约束的情况),如果此时还让工具通过Useful Skew来修Timing的话,那么是很不合时的。比如Block B的in2reg的Path,上一级是Block A的reg2out path,其实它们之间的Timing不是很难meet,因为中间的组合逻辑比较短。

可是我们一般会在IO上加过约束努力让工具去把组合逻辑做短,这使得Block B里面的in2reg可能也比较差。那么此时工具很可能会把FF_2的Tree通过Useful Skew做长,这就会带来一个很严重的问题,它会影响Block B内部的Timing,这是不期望的。比如下面的情况,Block B的FF_2之后的Path timing很难Meet,因为组合逻辑很长。

cc6c0ecc-77c6-11ed-8abf-dac502259ad0.png





审核编辑:刘清

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

    关注

    0

    文章

    4

    浏览量

    5226

原文标题:Clock insertion delay增大了很多 超过了要求怎么办?如何指定reg关闭useful skew

文章出处:【微信号:集成电路设计及EDA教程,微信公众号:集成电路设计及EDA教程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    音频codec的Sidetone Insertion有什么用?

    音频codec中的Sidetone Insertion有什么作用,看了不是很明白,哪位大侠帮忙具体解释一下吧
    发表于 11-07 07:29

    在计算指令周期时(Delay_Slot),其是否包括了功能单元的延时时间(Function Uint Latency)?

    例如,对于FMPYDP指令,在手册上给出的是: Instruction Type 4-cycle Delay Slots 3 Functional Unit Latency 1 这样理解:功能单元
    发表于 06-21 15:25

    Latency TestUAC设备的相关资料分享

    https://manual.audacityteam.org/man/latency_test.html - Latency TestUAC设备2021/09/12输出!!
    发表于 12-21 06:10

    ccopt主要有几个步骤?每个步骤都做了什么事

    ccopt阶段介绍cluster :ccopt里面特有的一个概念,聚拢。这里主要是两个步骤,修复drv和insertion delayinsertion delay也就是
    发表于 08-19 16:27

    How Delay Lines Work

    new-generation all-silicon delay lines. Both EconOscillators and delay lines use a compensated voltage-controlled del
    发表于 04-20 15:11 2352次阅读
    How <b class='flag-5'>Delay</b> Lines Work

    ARM_Target

    ARM_Target
    发表于 10-25 14:04 2次下载
    ARM_<b class='flag-5'>Target</b>

    芯片延迟Delay测试的学习课件PDF文件免费下载

    芯片延迟Delay测试的学习课件PDF文件免费下载包括了:• 为什么需要Delay测试 • Delay产生原因和缺陷机制 • Delay故障建模 •
    发表于 12-01 08:00 4次下载
    芯片延迟<b class='flag-5'>Delay</b>测试的学习课件PDF文件免费下载

    stm32 delay文件总结

    stm32 delay文件总结delay.h#ifndef __DELAY_H#define __DELAY_H #include "sys.h" void
    发表于 12-24 19:36 6次下载
    stm32 <b class='flag-5'>delay</b>文件总结

    Low Latency High Bandwidth Memory 数据表(Digest Edition)

    Low Latency High Bandwidth Memory 数据表 (Digest Edition)
    发表于 03-15 20:26 0次下载
    Low <b class='flag-5'>Latency</b> High Bandwidth Memory 数据表(Digest Edition)

    innovus的incredible delay是什么?

    Incr Delay是由于SI信号完整性(比如cross talk、电磁等)造成的增量延时,也称为噪声延迟(incr delay)。
    的头像 发表于 04-03 10:54 3078次阅读

    Low Latency High Bandwidth Memory 数据表(Digest Edition)

    Low Latency High Bandwidth Memory 数据表 (Digest Edition)
    发表于 07-06 19:37 0次下载
    Low <b class='flag-5'>Latency</b> High Bandwidth Memory 数据表(Digest Edition)

    set_output_delay的本质是什么?浅谈set_ouput_delay时序

    set_output_delay是对模块output信号在模块外部延迟的约束,本质上EDA工具会根据约束调整内部器件(UFF0)的类型,摆放位置以及组合逻辑(C1)以满足约束要求,即EDA工具保证模块DUA的UFF0的Tclk2
    的头像 发表于 08-12 09:48 2071次阅读
    set_output_<b class='flag-5'>delay</b>的本质是什么?浅谈set_ouput_<b class='flag-5'>delay</b>时序

    详解POCV/SOCV时序报告

    时钟传播延迟Latency,通常也被称为插入延迟(insertion delay)。它可以分为两个部分,时钟源插入延迟(source latency)和时钟网络延迟(Network
    的头像 发表于 02-27 11:20 1227次阅读
    详解POCV/SOCV时序报告

    TARGET3001!用法篇-如何使用TARGET丰富的元器件库

    很多朋友都比较关心元器件库的问题,那今天我就主要讲一下TARGET3001!的丰富元器件库,以及我们该如何使用TARGET的自带元器件库和对接的3个网络库。
    的头像 发表于 03-13 15:45 679次阅读
    <b class='flag-5'>TARGET</b>3001!用法篇-如何使用<b class='flag-5'>TARGET</b>丰富的元器件库

    满足GMSL静电防护要求的方案

    满足GMSL静电防护要求的方案
    的头像 发表于 07-09 08:02 460次阅读
    <b class='flag-5'>满足</b>GMSL静电防护<b class='flag-5'>要求</b>的方案