时钟是同步数字系统的核心。SoC中的所有事件都由时钟的活动边沿控制,时钟频率通常与吞吐量和性能同义。时钟的分布是一个有趣的问题,涉及大量的设计权衡。设计人员需要了解权衡取舍,并选择满足其所有设计目标的分配方法。在这篇文章中,我们将讨论一些有助于鉴定时钟树的指标,并讨论3种最常用的时钟树分布方法。
有助于确定时钟树的一些指标包括:
时钟偏斜
时钟偏斜是指设计中时序元件时钟信号到达时间的差异。
正时钟偏斜意味着时钟到达捕获时序元件的时间晚于到达启动时序元件的时间。此方案有助于建立时间,同时使保持时间更加重要。
图1:正时钟偏斜
负时钟偏差意味着时钟到达启动顺序的时间晚于到达捕获顺序的时间。此方案有助于保持时间,同时使建立时间更加重要。
设计人员通常关注的另一个偏斜指标是局部时钟偏斜和全局时钟偏斜。
本地时钟偏斜是指任意两个时序元件之间的时钟偏斜,且它们之间必须具有有效的时序路径。本地时钟偏斜直接影响时序。
全局时钟偏斜是指设计中任意两个时序元件之间的时钟偏斜,无论它们之间是否存在时序路径。虽然全局偏斜不会影响时序,但它可以了解时钟在整个设计中的分布情况。
路由资源
时钟路由占用大量芯片布线资源。时钟需要与功率竞争,以占据顶部金属层,以促进更快和平衡的时钟分配。对于利用率高的设计,信号路由资源通常非常宝贵。时钟信号也可以使用 NDR(非默认布线)规则进行布线,允许设计人员使用非默认宽度或非默认线间距来路由时钟信号。
设计人员需要衡量的另一个因素是需要屏蔽时钟信号。时钟信号是设计中频率最高的信号,充当侵略者,将噪声引入附近的信号网。为了降低这种噪声,设计人员喜欢用电源/接地信号屏蔽时钟信号,从而进一步减少信号网络的可用路由资源数量。
图2:时钟屏蔽
时钟频率规格和标准单元利用率目标促使设计人员选择特定的时钟树分布。
时钟功耗
时钟功耗可能占设计中总功耗的50%以上。时钟架构的选择将影响设计中的总功耗。主要时钟功耗组成如下:
-
动态功耗– 动态功率是时钟网络切换时时钟网络中的功耗。时钟信号每个时钟周期切换两次,除非有门控,否则会不断切换。动态功率是时钟频率、开关因数、工作电压和时钟净电容的函数。
-
内部功率 – 内部功耗是在时钟单元的上拉和下拉网络均打开时,由于撬棍电流从电源流向接地节点的功耗。内部功耗直接取决于时钟偏斜。差的时钟偏斜会产生更多的撬棍电流,因此增加了内部功耗。
图3:内部功耗
OCV的影响
OCV 是指芯片内工艺、电压和温度的变化,这可能导致标准单元的延迟变化。随着技术节点的缩小,片上变体的影响不断增加。要启动的时钟路径和捕获时序需要在时钟网络上的某个点发散。发散点之前时钟网络中的任何时钟单元都不受任何OCV变化的影响,而发散点之后的时钟单元容易受到芯片内变化的影响,并且可能表现出不同的延迟。设计人员需要以时钟偏斜的形式对这种OCV变化进行建模。根据所选择的时钟架构,发散点可能位于时钟树的上游或下游。
时钟分配方法
设计人员可能需要从 3 种时钟分配方法中进行选择,具体取决于其设计规格:
-
时钟树网格
顾名思义,时钟树网格涉及密集的短线网格,将时钟分配到设计的每个角落。它涉及许多网状驱动器驱动电容状导线网,这些导线被短路以有效地确保时钟沿网状上的所有点同时到达。如果网格足够密集,则只需要时钟网络的几级(2-3级)即可将时钟路由到设计中的时序部分。这可确保发散点位于时钟网络的下游,因此有助于实现OCV的影响最小。此外,时钟偏斜往往最小。
使用时钟网格的缺点是,时钟门控通常都连接在网格之后,这意味着整个网格始终处于打开状态并连续切换。因此,时钟网格设计在功耗和路由资源方面成本高昂。
图4:时钟树网格
-
单点时钟树综合
单点时钟树综合位于时钟树架构的另一个极端,其中发散点位于时钟源。这允许在时钟源战略性地插入时钟门,以允许对时钟进行门控,以节省动态功耗。此外,此体系结构将明智地使用时钟路由资源。不利的一面是,单点时钟树综合最容易受到OCV的影响,并可能导致相当大的时钟偏斜。
图 5:单点时钟树综合
-
多源时钟树综合
就上述所有指标而言,多源时钟树综合是时钟树网格和单点时钟树综合之间的权衡。它涉及稀疏网格或H树形式的分配网络,在不同位置战略性地插入tap points。这些tap points后跟本地时钟树分布,以将时钟从这些tap points路由到时钟端引脚。多源时钟树综合相对于时钟树状网络提供更低的功耗,但与单点时钟树综合相比,偏斜更好。
表 1:不同时钟架构在各种设计指标上的比较
时钟树分布是一项关键的设计决策,涉及功耗、性能和路由资源的许多权衡。设计人员需要了解他们的要求和架构规格,以选择满足其目标的时钟分配