CHAPTER 15 三维集成电路中的同步
15.1 平面时钟分配网络的综合技术
时钟分配网络的综合技术在过去几十年中取得了显著发展,产生了满足多种设计目标和约束的时钟网络拓扑 [577,578 582]。在这些方法中,一些早期技术,包括均值与中位数法(MMM)[578]和延迟合并嵌入(DME)[581], ,已被扩展到三维时钟分配网络。因此,本节将讨论这两种技术,为后续更好地理解关于三维时钟网络拓扑综合的章节提供必要的背景知识。
时钟树综合技术在满足目标时钟偏斜的同时,还需考虑线长、时钟转换时间和功耗约束,为大量时钟汇生成布线路径。更准确地说,时钟偏斜是指顺序相邻寄存器[574]之间时钟信号到达时间的差值。如果两个寄存器通过组合逻辑相连(即在这两个顺序相邻寄存器之间没有其他寄存器),则称它们为顺序相邻寄存器。该数据路径的示意图如图15.1所示。图中还给出了这两个寄存器之间时钟偏斜T skew的表达式,其中 TCi和 TC j分别为时钟信号到达寄存器 R i和Rj的到达时间。
其他设计目标,如鲁棒性和可靠性,也被用于增强纳米尺度下的制造技术 [584,585]。由于时钟网络特性的相互依赖性,最小化任何一个目标通常都需要与其他设计需求进行权衡。因此,综合方法需确保所有目标的设计规范均得到满足。对于大量CTS方法而言,时钟偏斜是主要的
15.1.1 均值与中位数法
MMM算法通过在x和y方向上使用切割(即二分划分),迭代地将布线路网(或平面)内的时钟汇进行划分,每次切割生成两个新的时钟汇集合。假设有一组m个时钟汇,每个时钟汇记为si,其在布线平面上的坐标为(xi, yi)。该组时钟汇可用有限集合S = {s1; s2; s3; … sm} ⊂ R²表示。该集合的质心位置为
$$
x_c = \frac{\sum_{i=1}^{m} x_i}{m}; \quad (15.1)
$$
$$
y_c = \frac{\sum_{i=1}^{m} y_i}{m}; \quad (15.2)
$$
其中这些坐标构成时钟树的根节点。为了沿物理方向进行切割,需要对时钟汇进行排序。通过分别将时钟汇的x坐标和y坐标按升序排列,形成两种不同的时钟汇排序方式,即对于集合Sx(S)中的每个元素,若xi ≤ xj,则在子集Sx(S)中si位于sj之前。对于子集Sy(S),关于y坐标也适用类似的规则。基于这些排序,在每种排序的中位数周围定义了四个不同的子集。
$$
S_L(S) = { s_i ∈ S_x \mid i ≤ \lfloor m/2 \rfloor }; \quad (15.3)
$$
$$
S_R(S) = { s_i ∈ S_x \mid \lfloor m/2 \rfloor < i ≤ m }; \quad (15.4)
$$
$$
S_B(S) = { s_i ∈ S_y \mid i ≤ \lfloor m/2 \rfloor }; \quad (15.5)
$$
$$
S_T(S) = { s_i ∈ S_y \mid \lfloor m/2 \rfloor < i ≤ m }. \quad (15.6)
$$
这四个子集是通过对每个方向上的排序在中位数处进行切割而生成的。所有这些子集包含的时钟汇数量大致与$|S_L| = |S_R| ≈ 1$相同。同样的不等式适用于子集 $S_B$ 和 $S_T$。为每个新子集确定其质心。该算法将这些新确定的点与初始集合 S 的质心(即树的根节点)连接起来。此过程重复进行,对每次 x 方向切割生成左 (L) 和右 (R) 两个集合,对每次 y 方向切割生成底 (B) 和顶 (T) 两个集合。当每个新集合仅包含一个时钟汇时,该过程终止。
该算法的一个简单示例如图15.2所示,其中标注了不同集合质心之间的路径。尽管在一次迭代中由切割确定的质心与后续质心之间的路径长度相等,但随着算法的推进,可能会出现不同的路径长度,如图15.2A所示。为解决此情况,应用了两对切割。这对切割导致更小的偏斜。该前瞻过程产生了更优的布线。如图15.2B所示,由y-和x‐切割生成的树相较于图15.2A中的树具有更低的偏斜。包含前瞻功能的该算法复杂度为O(m log m)。
MMM方法确保在每次执行分割操作后,到新形成子集的质心的布线路径长度相等,从而实现低(或零)偏斜。然而,这种布线通常比具有相同时钟汇集合[403]的最小直角斯坦纳树(RMST)的长度更长。如[578],所述,生成的时钟树的线长随3/2√mp成比例增加,而对于 RMST,当m个点(即时钟汇)在布线路网上均匀分布时,树的长度增长为√mp + 1。两种布线算法之间的比率以约1.53的恒定因子增加,表明MMM方法的线长开销并不显著。
为了限制这种额外开销,MMM方法分为两个阶段使用。在第一阶段,生成的切割子集包含大量时钟汇,此时采用MMM方法进行布线。在第二阶段,随着迭代的进行,每个子集内的时钟汇数量较少,此时采用标准布线算法更为合适,可在时钟偏斜小幅且可接受增加的前提下,保证最小线长。应用非MMM布线技术的时机(即树的深度或迭代次数)取决于可容忍的偏斜程度。
15.1.2 延迟合并嵌入方法
另一种被扩展用于支持三维时钟网络综合的流行技术是DME方法,这是一种两相CTS技术 [581,582]。该方法的输入是在某一拓扑结构(通常为树形)中汇点的连接性,其中汇点的位置已知,并通过放置内部节点来确保在最小线长下实现零偏斜(假设采用线性延迟模型) [581]。因此,在假设线性延迟模型的情况下,DME技术能够生成最优的零偏斜时钟网络;而当使用其他更复杂的延迟模型(如埃尔莫尔延迟模型)时,则生成次优的时钟树。尽管在这种情况下结果为次优,但总体质量仍然很高,可生成具有低线长的零偏斜时钟树。DME方法的优势在于,与MMM方法相比,它在构建零偏斜时钟网络的同时还能最小化线长。
DME技术不受时钟网络拓扑结构的限制,因此可以在时钟树的内部节点通过MMM方法生成后,将其作为后处理步骤应用。然而需要注意的是,拓扑结构的选择或生成时钟网络所用技术的选择会影响DME方法产生的结果质量(即总线长,因为零偏斜是保证的)。
DME方法包括一个自底向上阶段和一个自顶向下阶段。在自底向上阶段,确定每个内部节点的可行放置位置。每个内部节点都是(两个)合并的子树根节点的父节点。在自顶向下阶段,将内部节点嵌入到这些可行位置之一,从而在保证时钟网络内所有汇点零偏斜的同时,实现最小线长(针对线性延迟模型)。
为解释该方法,首先介绍一些相关术语。在MMM方法中,将包含m个时钟汇的有限集合S及这些汇点的相应位置作为输入。通过DME方法在曼哈顿平面上嵌入一棵时钟树,记为 T(S),其中每个内部节点的位置被确定,以确保偏斜为零且时钟树的线长最小。每个节点的放置位置表示为pl(u)。假设u是另一节点w的父节点,则ew表示从父节点到子节点的有向边。该边的代价记为|ew|。由于时钟网络嵌入在曼哈顿平面中,此代价等于(或大于)这两个节点之间的曼哈顿距离。因此,整棵树T(S)的代价是所有这些边的线长之和。
类似地,从源节点u到节点w的任意路径的延迟表示为td(s u,sw)。同一源节点出发的两条路径之间的时钟偏斜由|td(s u,sw) - td(s u,sv)|描述。假设时钟网络的根节点为sr,则T(S)的时钟偏斜是属于S的所有汇点对si、sj之间|td(s r,si) - td(s r,sj)|的最大差值。如果使用线性延迟模型来估计每条源‐汇路径的延迟,则该延迟是从源节点u到汇节点w的路径上所有边延迟的求和。
$$
t_{ld}(u, w) = \sum_{e_v ∈ path(u,w)} |e_v|; \quad (15.7)
$$
除了这一符号表示外,还需要一些其他定义来描述DME方法。在自底向上步骤中确定的每个内部节点的位点称为合并段。合并段是具有斜率±1的线段,或 alternatively,与x-y布线方向成 ±45°角度的线段。类似地,曼哈顿平面上距离曼哈顿弧固定距离内的点集形成一个倾斜矩形区域(TRR),该区域内接于
曼哈顿弧。TRR的一个示例如图15.3所示,其中也显示了TRR的核心弧和半径。该核心弧由距离TRR边界最远的所有点组成(始终假设为曼哈顿距离)。
考虑一个节点u,该节点的合并段ms(u)确定如下。如果u属于S,则合并段即为时钟汇的位置;否则,u是一个内部节点,其合并段的长度和位置取决于u的子节点的合并段。假设节点a和b是u的子节点,并且由于此步骤以自底向上的方式进行,因此节点a和b的合并段(分别记为ms(a)和ms(b))是已知的,并且也是曼哈顿弧[581]。这种情况如图15.4所示。节点 u的合并段也是一个曼哈顿弧,通过两个TRR的交集获得,这两个TRR的核心分别为线段 ms(a)和ms(b)。因此,ms(u)形式化描述为ms(u) = TRRa ∩ TRRb。TRRa和TRRb的半径分别为|ea|和|eb|,如图中所示。以节点a和b为根的子树的合并代价为|ea| + |eb|。目标是确定这些半径(即|ea|和|eb|),使得合并代价最小化,并满足零偏斜约束。
假设采用线性延迟模型,合并代价的下界等于ms(a)与ms(b)之间的最小曼哈顿距离,记为MDmin = d(ms(a), ms(b))。如果节点a和b的延迟严重不平衡,则合并代价会偏离该最小值以满足零偏斜要求,并可能需要额外的布线。在节点u处满足零偏斜要求可以通过
$$
t_{ld}(a) + |e_a| = t_{ld}(b) + |e_b|; \quad (15.8)
$$
其中,t_ld(a) 和 t_ld(b) 分别表示到达以节点 a 和 b 为根的子树中汇点的(线性模型)延迟。注意,由于在每一级都满足零偏斜要求
树,这些延迟在来自这些节点的子树的每个接收端处都相同。TRRa和TRRb的半径通过令|ea| + |eb| = MDmin获得,并且如果|tld(a) - tld(b)| ≤ MDmin,
$$
|e_a| = \frac{MD_{min} + t_{ld}(b) - t_{ld}(a)}{2}; \quad (15.9)
$$
and
$$
|e_b| = MD_{min} - |e_a|; \quad (15.10)
$$
如果条件|tld(a) - tld(b)| ≤ MDmin不满足,则需要额外的线长来平衡从节点u到节点a和b的偏斜,从而增加合并代价。
自底向上阶段递归地合并T(S)的节点,直到到达根节点sr。时钟驱动器通常放置在特定位置,该位置不会被根节点的合并段所经过。一条额外的线段连接到sr,且不会降低最终树的性能。当获得根节点的合并段时,自底向上阶段(即延迟合并)终止。
自顶向下阶段(即嵌入)随后进行。从根节点开始,依次确定每个节点的精确定位 pl(u)。对于sr,通常可以在ms(sr)上的任意点选择作为pl(sr)。对于任何其他内部节点u,可以选择ms(u)上的任意一点作为pl(u),该点距离其父节点p的位置pl(p)不超过|eu |。根据合并段的构造,这样的位置必然存在[582]。图15.5展示了这种情况的一个示例。
通过一个实际示例可以更好地理解DME技术的操作。图15.6展示了一个具有八个汇点(例如,s1 到 s8)的简单时钟拓扑结构。假设每个接收端具有相同(或零)延迟,便可确定每个接收端的TRR。由于每个接收端的位置已知且假设为零延迟,t_ld(si) = 0’s i(15.9)和 (15.10)等于一半的
各汇点对si和sj之间的曼哈顿距离(见图15.6A)。每对汇点的TRRs半径相同,每个父节点 msi,j的合并段由粗线表示。在图15.6B中,获得了树的下一个上层节点的合并段。注意,在此特定示例中,ms1,4是一个单个点,因为节点s1,2和s3,4的TRRs仅在一个点相交。在图15.6C中,根节点sr的合并段ms1,8位于节点s1,4和s5,8的TRRs的交点处。
由于所有节点的合并段均已确定,自顶向下阶段将决定树中内部节点的放置。如前所述,对于树的根节点,可以沿ms1,8上的任意点进行选择。该点在图15.6D中用一个三角形表示。为了确定pl(s1,4)和pl(s5,8),分别从根节点的放置位置pl(sr)出发,绘制半径为|ems1,4|和|ems5,8|的TRRs(时序相关区域)。由于ms1,4仅对应单个点,因此在图15.6D中仅绘制了节点s1,4的TRR。最粗的线段表示节点s5,8,的有效放置点,该线段上的任意点均可被选为pl(s5,8)。类似地,在图15.6E中绘制TRRs以确定节点s1,2,、s3,4,、s5,6,和s7,8的有效放置位置。注意,对于节点s1,2和s3,4,,有效放置位置只能是单个点。最终得到的时钟树如图15.6F所示,其中实线表示合并段,其余所有线条表示树的分支。圆点表示树中内部节点的放置位置。
15.2 全局三维时钟分配网络
已为二维电路开发了多种时钟网络拓扑。这些拓扑可以是对称的,例如H树和X树;也可以是高度不对称的,例如缓冲树和蛇形结构[575,583],以及网格状结构;还可以是环和网状结构 [587]。时钟分配网络通常由一个全局网络和多个较小的局部网络构成。在全局时钟网络中,时钟信号被分发到电路中的特定位置。这些位置是局部网络的源点,负责将时钟信号传递给寄存器或其他电路元件。
对称结构(例如H树)通常用于全局时钟网络[583],,如图15.7所示。对称结构最具吸引力的特性是时钟信号理论上能同时到达时钟树的每个叶节点。
然而,为了保持对称性,所经过的距离相较于最小长度树要长得多。由于在千兆赫兹频率下运行的全局时钟网络中的互连非常长,时钟网络通常被建模为传输线,因为可能会出现电感行为[588]。电感行为可能导致分支点处产生多次反射,直接影响时钟网络的性能和功耗。
为了减少H树分支点处的反射,在每个分支点处将线段的互连宽度减半(线宽变化为2⁻³),以确保该分支点处看到的总阻抗保持恒定(阻抗匹配)。
然而,由于负载不平衡、工艺变化和串扰等原因,对称树中不同时钟汇位置的时钟信号到达时间可能不同,从而产生时钟偏斜。为了缓解这种情况,通常采用H树与网格相结合的方式,如图15.8[587]所示。在三维电路中,这些网络有多种实现方式。一种简单的双层电路扩展结构如图15.9所示。两者均
这些拓扑结构包含两棵H树,但它们的行为却大不相同。图中所示的图15.9A 仅使用一棵H树网络为上下两层提供时钟信号。时钟信号通过连接至上层H树叶节点的硅通孔传递到下层。在下层,局部时钟网络以硅通孔为根节点,将时钟信号分配至该层的时钟引脚。虚线所示的 H树仅用于键合前测试,在两层键合完成后即被断开。因此,这种拓扑结构存在一定的冗余,但在正常的键合后操作中所需的布线远少于
如图15.8所示的拓扑结构。实际上,图15.9B中所示的拓扑结构在正常(键合后)操作期间需要在两层中都使用两个完整的H树,导致功耗更高。一组硅通孔(类似于垂直主干)连接了两个H树的根节点,从而通常简化了堆栈内的时钟分配。
两种拓扑结构之间的另一个区别在于驱动时钟负载的时钟缓冲器的数量和尺寸。由于图 15.9A 中所示的时钟负载由单层内的网络驱动,因此所使用的时钟缓冲器的数量更多、尺寸更大,相比之下,图15.9B所示拓扑结构中每一层的时钟缓冲器数量和尺寸较小。注意,图 15.9B 所示网络的缓冲器总数可能更大。将这些拓扑扩展到更多层会加剧这种权衡。需要更多的缓冲器来通过仅在一个层中连接到H树叶节点的堆叠硅通孔驱动所有层中的时钟负载。或者,如图15.9B所示,在所有层中复制H树是一种合理的方法,因为它使用的硅通孔更少。然而,这种拓扑结构所需的大量布线可能会成为限制因素。另一个重要问题是这两种拓扑结构的鲁棒性,以及更普遍的三维时钟网络对工艺变化的鲁棒性。此问题在第17章《三维集成电路中的变异性问题》中讨论。
一种对工艺变化和负载不平衡更具鲁棒性的替代拓扑结构是树和网格的组合,如图15.8 所示。在一项案例研究中,已研究了将整个层专用于时钟电路和全局网络的选项[589]。将时钟传输任务从逻辑电路中分离出来,为单独优化时钟网络以及生成时钟信号的相关电路提供了机会。
其核心思想是在每一层内放置一个网格,并通过全局对称树(例如H树)经由硅通孔驱动这些网格。该专用时钟层位于三维堆叠的中部,以实现对称性,如图15.10 所示,适用于跨越四个逻辑层的网络。在此配置中,时钟层从两面与其他层相连,这意味着需要背面对接和面对面互连。这两种键合方式之间的层间互连不同(例如微凸块与硅通孔),这一问题在设计过程中需要加以考虑。
为了评估该方法的性能,已在三维系统[590]中部署了Alpha 21264处理器。该处理器的二维布局被划分为多个象限,每个象限放置在一个物理层上,形成一个包含专用时钟层的五层堆栈。缓存位于
分为两层,整数单元和浮点单元各自放置在两个独立的层上。指令取指单元在其中一个缓存层和包含浮点单元的层之间共享。尽管该布局较为粗略,但它为评估时钟层的性能提供了一个合理的测试案例。每层的电容被估算后分配给每个网格单元,其中时钟网格的粒度为 L_seg = 100 µm。时钟缓冲器以 L_buf = 300 µm 的间隔插入(见图15.8)。
基于该划分方案,微处理器的平面布局也采用树状与网格结合的网络结构驱动,电路所占面积显著减小。具体而言,二维处理器中时钟网格的面积为2.5 mm × 2.5 mm,而在使用了四层结构的三维处理器中,该面积减少至1.25 mm × 1.25 mm。面积的减小导致末级缓冲器数量减少,其数量从81个降至25个。这些缓冲器驱动所有四个层中的网格,由于初始的平面布局被“折叠”形成三维处理器,因此四层网格的总面积与二维网格相近。因此,二维系统中这些缓冲器的尺寸是三维系统的两倍。然而,由于缓冲器总数以及驱动逻辑层内网格的时钟树面积均有所减少,时钟网络的功耗也随之降低。对于32 nm工艺节点[252],,平面系统和三维系统的最大偏斜及时钟网络功耗如表15.1所示。
时钟网络尺寸的减小和缓冲器数量的减少使偏斜和功率降低了15%到20%。
这种全局时钟分配网络的缺点是需要为时钟电路和网络提供一个专用层。该方法与图 15.9A所示拓扑一样,在键合前测试方面存在相同的困难。因此,更实用的方法是将每个层中的时钟树与网格相结合,并共享一个公共时钟源[591]。在图15.11中,展示了一个双层三维电路同步系统的基本元件。在键合时钟生成电路之前,提供一个外部参考时钟。键合后,第2层中的三态多路复用器断开层内锁相环(PLL),并选择第1层PLL的输出。在这种配置中,两个网络均由单个PLL驱动,并在全局树的根节点处连接。第2层中的相位检测器和延迟锁定环 (DLL)确保两个层内的时钟信号在时间上对齐。两个层之间的时钟偏斜主要取决于工艺变化和DLL的带宽[591]。
一种能够抑制由工艺变化引起的额外偏斜的替代方法是增加两层时钟网络之间的连接数量。采用这种拓扑结构,可以去除时钟相位对齐电路,从而简化时钟电路。此外,由于在时钟网络之间有更多节点被短接,工艺变化得以补偿,从而降低整体层间偏斜。有趣的是,功耗并未因此降低,这在原理上看似矛盾。这种矛盾行为的原因在于,每个硅通孔(TSV)都使用了静电放电(ESD)二极管,以在制造过程中保护驱动电路,但这显著增加了提供时钟信号的整体功耗。该方法的另一个缺点是,网络的物理设计受到限制,必须在短接点处提供适当的硅通孔连接。
这些拓扑已在嵌入式动态随机存取存储器(eDRAM)上进行了评估。测试电路采用 IBM 45纳米绝缘体上硅(SOI)技术,尺寸为5.6 mm × 10.9 mm,工作频率为2.5吉赫兹。硅通孔短接仅增加1%的功耗开销,但由于ESD二极管的电容负载带来的开销使功耗增加了10%至30%。角点分析还表明,当两层均处于典型工艺角且采用短接网格的方法时,其时钟偏斜仅为两层处于不同工艺角(例如快‐慢)情况下的二分之一。
这些结果不仅表明了选择适当数量的硅通孔以控制偏斜的重要作用,而且也显示了工艺变化在三维集成电路中的重要性,其中两者均起着关键影响。
| 布局 | 偏斜(皮秒) | 功率(瓦) |
|---|---|---|
| 带专用时钟层的微处理器 [589] | ||
| 切片1 2-D | 9.86 | 3.15 |
| 切片1 3-D | 7.9 | 2.67 |
| 切片2 2-D | 3.04 | 3.04 |
| 切片2 3-D | 2.51 | 2.51 |
| # CHAPTER 15 三维集成电路中的同步 |
15.3 三维时钟分配网络综合
与之前讨论的技术类似,针对三维电路的其他物理设计问题(如布局规划、平面CTS方法)也已进行相应调整,以应对这些系统的多层特性和垂直连接。大多数三维时钟树综合算法包含两个主要阶段。在第一阶段,采用第15.1节中讨论的MMM算法的适当改进版本,为位于多个层上的时钟汇生成连接拓扑。根据综合技术的目标不同,已开发出该拓扑生成算法的多种变体。在第二阶段,经过适当调整后,采用另一种常用技术DME(也在第15.1节中讨论过),将三维连接拓扑嵌入到多层堆叠中。
3D CTS技术的多样性可归因于不同的性能目标以及过去几年中这些方法的发展[593–598]。如表15.2所列,3D CTS技术生成的时钟网络除了满足零(或接近零)偏斜和(近似)最小线长外,还需满足多个目标。一个重要目标是降低三维时钟树消耗的功率,正如一些研究中所述[593–597],这需要在硅通孔数量、三维树的线长以及硅通孔电容之间进行多项权衡。
考虑到全局拓扑结构和图15.9中所示的结构,观察到类似的权衡:多硅通孔时钟树通常比单硅通孔时钟树消耗更少的功率。如果硅通孔电容较高,则限制三维时钟树中的硅通孔数量不会增加功耗,因为这种电容负载会被水平互连电容降低所带来的节省所抵消。
此外,键合前测试已被证明是提高三维系统良率的有效手段[599],但这需要对时钟综合过程进行不同的处理,这种情况在三维系统中是独有的。为了更好地理解键合前测试为时钟综合过程带来的额外复杂度,考虑图15.12所示的具有多个汇点和多硅通孔拓扑的双层时钟树示例。
| 技术 | Zero Skew | 时钟 Slew | 功率 | 通孔数量 | 键合前 可测试性 | 缓冲器 插入 | 空白区 感知 | 硅通孔缺陷 容差 |
|---|---|---|---|---|---|---|---|---|
| [593] | ü | ü | ü | ü | û | ü | û | û |
| [594] | ü | ü | ü | ü | û | û | û | û |
| [595] | ü | ü | ü | ü | ü | ü | û | û |
| [596] | ü | ü | ü | ü | ü | ü | û | û |
| [597] | ü | ü | ü | ü | û | ü | ü | û |
| [598] | ü | û | û | û | û | ü | û | ü |
为提高可读性,本文所采用的技术命名约定与原始文献中的命名有所不同。
第2层级的汇点形成三个互不相连的子树,并与第1层级的子树相连接,构成一个连接全部13个时钟汇点的三维树。为了支持双层系统的键合前测试,任一层级都应存在一个时钟树,并且其性能需满足所有目标,与键合后的双层系统中的全连接时钟树相当。除非在第2层级中使用冗余网络,否则所示拓扑结构无法满足这一要求。该冗余网络必须确保键合前的时钟偏斜和压摆率与键合后三维树保持一致。此外,第1层级的键合前测试不需要冗余树;但由于此时的时钟负载不同于完整时钟树,因此时钟网络的特性也有所不同。目前已开发出考虑此情况的时钟综合技术,这些技术考虑了布线与布局障碍[600]以及在可用空白区域内的硅通孔布置。
在时钟树综合过程中考虑的另一个问题是容错能力。由于硅通孔可能受到制造或组装缺陷的影响,因此容错能力是一个重要问题。
几种时钟综合方法的特性总结于表15.2中,其中列出了每种技术所针对的不同目标。在接下来的小节中,由于方法和资源的不同,分别描述了支持和不支持键合前测试的技术。
15.3.1 标准综合技术
经典综合技术在二维时钟树中的应用已在第15.1节中讨论。这些方法可用于生成三维电路的时钟树,前提是每一层都包含一棵连接该层内所有时钟汇的树。所有这些树的根节点通过一个单一的垂直连接(例如,几个并联的硅通孔)相连,从而构成覆盖整个三维电路的完整树结构。然而,这种单个硅通孔拓扑是一种较为简单的方法,因为没有充分挖掘第三维度的优势。因此,多硅通孔拓扑是一种更优的方法,可显著减少线长,通常意味着更低功耗。[593]
三维时钟综合问题已有多种表述方式,其主要目标是为一组跨越多个物理层的时钟汇S = {s1; s2; s3; … sm} ⊂ R³生成一棵零偏斜多硅通孔树,且该树具有最小(或接近最小)的线长和/ 或功率,以及最小的[594]或受限数量的硅通孔[593]。这些时钟汇的位置由坐标三元组(xi, yi, zi)描述,其中zi表示si所在的层。此外,压摆率应满足目标约束,通常小于时钟周期的5%。
多硅通孔时钟树综合技术分为两个阶段。首先生成连接三维系统各层中所有时钟汇点的拓扑结构,然后进行扩展
DME方法,用于在整个三维系统的层中嵌入拓扑结构。拓扑生成扩展了传统的MMM算法。如第15.1节所述,MMM算法通过使用x‐或y‐切割对一组时钟汇进行递归二分划分,直到每个集合仅包含一个时钟汇为止。在三维电路中,由一次切割产生的子集内的时钟汇位于不同的层中,这些汇点通过硅通孔相连。此外,z‐切割以多种方式对S进行划分,从而导致对硅通孔的不同需求。
因此,经典的MMM算法对硅通孔不敏感,这可能导致不良情况:要么因硅通孔使用不足而无法有效减少总线长,要么因过度使用硅通孔而导致功耗节省降低(甚至增加)。为解决这些问题,已对MMM算法进行了扩展,以控制综合生成的树状拓扑[593,594]所需的硅通孔数量。
MMM‐TSV约束算法(称为MMM‐TB)根据满足用户指定的硅通孔数量上限来生成拓扑结构。硅通孔在各层的面积上进行分布[593]。不同硅通孔数量限制对生成拓扑结构影响的一个示例如图15.13所示。从该图中可以观察到,对于较大的硅通孔数量限制,会使用更多的硅通孔,这些硅通孔更靠近连接较少内部节点和/或汇点的接收端。这种行为减少了总线长,因为水平互连更短。MMM‐TB算法从一组汇点S以及三维系统中每一层的TSV约束开始。如果stack(S)表示覆盖汇点S的层数,在每次划分迭代中,基于两个条件生成两组S1和S2。
如果TSV约束为1,则对现有的集合S进行划分,以确保具有相同zi(即来自同一层)的汇点被分配到同一子集。只要stack(S)=2,这种划分就很简单。然而,如果汇点跨越超过两层,并且由于切割是对集合S进行二分划分,因此存在(stack(S) − 1)次迭代,将汇点沿z方向进行划分,以确保具有
相同的 zi位于同一层。该过程如图15.14所示,展示了在 MMM‐TB 算法的特定迭代中,汇点集合 z-方向上的划分过程。在该图中,zmin(zmax) 表示包含集合 S汇点的层的最低(最高)索引。此外,假设时钟树的根节点位于 zr。层的索引从底层到最上层按升序进行编号。
如图15.14所示,如果zr ≤ zmin,这意味着根节点位于集合S中任何汇点的下层,则所有满足zi=zmin的汇点构成(底部)子集SB,其余汇点(例如zi∈[zmin+1, zmax])构成(顶部)子集ST。相反,如果zr ≥ zmax,这意味着根节点位于集合S中任何汇点的上层,则所有满足zi=zmax的汇点构成(顶部)子集ST,其余汇点(例如zi∈[zmin+1, zmax−1])构成(底部)子集SB。在其他任何情况下,(顶部)子集ST包含与树的根节点处于同一层的那些汇点,而(底部)子集SB包含位于其他层的剩余汇点。图15.15展示了对一个小集合S={a, b, c}执行此过程的一个示例,其中不同z切割所产生的硅通孔数量由粗线段表示。
在第二种情况下,当TSV约束大于一时,如同MMM方法一样,沿着汇点的x或y坐标的中位数在水平方向上进行切割,且不考虑z维度。如果这些子集中包含具有不同z坐标的汇点,则所得到的子集将需要多个硅通孔。在每次划分步骤结束时,会为每个子集分配一个新的TSV约束,以确保维持TSV约束。该新的TSV约束通过估计新形成子集所需的硅通孔数量,并将原约束除以估计的硅通孔数量来确定。硅通孔数量的估计值由水平切割后每层中汇点的最小数量决定。MMM‐TB算法的复杂度与MMM算法相同,均为O(m log m)。
MMM‐TB算法可保证硅通孔数量不超过TSV约束。只要满足该约束,即可使用任意数量的硅通孔。硅通孔数量会显著影响总线长,从而影响时钟网络的功耗。采用穷举扫描来确定最优的硅通孔数量。然而,这种方法
计算成本较高,特别是对于较大的硅通孔数量限制。MMM‐TB 可进一步增强,以从功率角度确定最优的硅通孔数量。需要注意的是,如果硅通孔的电容较高,则简单地尽可能多地使用硅通孔可能并不会带来最低的功率,因为这一特性可能会抵消由于水平线长减少所带来的功耗节省。为了确定硅通孔数量,采用了类似于 [578] 中所使用的前瞻操作 [593]。这些操作包括:(a) 先进行 z切割,然后进行 xy切割;(b) 先进行 xy切割,然后进行 z切割。比较 (a) 和 (b) 两种情况下新形成的质心之间的距离。在两种情况下均应用一个成本函数,该函数将相应的TSV数量和线长关联起来以估计功率。在接下来的迭代中,选择能产生较低功率估计值的操作序列。
综合过程的第二阶段是DME方法的一种变体,经过调整以考虑硅通孔和压摆率约束。为了满足压摆率约束,通常的做法是不允许树中任何节点所看到的电容超过特定限制Cmax[602]。通过添加时钟缓冲器来满足该约束,以确保这些缓冲器所承受的负载保持在Cmax以下。在DME方法的自底向上遍历中(见第15.1节),基于埃尔莫尔延迟计算出的合并段,也会在内部节点的下游电容超过Cmax时为缓冲器确定。在自顶向下阶段,DME被扩展以评估合并的类型(例如,内部节点与来自子树根节点的缓冲器合并,或内部节点与子节点的标准合并),并确定内部节点和缓冲器的位置。当缓冲器插入与DME方法结合时,遇到的两种不同合并类型的示例如图15.16所示。
将MMM‐TB算法与集成缓冲器插入及DME技术应用于多个基准测试[603]表明,对于双层电路,与硅通孔电容分别为15、50和100飞法的单硅通孔时钟网络相比,多硅通孔时钟树可显著降低功耗,降幅分别为16.1%至18.8%、10.3%至13.7%以及6.6%至8.3%。对应的总线长减少分别为24.0%至26.5%、23.9%至26.6%以及16.6%至18.9%。多硅通孔时钟树的另一个优势是,由于线长减少,平均压摆率和压摆率分布得到了更好的控制。尽管
MMM‐TB算法与DME方法的结合可生成高效的多硅通孔时钟树,而其他MMM和DME方法的变体在无缓冲时钟树上展示了更大的线长缩减效果,相关内容将在下文介绍,以提供更深入的见解。
15.3.1.1 综合时钟树中硅通孔的进一步减少
在[594]中提出了一种在三个物理维度中对MMM方法的简单扩展,称为MMM‐半周长线长(HPWL),其中用户定义的参数 ρ(0 ≤ ρ ≤ 1)决定了切割方向。如果 ρ = 0,则采用标准MMM方法,并忽略z维度。或者,如果 ρ = 1,则将汇点在构成三维电路的各层之间进行划分,并对每一层生成的子集使用xy切割方式进行二分划分,如同MMM方法中一样。对于任何其他 ρ值,则在二维曼哈顿平面的几何中位数处执行水平切割。然后计算这些汇点子集的HPWL。如果某个汇点子集的HPWL小于所有汇点整体HPWL的 ρ×,则将汇点在各层之间进行划分(即进行z切割),而不是沿xy方向切割。该条件与MMM‐TB算法中的某些概念相似,在MMM‐TB算法中,使用TSV约束来确定汇点划分的方向。此外,在MMM‐TB算法中,限制硅通孔数量并不能保证总垂直线长最小化。
MMM‐TB算法提供了在递归自上而下划分过程中连接汇点所需的硅通孔数量。然而,硅通孔的使用还取决于T(S)连接拓扑中内部节点所处的层。但该信息并非由MMM‐TB算法确定。此外,标准DME技术应用于一个二维平面,其中汇点被投影到该平面上,且并未最小化硅通孔数量。
为了说明树拓扑中内部节点不同放置方式可能导致的不同硅通孔数量,请参考图15.17所示的示例。根据节点 x1, x2,和根节点 sr 的位置,两层树结构中的硅通孔数量可能会有显著差异,如图15.17所示。本示例表明,在情况 (A) 和 (H) 中对节点进行嵌入可得到最少的硅通孔数量。一种通过嵌入层来确保最小垂直长度的算法将在 [594] 中介绍。三维时钟树的垂直长度为
$$
L_{v}^{\text{total}} = \sum_{(i,j) \in G(S)} L_{\text{TSV}} |z_i - z_j|; \quad (15.11)
$$
其中 $L_{\text{TSV}}$ 是连接相邻层的一个硅通孔的长度,且求和适用于树T(S)连接拓扑内每一对节点。任何一对位于连接拓扑内的节点
同一层内的节点不产生垂直线长,因为zi = zj。为了确定T(S)中节点i的硅通孔数量,进而计算垂直线长,使用以下表达式
$$
n_{\text{TSV}}(i) =
\begin{cases}
0, & \text{if } i \text{ is a sink node;} \
n_{\text{TSV}}(T_{\text{left}}(i)) + n_{\text{TSV}}(T_{\text{right}}(i)) + n_{\text{TSV}}(i, T_{\text{left}}(i)) + n_{\text{TSV}}(i, T_{\text{right}}(i)), & \text{if } i \text{ is an internal node;}
\end{cases} \quad (15.12a-b)
$$
其中,$n_{\text{TSV}}(T_{\text{left}}(i))$ 和 $n_{\text{TSV}}(T_{\text{right}}(i))$ 分别表示以节点i的子节点为根的子树中包含的硅通孔数量,而 $n_{\text{TSV}}(i, T_{\text{left}}(i))$ 和 $n_{\text{TSV}}(i, T_{\text{right}}(i))$ 分别表示连接节点i与子树 $T_{\text{left}}(i)$ 和 $T_{\text{right}}(i)$ 的硅通孔数量。
如果节点i的子节点是汇点,并且汇点的位置已知,则用于确保根据子节点所在层确定TSV最小数量的节点i可嵌入的层记为ET(i)。然而,如果子节点是内部节点,则这些节点的嵌入层是多个嵌入层的集合。在这种情况下,可以从这些嵌入层集合中确定出使得该节点的硅通孔数量$n_{\text{TSV}}(i)$最小的一组层ET(i)。图15.18展示了基于子节点x1和x2的嵌入层来嵌入内部节点x的一个示例。如果子节点是汇点,即x1=s1和x2=s2,则在节点x处合并这些节点所需的垂直连接长度为|t2−t1|,其中t2=z2和t1=z1为汇点的层,如图15.18A所示。
如果子节点也是内部节点,则可以区分两种情况。如果嵌入层集合ET(x1)和ET(x2)存在某些共同的层,则将这些节点与节点x合并所需的最小垂直长度为$n_{\text{TSV}}(T_{\text{left}}(x)) + n_{\text{TSV}}(T_{\text{right}}(x))$,且该节点的嵌入层位于层t2和t3之间,如图15.18C所示。若选择其他任意层来嵌入x,将会导致$n_{\text{TSV}}(x)$增加,如图15.18D所示。在第二种情况下,当子节点x1和x2的嵌入层集合没有共享的嵌入层时,如图15.18E所示,节点x被嵌入在层t2和t3之间。这两种情况之间的区别在于
如图15.18C和15.18E所示,子节点存在一个共同的嵌入层,在图15.18C中,因此与节点x合并不需要硅通孔。然而,如图15.18E所示,|t3−t2| > 1,且至少需要一个硅通孔来嵌入节点x。
内部节点的嵌入层集合(由(15.12a)所要求)通过自底向上过程迭代确定[594],
$$
ET(x) = [\min(t_1, t_2), \max(t_1, t_2)]; \quad (15.13)
$$
其中
$$
t_1 = \max(\min(ET(T_{\text{left}}(x))), \min(ET(T_{\text{right}}(x)))); \quad (15.14)
$$
and
$$
t_2 = \min(\max(ET(T_{\text{left}}(x))), \max(ET(T_{\text{right}}(x)))); \quad (15.15)
$$
这些表达式的最优性已通过一系列引理[594]得到证明。将树的节点进行嵌入以确保采用最小垂直长度的过程具有O(m)的复杂度,其中m是树T(S)的节点数量。
一旦确定了树内节点的嵌入层,便基于DME技术进行该树节点的布局,其中采用埃尔莫尔或线性延迟模型。在线性延迟模型中,由于硅通孔的电容与水平导线不同,因此对硅通孔采用不同的建模方式。与将DME应用于具有线性延迟模型的二维时钟树类似,该方法同样可为三维时钟树实现零偏斜和最小线长。然而情况更为复杂,因为在ea和eb处对合并节点a和b(参见第15.1节)使用的是埃尔莫尔延迟。由于在合并段上缺乏一个特定位置来平衡从合并节点x到子树Ta和Tb根节点的延迟,该方法可能导致非最优线长。这种现象需要走线蛇形,从而导致偏离最小线长的绕行。
15.3.2 可用于预键合测试的三维时钟树综合技术
先前讨论的综合技术可为任意层数的三维电路生成三维时钟树,但存在一个限制其可用性的缺点。由于键合前测试能够保证三维系统的高良率,因此在堆叠组装之前,必须验证每一层的正确功能和预期性能。这一要求对三维系统的设计施加了相当大的约束。有关三维电路的预键合测试方法,参见[605]。对于时钟树的设计,必须进行特定修改以实现键合前测试。与CTS技术相关的键合前测试的根本区别在于增加了额外的电路。本节将介绍这些技术的显著特征。
一种用于提供可在键合前进行测试的三维时钟分配网络的方法是利用单个硅通孔拓扑,例如如图15.19所示,其中这些拓扑在三维系统的每一层中包含全连接树。每一层的一个时钟输入为该层内的所有时钟引脚提供时钟信号。然而,这种方法相比二维电路仅带来微小改进,削弱了三维集成的优势。相反,采用支持预键合测试的多硅通孔时钟网络更为有利。主要挑战在于多硅通孔拓扑。
通常只有一层包含一个完全连接的树(通常是主时钟驱动器所在的层),而其他层则由多个(或若干棵树组成的森林)通过硅通孔与该完整树相连。然而,在键合前测试操作期间,这些多棵树彼此之间是断开连接的。在键合前需要相当数量的时钟输入来为这些断开的树提供时钟,这使得测试过程更加复杂并增加了代价。
此外,即使对于包含全连接时钟网络的层,测试也不是一个简单的过程,因为该网络驱动整个时钟负载。在键合前测试期间,只有部分负载存在,这意味着时钟偏斜和压摆率可能与正常操作期间的目标偏斜和压摆率显著偏离。因此,该网络可能导致多个时序违例,这些违例可能被错误地解释为故障。为了缓解这种情况,采取两种措施:(1)在连接到硅通孔的完整网络的每个节点插入一个缓冲器;(2)在键合前测试期间,增加适当数量的冗余网络,将一层中的本地树彼此连接起来。在正常操作(即键合后)期间,这些冗余树会从其余的时钟网络断开[606]。措施(1)中的缓冲器插入使全连接树与网络其余部分解耦。因此,该时钟树每个节点的电容在键合前后操作期间保持不变。
一个两层的可键合前测试的时钟树示例如图15.20所示。图中用虚线标出了位于硅通孔之前的缓冲器、冗余树以及在正常操作期间断开该树的传输门(TGs)。另外请注意,该结构需要一个额外的控制信号来切换二级中的传输门。
在描述了键合前可测试时钟网络的特性之后,综合问题表述如下:对于分布在 n 层上的汇点集合 S = {s1; s2; s3; … sm} ⊂ R³、一个根节点 sr 以及一个 TSV 约束,需综合出一个三维时钟网络,使其在键合后(针对整个堆栈)和键合前(针对每层)均具有最小或零时钟偏斜。同时,在满足时钟压摆率约束的前提下,最小化该三维时钟网络的线长和功率。
采用上一节所述的MMM‐TB方法,为S的汇点生成一个连接拓扑结构,记作T(S)。MMM‐TB方法生成的拓扑结构中,汇点与源点位于同一层,称为源层。这些汇点通过一棵树进行连接。与其他层的连接通过硅通孔实现。为了将这些层中的子树与源层中的网络解耦,遵循以下步骤[596]:(1)如果一个硅通孔连接源层和另一层,则在源层插入一个TSV缓冲器;(2)如果三维时钟树中的两个节点通过穿越源层的硅通孔相连,则在源层添加一个TSV缓冲器;(3)如果一个硅通孔连接两个节点但不穿越源层,则不插入TSV缓冲器。在这种情况下,键合前测试期间该硅通孔的缺失不会影响源层的电容,因此不需要TSV缓冲器。
综合过程的下一阶段包括改进的DME,这是一种两阶段技术。在这种键合前感知时钟树综合(PBA‐CTS)技术中,生成了一棵零偏斜树,该树考虑了来自MMM‐TB算法的连接拓扑中TSV缓冲器和节点的合并段。然而,TSV缓冲器通常需要额外的线长来维持零(或低)偏斜要求[596]。这种情况可能导致无法满足最小线长目标。插入公共时钟缓冲器可避免这种情况。考虑图15.21所示示例,其中两个子树ST1和ST2,分别位于第一层和第二层。由于这些树位于不同的层上,因此使用TSV缓冲器来合并这些子树。该TSV缓冲器增加了从节点E到ST2的延迟。如果此延迟远大于在插入TSV缓冲器之前从E到ST1,的延迟,则该延迟会增加。为了维持零偏斜目标,需添加走线“蛇形”,但这偏离了最小线长目标。可以通过插入时钟缓冲器来避免走线蛇形。案例研究表明,此类不平衡情况很少发生;因此,为此目的使用时钟缓冲器并不是一个显著问题。
在自底向上过程中进行子树合并时,添加时钟缓冲器的另一个原因是广泛使用时钟缓冲器来满足压摆率约束。插入这些时钟缓冲器可确保每个时钟缓冲器所驱动的负载不超过下游电容阈值Cmax[602],该方法已被证明可以控制压摆率。对于可预键合测试的三维时钟树,插入时钟和TSV缓冲器的示例如图15.22所示。图15.22A展示了简单情况,当合并分支的延迟严重不平衡时(例如tdA、tdB),这种情况在二维和三维(无论是否可预键合测试)综合时钟树中都很常见。图15.22B中,由于连线过长和/或下游电容超过Cmax,因此使用了多个时钟缓冲器。
另一种情况如图15.22C所示,需要添加一个时钟缓冲器以抵消插入TSV缓冲器所引起的延迟不平衡。插入TSV缓冲器还解耦了子树,从而有利于键合前测试。
PBA‐CTS方法的输出是一个用于键合后操作的三维时钟树,以及一棵跨越位于源层中所有时钟汇的树。对于其余各层,通过冗余树连接这些层中未连通的树来生成类似的树。该过程类似于平面电路的传统CTS技术[596],包括:(1) 以自顶向下方式生成二进制连接拓扑T(S),(2) 在每个汇节点插入一个传输门,(3) 在满足偏斜和最小线长约束的条件下,将T(S)嵌入并缓冲到某一层中。注意,这些层中由冗余树连接的子树的根节点即为汇点。传输门的插入可实现连接(键合前操作)或断开
(键合后操作)冗余树需要一个跨越该层大部分区域的控制信号。为了限制该信号的线长,可以使用正交最小生成树(RMST)算法 [403,607]。
IBM [603]和ISPD [608]基准电路被用于评估这种键合前CTS技术的效率,其中时钟汇在三维电路的各层内随机分配。假设采用基于预测技术模型(PTM)的45纳米工艺节点[252]。时钟频率为1 GHz,电源电压为1.2伏特。采用后通孔TSV技术,其中硅通孔的面积、长度和衬里厚度分别为 10 µm × 10 µm、 20 µm和0.1 µm。时钟偏斜和压摆率约束分别设定为时钟周期的10%和3%。这些电路所假设的其他电气和物理特性列于[596]中。对单个硅通孔(本质上可进行键合前测试)与需要冗余树和TSV缓冲器的多硅通孔时钟树的比较表明,对于两层和四层电路,多硅通孔时钟树分别减少线长14.8%至24.4%和39.2%至42.0%。功率节省分别达到10.1%至15.9%和18.2%至29.7%。
线长与功耗节省之间的差异源于附加电路(如TSV缓冲器和传输门)以及硅通孔电容,因为线长和功耗与线电容呈线性关系;而硅通孔电容在单位长度基础上可能大于水平导线的电容。此外,传输门的控制信号增加了时钟树的整体线长拥塞。在两层中实现的多个基准电路的线长组成部分分解情况见表15.3。该线长分解针对键合后三维时钟树、源层级(第一层级)中的前键合树以及二级中的前键合树进行报告。值得注意的是,传输门控制信号的长度占总线长的显著比例(平均为29%)。
另一个潜在的开销来源是TSV缓冲器。当不在源层使用TSV缓冲器以将其树结构与其它层的下游电容解耦时,对应的线长和功率变化列于表15.4。线长的变化较小;对于特定的基准电路,观察到互连长度有所减少。相反,功耗始终有所增加,这验证了插入TSV缓冲器会缩小可预键合测试的多硅通孔时钟树的功耗增益。
最后,通过表15.5中报告的结果评估了硅通孔电容对三维时钟树性能的影响,这些结果针对IBM基准电路r5。这些结果包含了不同的硅通孔数量限制,限制了时钟树中的硅通孔数量。从这些结果中可以得出两个有趣的观察结论。首先,无论硅通孔数量限制如何,随着硅通孔电容的增加,功率性能都会变差。其次,增加硅通孔数量限制会降低功率,因为更多的硅通孔驱动更短的互连长度。但如果硅通孔电容大得多,则该趋势会被逆转,当硅通孔数量为2,469且硅通孔电容为100飞法时,功率将增加17.7%。
尽管表15.3至15.5中列出的结果显示出显著的改进,但注意到[596]中CTS技术存在两个局限性。其中一个局限性与增加的TSV缓冲器有关,这些缓冲器可能产生延迟不平衡,需通过额外的时钟缓冲器进行控制,从而导致功耗增加。另一个局限性源于在除源层之外的所有层中使用传输门(TGs),以根据工作模式(键合前或键合后)连接或断开冗余树。事实上,如表15.3第13列所列,由于传输门控制信号带来的互连开销(尽管该信号的布线嵌入在RMST中)平均达到键合后时钟树总线长的29%。该开销增加了线长
时钟分配网络所要求的,或者相反,严重限制了可键合前测试的多TSV树的优势。
这些限制可以通过更复杂的CTS方法和合适的自配置电路来规避,该电路可以替代传输门[595]。该方法首先采用一种称为MMM‐HPWLmax的先进拓扑生成方法,该方法基于MMM‐HPWL算法,随后将拓扑结构嵌入堆栈的各层中,以最小化垂直线长[594]。这些步骤生成了一个键合后三维时钟树。为了生成用于键合前测试的冗余时钟树,对除源层之外的所有层再次应用相同的方法,其中传输门被能够适应工作模式的自配置电路所替代。
此方法称为低开销键合前感知时钟树综合(LO‐PBA‐CTS)[595],与PBA‐CTS[596]之间存在两个主要区别。这些区别是:(1)放宽了必须在硅通孔之前放置缓冲器以将源层中的树与其下游子树解耦的约束;(2)消除了传输门的控制信号以及相关的互连开销。
因此,在LO‐PBA‐CTS中,缓冲器可以放置在连接到TSV的树分支上的任意位置。这为缓冲器的放置提供了更大的灵活性,降低了在节点合并过程中插入产生延迟不平衡的TSV缓冲器的可能性。然而,这种灵活性可能仍不足以防止延迟不平衡,特别是当在具有较小电容负载的分支上插入TSV缓冲器时。为了应对这种情况,TSV缓冲器被表征为稳定或不稳定 [595]。如果插入该缓冲器能够隔离源层的树,并且不需要在其他边上插入另一个时钟缓冲器来满足延迟不平衡的要求,则该TSV缓冲器是稳定的;否则,该TSV缓冲器是不稳定的。
LO‐PBA‐CTS技术通过MMM‐HPWLmax算法[594],来管理不稳定的TSV缓冲器,该算法基于MMM‐HPWL。后者在递归二分法过程中通过参数 ρ来处理TSV的密度,而 MMM‐HPWLmax则检查候选子集中包含的汇点的半周长线长是否小于或等于HPWLmax,cap。
$$
\text{HPWL}
{\text{max},\text{cap}} = \frac{C
{\text{max}} - 2C_{\text{max},\text{sink}}}{c_w}; \quad (15.16)
$$
其中,Cmax是最大电容约束,cw是水平互连的单位长度电容,Cmax,sink是所有汇点的最大电容负载。MMM‐HPWLmax采用阈值max(HPWLmax,cap, ρ×HPWL)来决定对接收端的划分是在z方向还是在xy方向进行。该阈值较为保守,因为它未包含硅通孔电容;然而,仿真结果表明,不稳定的TSV
3441

被折叠的 条评论
为什么被折叠?



