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

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

3天内不再提示

在timing path中为何ICG的delay跟一个组合逻辑似的?

冬至子 来源:志芯 作者:Jack Xu 2023-11-23 17:21 次阅读

ICG结构知识

ICG timing check 的瓶颈

在不人工干预的情况下,tool默认会尝试把reg1的CK pin和Reg2的CK pin做平。但是静态时序分析时,reg1→ICG也会做时序check;所以,ICG会天然存在一个很大的clock skew,导致建立时间违例。

image.png

如何解决呢?

在place阶段,在ICG的CK pin设置一个负的latency,这个负的latency的值可以大概等于CTS之后T3的delay大小;这样就可以让tool在给reg1的CK pin的树长识别时,会尽力将T1(即reg1的launch path)做短至少T3(ICG→reg2的时钟树长度)的大小。

Place阶段工具也会考虑时钟树skew引入的时序问题,让某些cell尽可能的靠近和不要在path上过多插入delay。

Innovus命令:

set_cloCK_latency -0.300 [get_pins ICG/CK]

在CTS阶段,在Reg1的CK pin上设置一个insert delay,这就是所谓的floating pin,这个insert delay的值大概也等于CTS后T3(ICG→reg2的时钟树长度)的大小。

Innovus命令:

set_ccopt_property insertion_delay 0.300 -pin reg1/CK

在timing path中为何ICG的delay跟一个组合逻辑似的

如下图所示,ICG在reg2icg的timing path中只体现一个组合逻辑的delay。其实icg就是一个组合逻辑。

image.png

芯片工作时,时钟电平本身一直在高低变化,因为晶振不会停止振动;但ICG的ENABLE信号是固定在高电平1(开启模块时钟)或者低电平0(关断模块时钟)。

ICG的两个输入端一个是ENABLE信号,一个是clock信号,因为ENABLE的电平是固定的(例如固定在高电平1),所以每个时钟周期内锁存器向后面输出的信号一直是固定的(信号电平等于ENABLE 信号电平),ICG的delay大概就是一个锁存器环路的delay(结合锁存器结构一看便知)。

为何在timing path中ICG一般不体现timing borrow

ICG可以是latch + AND组成;或reg + AND组成。肯定要用一个时序器件,因为ICG的ENABLE信号是上一级reg产生的,这样就和ICG组成了两级同步电路,可以规避亚稳态的风险。

为什们ICG一般用latch + AND组合,而不是reg + AND组合呢?我个人理解,一方面latch的面积更小,功耗更低;另一方面,ICG上很容易有建立时间违例,latch有半个时钟周期的timing borrow可以用,可以作为ICG时序瓶颈的“紧急钥匙”。

那为什么ICG 的timing borrow一般不打开呢?因为如果打开了,ICG就由边沿触发check变成电平触发check,采集到亚稳态的概率增大,可能导致clock信号不稳定,影响电路状态。

在INNOVUS中怎么打开ICG timing check的timing borrow:

image.png

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

    关注

    8

    文章

    745

    浏览量

    41037
  • 同步电路
    +关注

    关注

    1

    文章

    56

    浏览量

    13137
  • 时钟树
    +关注

    关注

    0

    文章

    51

    浏览量

    10661
  • CTS
    CTS
    +关注

    关注

    0

    文章

    34

    浏览量

    13888
收藏 人收藏

    评论

    相关推荐

    FPGA实战演练逻辑篇47:消除组合逻辑的毛刺

    逻辑的基本概念做了较详细的介绍,并且列举了实例说明时序逻辑大多数设计更由于
    发表于 07-08 10:38

    组合逻辑太多了

    我的代码通道得到了奇怪的逻辑,而且有些人认为它很明显,因为某些地方的组合逻辑太多了。我更改了些代码并添加了少量DFF,然后逻辑似乎是正确的
    发表于 05-15 06:42

    【技巧分享】时序逻辑组合逻辑的区别和使用

    时钟上升沿信号后才会输出信号c。 波形图层面,我们可以画出时序图来分析,如下图所示。可以看出第一个时钟时a=1,b=2,此时组合逻辑立刻得出c=3,是
    发表于 03-01 19:50

    组合逻辑电路常见的类型

    的电路。此处,多个输入或输出连接到公共信号线,逻辑门用于解码地址以选择单个数据输入或输出开关。  多路复用器由两独立的组件组成,
    发表于 12-31 17:01

    常见的组合逻辑电路分析

    的分类组合逻辑最常见的用途之多路复用器和多路分解器类型的电路。此处,多个输入或输出连接到公共信号线,
    发表于 01-19 09:29

    cmd文件,可以把连续的Flash模块组合整体的区间吗?

    '.text'”,我们如何为.text分配更多的内存?cmd文件,可以把连续的Flash模块组合整体的区间吗?
    发表于 02-25 07:25

    组合逻辑与时序逻辑电路般分析方法

    有关。很多人往往对于这两种逻辑电路的分析有困惑。组合逻辑电路组合逻辑电路,有两
    发表于 11-18 06:30

    FPGA零基础学习:数字电路组合逻辑

    时序电路)。 组合逻辑电路,任何时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。这就是组合
    发表于 02-21 15:35

    FPGA何时用组合逻辑或时序逻辑

    FPGA的最小单元往往是由LUT(等效为组合逻辑)和触发器构成。 进行FPGA设计时,应该采用组合逻辑设计还是时序
    发表于 03-06 16:31

    Timing Groups and OFFSET Const

    Timing Groups and OFFSET Constraints: •Use the Constraints Editor to create groups of path
    发表于 01-11 08:55 4次下载

    Path-Specific Timing Constrain

    Path-Specific Timing Constraints:Constraining Between Risingand Falling Clock Edges•
    发表于 01-11 08:56 10次下载

    Skew Correction Using Delay Li

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

    不同VT cell的delay差异

    Path1容易出现hold问题,path2容易出现setup问题;如果在path1和path2的commen part修timing就会导致
    的头像 发表于 10-18 09:36 2898次阅读

    如何做一条合格的path?同一条path在物理设计不同阶段的变化

    Delay值是多少才算合格呢?这一篇开始讲解路径(Path)的概念,以及衡量Path Delay是否合格的标准----建立时间(setup time)和保持时间(hold time)。
    的头像 发表于 06-27 14:12 548次阅读
    如何做一条合格的<b class='flag-5'>path</b>?同一条<b class='flag-5'>path</b>在物理设计不同阶段的变化

    什么是时序路径timing path呢?

    今天我们要介绍的时序分析概念是 **时序路径** (Timing Path)。STA软件是基于timing path来分析timing的。
    的头像 发表于 07-05 14:54 1137次阅读
    什么是时序路径<b class='flag-5'>timing</b> <b class='flag-5'>path</b>呢?