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

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

3天内不再提示

评价时钟树质量的方法

我快闭嘴 来源:芯司机 作者:芯司机 2022-09-05 10:11 次阅读

时钟树综合,通常我们也叫做CTS。时钟树综合就是建立一个时钟网络,使时钟信号能够传递到各个时序器件。CTS是布局之后相当重要的一个步骤,如何评价一个时钟树的好坏,这个问题可以每个人心中都有不同的答案。

通常各个公司已经约定俗成了一套评价时钟树的方法,我们也称为clock tree metrics。包括以下几点:时钟的传播延迟(Latency),时钟偏差(Skew),时钟转换时间(transition),时钟不确定性( uncertainty),时钟的级数(level)……

这些metrics保证了时钟的完成性,如何在这些metrics中寻找一个最佳方案,也就保证了时钟树的好坏。

时钟的传播延迟(Latency

时钟传播延迟Latency,通常也被称为插入延迟(insertion delay)。主要指从Clock源到时序组件Clock输入端的延迟时间。它可以分为两个部分,时钟源插入延迟(source latency)和时钟网络延迟(network latency)

source latency:主要指从clock source端到clock定义端的延迟,即是时钟源(例如PLL)到当前芯片时钟根节点(clock root pin)之间的延迟。

network latency:主要指从clock定义端到时序器件的clock pin端的延迟。

以下两张图分别定义了片上(on chip)和片外(off chip)中clock latency的描述

d0759c82-2b35-11ed-ba43-dac502259ad0.jpg

d088f156-2b35-11ed-ba43-dac502259ad0.png

那latency值有什么用呢?其实这相当于一个target值,CTS的engine会根据你设置的latency值来插入buffer(当然只是对network latency操作),做出一个接近于你设定的值,可能多一点,也可能少一点。latency值的大小直接影响着clock skew的计算和固定。因为我们的时钟树是以平衡为目的,假设你对一个root和sink设置了1ns的latency值,那么对另外的几个sink来说,就算你没有给定latency值,CTS为了得到较小的skew,也会将另外的几个sink做成1ns的latency。过大的latency值会受到OCV和PVT等因素的影响较大(因为有time derate的存在)。

时钟的偏差(skew

时钟偏差(skew),这是CTS中相当重要的一个概念。在CTS中,由于时钟到每个寄存器的路径延迟不一样,造成信号到达 clock pin 的时间也不一样,寄存器也不会同时翻转。Skew 的定义就是最长路径延迟减去最短路径延迟的值。一直以来,Skew都是衡量时钟树性能的重要参数,CTS的目的就是为了减小skew。

Skew的类型分为很多种,根据clock和datapath的方向,skew可以分为positive skew和negative skew。如下图所示:

d0a2c338-2b35-11ed-ba43-dac502259ad0.jpg

对于positive skew,clock和data path在相同方向上。反之对negative skew来说,clock和data path在相反方向上。那它们对我们的design有什么影响呢?我们来看一下setup和hold的计算公式(这个公司大家应该很熟悉吧):

d0b20db6-2b35-11ed-ba43-dac502259ad0.png

我们可以得到以下结果

对于positive skew来说,它可以减少T的时间,相当于提升芯片的performace。但是它的hold时间会变得更加难以满足

对于negative skew来说,它的hold时间更加容易满足,取而代之的是,它会降低芯片的性能。

还有另外一种skew的分类方法,是我们更为常见的,根据时钟域以及路径关系, skew 可以分为 global skew , local skew , interclock skew。

Global skew 是指,同一时钟域,任意两个路径的最大 skew ,如下图所示。CTS时,工具更关注的是global skew, 会尽可能地将global skew做小

d0bffd18-2b35-11ed-ba43-dac502259ad0.jpg

Local skew是指,同一时钟域,任意两个有逻辑关联关系的路径最大skew,如下图所示,我们在分析timing的时候,更多地是关注local skew

d0cc2174-2b35-11ed-ba43-dac502259ad0.jpg

interClock skew 是指,不同时钟域之间路径的最大 skew,如下图所示:

d0db25f2-2b35-11ed-ba43-dac502259ad0.jpg

另外还有一种比较特使的skew就是现如今用得较多的useful skew,它也是ccopt这么红火的一个特色。大概说一下useful skew的概念。

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

d0f08924-2b35-11ed-ba43-dac502259ad0.jpg

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

d0ff36b8-2b35-11ed-ba43-dac502259ad0.jpg

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

时钟转换时间(transition time)

时钟转换时间clock transition time ,也称为clock slew。通常是指电压从10%VDD上升到90%VDD所需要的时间,或者是从90%VDD下降到10%VDD所需要的时间,上升和下降时间过长意味着电路的速度很慢。如下图所示

d1129cc6-2b35-11ed-ba43-dac502259ad0.jpg

sdc中,用以下命令来限制slew大小

set_max_transition 0.1 -clock_path[all_clocks]

对CTS来说,这也是一个target值,当你设定了一个slew target后,CTS engine会通过插入buffer或者upsize等操作,尽可能地去满足整个target值。当然,slew也不是越小越好,过小的slew会导致CTS阶段在clock path上插入过多的buffer,从而影响到skew的balance以及功耗和面积。

时钟不确定性(clock uncertainty)

定义了Clock信号到时序器件的Clock端可能早到或晚到的时间。主要是用来降低时钟抖动jitter对有效时钟周期的影响。值得注意的是,在setup check中,clock uncertainty是代表着降低了时钟的有效周期;而在hold check中,clock uncertainty是代表着hold check所需要满足的额外margin。

来看下面一条reg2reg path. 对照着如下时钟波形图。可以写出下面的约束。

d11fcd38-2b35-11ed-ba43-dac502259ad0.jpg

d12e3224-2b35-11ed-ba43-dac502259ad0.jpg

在pre-CTS的时候,我们将时钟的不确定性设定为target的skew和jitter值之和来模拟真实的时钟;而post-CTS之后,时钟树propagate delay已经确定,skew真实存在,所以uncertainty就是时钟的真实抖动值。因此preCTS的target skew不能设置的太大或者太小,这样会造成preCTS和postCTS的correlation不好。总结一下:

在pre-CTS中,

setup的clock uncertainty = jitter + clock tree skew

hold的clock uncertainty = clock tree skew

在post-CTS中,

setup的clock uncertainty = jitter

hold的clock uncertainty = 0

时钟树级数

时钟树其实是由buffer一级一级串行级联下去组成,每一个分结点就化分成一级,如下图所示

d14a0e7c-2b35-11ed-ba43-dac502259ad0.jpg

通常来说,我们期望时钟树的级数越少越好,因为这样tree上的common path最长,受到OCV和PVT因素的影响也最小,时钟的性能也最好。但是,这样情况下tree很难去生长完成,并且会导致过多的fanout,导致负载过大,延迟变差。因此这也是一个trade off 的过程。

评价时钟树质量,可以看主干分岔点是否过早、关键寄存器的级数是否最少且Size合理、Leaf寄存器分组是否合理,当然skew,area,power也是很重要的啦~

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

    关注

    11

    文章

    1749

    浏览量

    131896
  • 时钟树
    +关注

    关注

    0

    文章

    55

    浏览量

    10824
  • 时钟网络
    +关注

    关注

    0

    文章

    16

    浏览量

    6586

原文标题:如何评价时钟树的好坏?

文章出处:【微信号:芯司机,微信公众号:芯司机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    时钟优化与有用时钟延迟

    时钟优化与有用时钟延迟在 “后端时序修正基本思路” 提到了时序优化的基本步骤。其中,最关键的阶段就是时钟建立。
    发表于 10-26 09:29 4508次阅读
    <b class='flag-5'>时钟</b><b class='flag-5'>树</b>优化与有用<b class='flag-5'>时钟</b>延迟

    数字IC设计中的分段时钟综合

    为什么需要分段去做时钟呢?因为在某些情况下,按照传统的方法让每一个clock group单独去balance,如果不做额外干预,时钟天然
    的头像 发表于 12-04 14:42 2436次阅读
    数字IC设计中的分段<b class='flag-5'>时钟</b><b class='flag-5'>树</b>综合

    音频质量客观评价中同步方法的研究与实现

    在音频质量客观评价,尤其是音频系统的在线评测时,参考信号与测试信号不可避免地存在系统延迟。计算参考与测试之间的延迟误差从而实现信号之间的时间同步将是影响音频质量客观评价结果的关键性问题
    发表于 03-12 00:24

    STM32F407系统时钟配置时钟方法

    STM32F407系统时钟配置时钟方法一,采用官方库提供的配置(这里外部晶振25MHz,系统配置为168MHz)STM32F4启动与STM32F10X不同,
    发表于 08-12 08:19

    前后端协同的时钟设计方法

    提出一种新的高平衡、高可靠性的前端可控时钟设计方法,解决时钟需要在后端工具中多次反复以达到满足性能和功耗要求的问题。阐述了从前端优化和后
    发表于 04-21 09:06 26次下载

    基于视觉感兴趣区的图像质量评价方法

    该文把人眼对图像中的不同区域具有视觉选择特性与客观图像质量评价方法结合起来,提出基于视觉感兴趣区的图像质量评价
    发表于 08-11 09:58 16次下载

    图像质量评价方法研究进展

    图像质量评价是图像处理领域的研究热点。该文综合论述了图像质量的主观和客观评价方法,重点阐述了单视点图像
    发表于 02-09 15:08 16次下载

    时钟网格与时钟设计方法对比研究

    基于片上偏差对芯片性能的影响,分析对比了时钟设计与时钟网格设计,重点分析了时钟网格抗OCV影响的优点,并利用实际电路应用两种方法分别进行设
    发表于 05-07 14:13 36次下载
    <b class='flag-5'>时钟</b>网格与<b class='flag-5'>时钟</b><b class='flag-5'>树</b>设计<b class='flag-5'>方法</b>对比研究

    基于灰度特征的虹膜图像质量评价方法_罗晓庆

    基于灰度特征的虹膜图像质量评价方法_罗晓庆
    发表于 03-16 11:05 0次下载

    基于视差图图像质量评价

    现有的2D图像质量评价方法并不能很好地应用于立体图像质量评价中。为了有效评价不同失真立体图像的
    发表于 11-22 11:38 11次下载
    基于视差图图像<b class='flag-5'>质量</b><b class='flag-5'>评价</b>

    LUCT工具主要特性及不确定性时钟设计方法和算法的介绍

    顶层的根时钟网络(通常是 PLL 输出)到中层时钟网络,LUCT 是一个高质量的负载均衡的时钟,其目标是将
    发表于 11-29 10:58 6次下载
    LUCT工具主要特性及不确定性<b class='flag-5'>时钟</b><b class='flag-5'>树</b>设计<b class='flag-5'>方法</b>和算法的介绍

    色彩复原图像的质量评价方法

    针对褪色文物数字化保护中色彩复原图像的质量评价问题,研究客观质量评价方法。结合峰值信噪比( PSNR)的计算优势与人眼视觉特征信息熵的结构特
    发表于 12-18 11:00 1次下载

    时钟的使用方法简介

    时钟不仅可以做到高扇出,还可以做到让时钟信号到达各个触发器的时刻尽可能一致,也即保证时钟信号到达时钟域内不同触发器的时间差最小。
    的头像 发表于 03-08 17:37 8753次阅读
    <b class='flag-5'>时钟</b><b class='flag-5'>树</b>的使用<b class='flag-5'>方法</b>简介

    基于深度学习的视频质量评价方法及模型研究

    视频质量评价(VQA)是以人眼的主观质量评估结果为依据,使用算法模型对失真视频进行评估。传统的评估方法难以做到主观评价结果与客观
    发表于 03-29 15:46 81次下载
    基于深度学习的视频<b class='flag-5'>质量</b><b class='flag-5'>评价</b><b class='flag-5'>方法</b>及模型研究

    时钟是什么?介绍两种时钟树结构

    今天来聊一聊时钟。首先我先讲一下我所理解的时钟是什么,然后介绍两种时钟树结构。
    的头像 发表于 12-06 15:23 1886次阅读