处理器时钟系统、时钟系统中的子节点电路及电子器件

文档序号:34009 发布日期:2021-09-24 浏览:10次 >En<

阅读说明:本技术 处理器时钟系统、时钟系统中的子节点电路及电子器件 (Processor clock system, sub-node circuit in clock system and electronic device ) 是由 尹文 于 2021-02-08 设计创作,主要内容包括:本申请提供了一种处理器时钟系统、时钟电路中的子节点电路及电子器件。该时钟系统包括:锁相环PLL、时钟树以及时钟网格。时钟树由层叠结构的多个时钟缓冲器组成,时钟树用于接收锁相环PLL输出的第一时钟信号clk-1,并输出第二时钟信号clk-2,时钟网格的部分节点上设置有多个子节点电路,用于根据第二时钟信号clk-2产生第三时钟信号clk-3,其中,时钟网格和时钟树为立体结构。(The application provides a processor clock system, a sub-node circuit in a clock circuit and an electronic device. The clock system includes: a phase locked loop PLL, a clock tree, and a clock grid. The clock tree is composed of a plurality of clock buffers in a laminated structure, the clock tree is used for receiving a first clock signal clk _1 output by a phase-locked loop PLL and outputting a second clock signal clk _2, a plurality of sub-node circuits are arranged on partial nodes of the clock grid and are used for generating a third clock signal clk _3 according to the second clock signal clk _2, and the clock grid and the clock tree are in a three-dimensional structure.)

处理器时钟系统、时钟系统中的子节点电路及电子器件

本申请要求于2020年3月23日提交中国专利局、申请号为202010208897.2、申请名称为“一种面向高性能处理器的低功耗时钟设计”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

本申请涉及电路领域,尤其涉及处理器时钟系统、时钟系统中的子节点电路及电子器件。

背景技术

时钟周期也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,处理器仅完成一个最基本的动作。时钟频率是衡量处理器性能的一个重要指标。在处理器的设计中,如果同一个时钟周期内完成的操作相当,那么时钟周期越短,时钟频率越高,代表处理器的性能越好。

在物理实现上,处理器内部的时钟电路通常由锁相环(phase lock loop,PLL)、时钟树或者时钟网络组成,然后连接到不同寄存器的时钟引脚。

随着计算机技术的高速发展,当前典型的高性能的处理器集成了百亿规模的晶体管,芯片面积(die size)接近1000mm2。在时钟电路设计中,随着芯片规模的增大,时钟电路面临着驱动能力不足、级数增加、时延和功耗增大的问题,从而时钟偏斜和时钟抖动的问题也越来越严重。因此,处理器的时钟频率提升越来越困难,导致处理器的性能难以满足日益增长的应用需求。

发明内容

本申请提供一种处理器时钟系统、时钟系统中的子节点电路及电子器件,能够满足应用场景对时钟电路的时钟频率变换的需求。

第一方面,提供了一种处理器时钟系统,包括锁相环PLL、时钟树和时钟网格,其中,锁相环PLL,用于输出第一时钟信号clk_1;所述时钟树用于接收所述第一时钟信号clk_1,并输出第二时钟信号clk_2;所述时钟网格,包括多个节点,所述多个节点中的部分节点上设置有子节点电路,所述子节点电路与所述时钟树相连,用于根据所述第二时钟信号clk-_2产生第三时钟信号clk_3,其中,所述时钟网格和所述时钟树为立体结构。

所述子节点电路包括谐振与去耦单元以及门控时钟单元,所述门控时钟单元用于接收门控信号G和所述第二时钟信号clk_2,并向所述时钟网格和所述谐振与去耦单元输出所述第三时钟信号clk_3,所述谐振与去耦单元包括去耦电容和多个谐振电感,支持产生多个不同频点的振荡频率。

子节点电路通过接收时钟树输出的第二时钟信号clk_2进行处理,并输出第三时钟信号clk_3,以实现门控功能。子节点电路还可以支持产生振荡频率的谐振电路,以吸收时钟电路中的峰值电流,降低功耗。进一步地,子节点电路还可以支持产生多个不同频点的振荡频率,以满足芯片对时钟频率变换更高的要求。因此,子节点电路可以兼具门控功能、谐振功能,并产生不同频点的振荡频率,从而提高了时钟电路的性能。

在一种可能的实施方式中,所述时钟树由层叠结构的多个时钟缓冲器组成。

可选地,所述处理器时钟系统也可以称为时钟系统或时钟电路。

可选地,所述子节点电路可以称为门控&谐振&去耦(gating&resonant&decoupling,GRD)电路。

结合第一方面,在一种可能的实现方式中,所述门控时钟单元用于接收所述第二时钟信号clk_2以及门控信号G,并向所述时钟网格以及所述谐振与去耦单元输出所述第三时钟信号clk_3。

门控时钟单元根据第二时钟信号clk_2以及门控信号G,以生成第三时钟信号clk_3,从而实现门控功能,提高了时钟电路的性能。

其中,门控信号G由系统配置,可以指门控信号G可以来自于芯片内部的控制逻辑电路,也可以由上层软件通过控制逻辑电路来产生。

结合第一方面,在一种可能的实现方式中,所述谐振与去耦单元中包括:多个并联的谐振电感电路、多个开关电路以及一个或多个去耦电容,其中,所述多个谐振电感电路与多个开关电路一一对应,所述多个谐振电感电路上分别设置有谐振电感。

子节点电路还包括去耦电容,以实现对电源噪声的降噪功能。因此,子节点电路是可以实现门控功能、谐振功能以及降噪功能一体化设计的电路,通过在时钟网格中设置子节点电路,能够提高了时钟电路的性能。

所述多个谐振电感电路与多个开关电路一一对应,从而通过导通或关断不同的开关电路,产生不同的频点的振荡频率,从而满足应用场景对时钟电路的时钟频率变换的需求,提高了时钟电路的性能。

结合第一方面,在一种可能的实现方式中,所述多个开关电路中的第一开关电路用于接收开关控制信号S,所述开关控制信号S用于控制所述第一开关电路处于导通状态或关闭状态,所述第一开关电路为所述多个开关电路中的任一开关电路。

结合第一方面,在一种可能的实现方式中,所述多个谐振电感电路对应于多个时钟域。

随着芯片规模越来越大,芯片内部可以在逻辑上划分为多个时钟域,每个时钟域的时钟频率不同,每个时钟域中包括独立的时钟网格。换句话说,每个时钟域对应一个同步时间,域内的器件都同步到该时间;不同时钟域对应的同步时间相互独立。

具体的,可以通过将多个谐振电感电路与多个时钟域一一对应,即每个谐振电感电路产生的谐振频率与一个时钟域对应,从而时钟电路可以适用于包括多个时钟域的芯片,提高了时钟电路的应用范围和使用效率。

结合第一方面,在一种可能的实现方式中,所述多个去耦电容的一端用于接收所述第三时钟信号clk_3,所述去耦电容的另一端用于接电源或地。

结合第一方面,在一种可能的实现方式中,所述多个子节点电路还通过所述时钟网格与多个寄存器相连,所述多个子节点电路在所述时钟网格中的分布位置是根据所述多个寄存器的负载以及位置确定的。

时钟网格的上一级驱动和控制来自于子节点电路,为了节省面积和提高驱动效率,通常不会在每个节点都设置子节点电路,因此需要通过合适的算法来优化在时钟网格中设置子节点电路的布局。因此,通过多个寄存器的负载以及位置确定多个子节点电路在所述时钟网格中的分布位置,可以提高时钟电路的驱动效率。

结合第一方面,在一种可能的实现方式中,在所述多个寄存器在所述时钟网格中为负载均衡的情况下,所述多个子节点电路在所述时钟网格中的分布位置是根据聚类算法或线性回归算法确定的,其中,所述聚类算法或线性回归算法的输入包括所述多个寄存器在所述时钟网格的位置,所述聚类算法或线性回归算法的输出包括所述多个子节点电路在所述时钟网格中的分布位置。

采用聚类算法或线性回归算法确定多个子节点电路在所述时钟网格中的分布位置,从而达到采用尽可能少的子节点电路并且合理分配子节点电路的位置的目的,可以提高时钟电路的驱动效率。

第二方面,提供了一种时钟系统中的子节点电路,其特征在于,所述子节点电路设置于所述时钟系统的时钟网格中,所述子节点电路包括门控时钟单元和谐振与去耦单元:所述门控时钟单元,用于接收门控信号G和来自时钟树的第二时钟信号clk_2,并向时钟网格和所述谐振去耦单元输出第三时钟信号clk_3;所述谐振与去耦单元包括去耦电容和多个谐振电感,所述谐振与去耦单元支持产生多个不同频点的振荡频率,用于接收所述第三时钟信号clk_3。

子节点电路通过接收时钟树输出的第二时钟信号clk_2进行处理,并输出第三时钟信号clk_3,以实现门控功能。子节点电路还可以支持产生振荡频率的谐振电路,以吸收时钟电路中的峰值电流,降低功耗。进一步地,子节点电路还可以支持产生多个不同频点的振荡频率,以满足芯片对时钟频率变换更高的要求,因此,子节点电路可以兼具门控功能、谐振功能,并产生不同频点的振荡频率,从而提高了时钟电路的性能。

结合第二方面,在一种可能的实现方式中,所述门控时钟单元用于接收所述第二时钟信号clk_2以及门控信号G,并向所述时钟网格以及所述谐振与去耦单元输出所述第三时钟信号clk_3。

结合第二方面,在一种可能的实现方式中,所述谐振与去耦单元中包括:多个并联的谐振电感电路、多个开关电路以及一个或多个去耦电容,其中,所述多个谐振电感电路与多个开关电路一一对应,所述多个谐振电感电路上分别设置有谐振电感。

结合第二方面,在一种可能的实现方式中,所述多个开关电路中的第一开关电路还用于接收开关控制信号S,所述开关控制信号S用于控制所述第一开关电路处于导通状态或关闭状态,所述第一开关电路为所述多个开关电路中的任一开关电路。

结合第二方面,在一种可能的实现方式中,所述多个谐振电感电路与多个时钟域一一对应。

结合第二方面,在一种可能的实现方式中,所述去耦电容的一端用于接收所述第三时钟信号clk_3,所述去耦电容的另一端用于接电源或地。

第三方面,提供了一种电子器件,包括:第一芯片,所述第一芯片的下表面设置有多个微焊球,所述第一芯片通过所述多个微焊球与所述第二芯片电连接;所述第二芯片,设置于所述第一芯片之下,所述第二芯片中设置有贯穿所述第二芯片的多个硅通孔,所述第二芯片的下表面设置有多个焊球,所述多个硅通孔与所述多个焊球连接;所述载板,设置于所述第二芯片之下,所述第二芯片通过所述多个硅通孔以及所述多个焊球与所述载板电连接;其中,所述电子器件中设置有时钟电路,所述时钟电路包括:锁相环PLL,用于输出第一时钟信号clk_1;时钟树,用于接收所述第一时钟信号clk_1,并输出第二时钟信号clk_2;时钟网格,所述时钟网格与多个寄存器相连,所述时钟网格用于接收所述第二时钟信号clk_2,并向所述多个寄存器输出第三时钟信号clk_3;所述PLL和所述时钟树设置于所述第一芯片中,所述时钟网格设置于所述第二芯片中。

对于包括多个芯片堆叠封装的电子器件,其中可以设置有立体时钟电路的架构,即时钟电路可以分布在两个或两个以上的芯片中,PLL和时钟树设置于第一芯片中,时钟网格设置于第二芯片中,从而时钟信号能够更灵活更快速地驱动芯片中的电路,可以提高时钟性能。

结合第三方面,所述时钟网格包括多个节点,所述多个节点中的部分节点中设置有第二方面或第二方面中任一项所述的子节点电路

结合第三方面,在一种可能的实现方式中,所述时钟树包括多级时钟缓冲器,所述多级时钟缓冲器中的最后一级时钟缓冲器通过所述多个微焊球与所述时钟网格中的多个子节点电路相连。

第四方面,提供了一种电子器件,包括:第一芯片;第二芯片,设置于所述第一芯片之下并与所述第一芯片电连接,所述第二芯片中设置有多个第一硅通孔,所述第二芯片的下表面设置有多个微焊球,所述第二芯片通过所述多个第一硅通孔以及所述多个微焊球与所述第三芯片电连接;所述第三芯片,设置于所述第二芯片之下,所述第三芯片中设置有贯穿所述第三芯片的多个第二硅通孔,所述第三芯片的下表面设置有多个焊球,所述多个第二硅通孔与所述多个焊球连接;所述载板,设置于所述第三芯片之下,所述第三芯片通过所述多个第二硅通孔以及所述多个焊球与所述载板电连接;其中,所述电子器件中设置有时钟电路,所述时钟电路包括:锁相环PLL,用于输出第一时钟信号clk_1;时钟树,用于接收所述第一时钟信号clk_1,并输出第二时钟信号clk_2;时钟网格,所述时钟网格与多个寄存器相连,所述时钟网格用于接收所述第二时钟信号clk_2,并向所述多个寄存器输出第三时钟信号clk_3;所述PLL和所述时钟树的一部分设置于所述第一芯片中,所述时钟树的另一部分设置于所述第二芯片中,所述时钟网格设置于所述第三芯片中。

对于包括多个芯片堆叠封装的电子器件,其中可以设置有立体时钟电路的架构,即时钟电路可以分布在两个或两个以上的芯片中,PLL和时钟树的一部分设置于第一芯片中,时钟树的另一部分设置于第二芯片中,而时钟网格设置于第三芯片中,从而时钟信号能够更灵活更快速地驱动芯片中的电路,可以提高时钟性能。

结合第四方面,在一种可能的实现方式中,所述时钟网格包括多个节点,所述多个节点中的部分节点中设置有第二方面或第二方面中任一项中所述的子节点电路

结合第四方面,在一种可能的实现方式中,所述时钟树包括多级时钟缓冲器,所述多级时钟缓冲器中的最后一级时钟缓冲器通过所述多个第一硅通孔、所述多个微焊球与所述时钟网格中的多个子节点电路相连。

第五方面,提供了一种芯片系统,所述芯片系统中设置有如第一方面或第一方面中任一项所述的时钟电路,或者设置有如第二方面或第二方面中任一项所述的用于时钟电路的子节点电路。

附图说明

图1是本申请一实施例的时钟电路示意图。

图2是本申请又一实施例的时钟电路示意图。

图3是本申请一实施例的时钟电路的示意图。

图4是本申请一实施例的子节点电路400的原理示意图。

图5是本申请一实施例的门控时钟控制信号的时序示意图。

图6是本申请一实施例的在负载均衡情况下的子节点电路400的布局示意图。

图7是本申请一实施例的在非负载平衡的情况下的子节点电路400的布局示意图。

图8是本申请一实施例的子节点电路400布局的示意图。

图9是本申请一实施例的子节点电路400布局的设计与仿真的方法的流程示意图。

图10是本申请一实施例的抽取时钟电路模型和仿真的方法的示意图。

图11是本申请一实施例的电子器件1100的拓扑设计图。

图12是本申请又一实施例的电子器件1200的拓扑设计图。

图13是本申请又一实施例的电子器件1300的拓扑设计图。

图14是图13的电子器件1300的芯片之间的互连示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

为了便于理解,首先介绍本申请方案中涉及的若干术语。

时钟偏斜(clock skew):是指一个时钟源到达两个不同寄存器时钟端的时间偏移。时钟偏斜的计算公式可以表示为:

Tskew=Tclk2-Tclk1(1)

其中,Tskew表示时钟偏斜,Tclk1和Tclk2分别表示时钟源到达两个不同寄存器时钟的时刻。

时钟抖动(clock jitter):是指相对于理想时钟延实际时钟存在不随时间积累的、时而超前、时而滞后的偏移。

差分电路:其输入端用于接收两个输入信号,上述两个输入信号的差值为差分电路的有效输入信号。差分电路的输出为对上述两个输入信号之差的放大。如果差分电路中存在干扰信号,会对两个输入信号产生相同的干扰,通过二者之差,干扰信号的有效输入为零,从而达到了抗共模干扰的目的。

锁相环(phase lock loop,PLL):也可以称为锁相回路,用于统一整合时钟信号,以使得高频器件正常工作。PLL通常为放置于芯片内部的模拟电路,其输入端的时钟信号来源于芯片外部的时钟发生电路,通常为晶体振荡器(简称为晶振),PLL输出端的时钟信号是时钟网络的时钟源(clock source)信号。PLL的输出时钟源通过时钟树传播到芯片内部的各个时序电路(图中表示为寄存器)的时钟引脚,作为芯片各个部件的输入。

时钟网络(clock network):是芯片内部时钟电路的拓扑结构,通常以时钟树(clock tree)或时钟网格(clock grid)的结构来实现。

时间网格:是以二维网格(2dimension mesh,2D mesh)的结构来实现时钟网络的一种方法。

为了便于理解,接下来介绍时钟电路的基本原理。图1是本申请一实施例的时钟电路100示意图。

如图1所示,时钟电路100包括PLL110以及时钟树120。其中,PLL 110用于输出时钟信号。时钟树120用于放大时钟信号,以驱动后级电路。例如,驱动后级电路中的寄存器150。

如图1所示,时钟树120通常包括多级时钟缓冲器121。每级时钟缓冲器包括一个或多个时钟缓冲器121。其中,与PLL 110相连的时钟缓冲器121可称为时钟主缓冲器122。最后一级时钟缓冲器121可用于连接寄存器150。

在传统的时钟树设计中,当芯片的规模越来越大,时钟缓冲器的级数也增多。随着级数的增加,时钟缓冲器的驱动能力变弱、时延增加、功耗变大,从而后级电路中的寄存器的时钟偏斜和时钟抖动的程度也加倍增大。例如,在典型的处理器设计中,时钟偏斜平均为几十ps(皮秒)。

图2是本申请又一实施例的时钟电路200的结构示意图。图2是在图1的基础上进行改进的时钟电路。时钟电路200在时钟树220和寄存器250之间设置了时钟网格230。时钟网格230为时钟网络的一种常见类型,可以指网格化的时钟网络的拓扑结构。时钟网络230由时钟树和芯片内部的时序电路(图中表示为寄存器250)之间的连接组成,芯片内的各个时序电路需要时钟信号驱动实现数据的更新。时钟网络用于使时钟信号能够传递到各个时序器件。

相对于图1的时钟电路的设计方案,这种时钟网格化的设计可以实现更小的时钟偏斜和时钟抖动,以提升时钟频率。

但是图2的时钟拓扑结构为全局网格化时钟,但是全局网格化时钟也存在一些缺点。例如,全局网格化对芯片金属走线的要求高。金属线规格(例如,宽度、面积或通孔)和层数需要定制,通用性不足。网格化电路的阻容(resistance-capacitance,RC)参数大,功耗高。全局网格化对时钟缓冲器的驱动要求高,时钟缓冲器数量多,并且占用面积大。

为了解决上述问题,一种改进方案为在时钟网络中引入了谐振电感。这种方法的优势在于降低功耗。加入谐振电感的时钟网络可以称为谐振时钟网络。因为谐振时钟网络使用片内的电感创建一个“电摆”(electric pendulum),从而形成谐振电路(或者也可以称为“振荡回路”)。其可以产生振荡频率,从而重新利用时钟电路中的功耗,而不是在每个时钟周期中将功耗浪费掉。因此无需在时钟电路中使用大量的时钟缓冲器。

谐振电路本身为时钟发生源,因此无需传统的时钟电路那样使用大量的时钟缓冲器。谐振电路在初始阶段需要激发能量交换,并且当谐振电路损失导致能量交换减缓时,还要再次激发。但这些激发所需要的功率也远远小于已有的时钟网络的时钟缓冲器的驱动功率。

但是这种方案的问题在于,时钟电路中的电感固定,从而导致振荡频率不变,不能满足宽频率时钟要求,不能适用于对频率变换要求高的处理器。例如超频(turbo)模式或者快速降频模式。另外,仅靠传统的电感设计还不足以进一步地降低功耗。

为了改善上述问题,本申请实施例提出了一种时钟电路,该时钟电路中设置有子节点电路,子节点电路能够同时实现谐振功能、去耦功能以及时钟控制功能。并且还可以产生不同频点的振荡频率,从而适用于对频率变换要求高的处理器,提高时钟电路的性能。

图3是本申请一实施例的时钟电路300的示意图。如图3所示,该时钟电路300包括:PLL 310、时钟树320、时钟网格330。所述时钟网格330中设置有多个子节点电路400。在本申请实施例中,所述子节点电路400可以称为门控&谐振&去耦(gating&resonant&decoupling,GRD)电路。

PLL 310用于向时钟树320输出第一时钟信号clk_1。

时钟树320与PLL 310相连,其用于接收所述第一时钟信号clk_1,并输出第二时钟信号clk_2。时钟树320包括多级时钟缓冲器321,每级时钟缓冲器321包括一个或多个时钟缓冲器321。通常来说,级数越高,时钟缓冲器321的数量越多。与PLL 310相连的时钟缓冲器321可以称为时钟主缓冲器322。时钟树320中的时钟缓冲器321可以理解为时钟树320中的节点,其作用类似于时钟中继器,用于驱动更大的负载。

时钟网格330包括多个节点,所述多个节点中的部分节点上分别设置有子节点电路400,所述多个子节点电路400与所述时钟树320相连,所述多个子节点电路400还通过所述时钟网格330与多个寄存器350相连。

在实际的物理实现中,时钟网格330通常采用不同层的金属连线以及上下层的过孔(via)连接。

多个子节点电路400用于接收所述第二时钟信号clk_2,并向所述时钟网格330输出第三时钟信号clk_3,以实现对时钟电路的门控功能。上述多个子节点电路400向时钟网格330输出第三时钟信号clk_3,可以理解为上述多个子节点电路400用于驱动和控制所述时钟网格330中的多个寄存器350。

子节点电路400还可以支持产生振荡频率的谐振电路,以吸收时钟电路中的峰值电流,降低功耗。并且由于子节点电路400可以支持产生多个不同频点的振荡频率,以满足芯片对时钟频率变换更高的要求。子节点电路400中还包括去耦电容Cd,以实现对电源噪声的降噪功能。因此,子节点电路400是可以实现门控功能、谐振功能以及降噪功能一体化设计的电路,通过在时钟网格330中设置子节点电路400,能够提高了时钟电路的性能。接下来将结合图4,继续描述子节点电路400的电路结构和工作原理。

需要说明的是,在本申请实施例中,门控功能可以指利用门控信号对时钟电路中的局部电路进行关断或导通的功能。上述局部电路可以指子节点电路400对应的电路部分,可以根据实践进行划分和布局。降噪功能也可以称为噪声抑制功能,其用于指对时钟电路中电源噪声进行降噪。谐振功能可以指利用谐振电路吸收时钟电路中的峰值电流,以达到降低功耗的目的。

图4是本申请一实施例的子节点电路400的原理示意图。如图4所示,子节点电路400包括门控时钟单元410以及谐振与去耦单元420。

门控时钟单元410接收时钟树320输出的第二时钟信号clk_2以及门控信号G,并根据所述第二时钟信号clk_2和所述门控信号G输出第三时钟信号clk_3,以实现门控功能。可选地,上述门控信号G可以由系统配置。

其中,门控信号G由系统配置,可以指门控信号G可以来自于芯片内部的控制逻辑电路,也可以由上层软件通过控制逻辑电路来产生。应理解,本申请实施例中其它由系统配置的信号也可以用上述定义解释。

门控时钟单元410还用于向谐振与去耦单元420输出第三时钟信号clk_3,以便于谐振与去耦单元420实现对第三时钟信号clk_3的谐振功能以及噪声抑制功能。

继续参见图4,作为具体示例,门控时钟单元410包括锁存器411和与门412。其中,锁存器411用于接收门控信号G以及从时钟树接收的第二时钟信号clk_2,并输出控制信号G_L。与门412用于接收第二时钟信号clk_2和控制信号G_L,并输出第三时钟信号clk-_3。第三时钟信号clk_3用于驱动时钟网格330。

应理解,图4中的门控时钟单元410的具体结构仅仅作为示例,门控时钟单元410也可以采用其它类型的门控器件和连接方式实现,只要其能实现对时钟电路的门控功能即可,本申请实施例对此不作限定。

谐振与去耦单元420支持产生多个不同频点的振荡频率,以实现谐振功能。谐振与去耦单元420中还包括去耦电容Cd,以实现对电源噪声的降噪功能。

继续参见图4,谐振与去耦单元420包括:多个并联的谐振电感电路421、多个开关电路422以及一个或多个去耦电容Cd。其中,多个谐振电感电路421与多个开关电路422一一对应。多个谐振电感电路421上分别设置有多个谐振电感Lr。在一些示例中,多个谐振电感中的任意两个谐振电感的电感值大小不同。

在一些示例中,门控时钟单元410与谐振与去耦单元420中可以设置缓冲器430,以增加信号的驱动能力。

可选地,谐振与去耦单元420还用于接收多个开关控制信号S。多个开关控制信号S与多个开关电路422一一对应。开关控制信号S用于控制对应的开关电路422处于导通状态或关断状态。开关控制信号S可以由系统配置。

例如,多个开关电路422中的第一开关电路422用于接收开关控制信号S,开关控制信号S用于控制第一开关电路422处于导通状态或关闭状态,所述第一开关电路422为所述多个开关电路422中的任一开关电路。

当多个开关电路422中的某一个开关电路422导通时,其对应的谐振电感电路421可接入到谐振电路中,并产生相应的振荡频率。其中,谐振电路是指基于谐振电感Lr和去耦电容Cd产生振荡频率的电路。其中,不同的谐振电感Lr和去耦电容Cd组合,可以产生不同的振荡频率。换句话说,不同的谐振电感电路421对应不同的振荡频率。

在一些示例中,可以通过开关控制信号S控制第一开关电路422导通,从而使得第一开关电路422对应的谐振电感电路421接入到谐振电路中,以产生振荡频率。所述第一开关电路422为所述多个开关电路422中的任一开关电路。

在一些示例中,在同一时间段内,多个开关电路422中只有一个开关电路422为导通状态。即在同一时间段内,只允许多个谐振电感电路421中的一个谐振电感电路421参与到谐振电路中。在另一些示例中,在同一时间段内,多个开关电路422中可以有一个或多个开关电路422为导通状态。即在同一时间段内,允许多个谐振电感电路421中的一个或多个谐振电感电路421参与到谐振电路中。

可选地,所述一个或多个去耦电容Cd的一端用于接收所述第三时钟信号clk_3,所述去耦电容Cd的另一端用于接电源或地。

需要说明的是,本申请实施例中的谐振电感Lr也可以称为电感Lr,去耦电容Cd也可以称为电容Cd。

可选地,随着芯片规模越来越大,芯片内部可以在逻辑上划分为多个时钟域,每个时钟域的时钟频率不同,每个时钟域中包括独立的时钟网格。换句话说,每个时钟域对应一个同步时间,域内的器件都同步到该时间;不同时钟域对应的同步时间相互独立。

在一些示例中,所述多个谐振电感电路与多个时钟域一一对应。例如,多个谐振电感Lr可以采用独立开关并联的方式,并联的电感个数可取决于时钟域(clock domai)的个数。不同的谐振电感Lr与去耦电容Cd组合,可以产生不同的振荡频率。

可选地,谐振电路的振荡频率可以根据以下公式(2)计算。

其中,f表示振荡频率,L表示电感值,C表示电容值。

如图4所示,谐振电感Lr的一端用于接收第三时钟信号clk_3。谐振电感Lr的另一端还可以通过去耦电容Cd与电源或地相连。

需要说明的是,图4中的子节点电路400的结构仅仅作为示例。在实践中,子节点电路400中可以包括更多的器件或采用其它的连接方式。或者,子节点电路400中也可以包括比图4更少的模块和器件。本申请实施例对子节点电路400的具体结构不作限定,只要其能实现前文中描述的功能即可。

在本申请实施例中,子节点电路400可以利用多个谐振电感电路421吸收峰值电流,降低功耗。并且子节点电路400还可以利用多个谐振电感电路421和去耦电容Cd结合,即多路电感电容的组合谐振,以产生不同频点的振荡频率,从而满足处理器对时钟频率变换的需求。

在本申请实施例中,在谐振电感电路421断开时,去耦电容Cd可以作为通用的芯片电源去耦电容,用于瞬态噪声(或同步开关噪声SSN)抑制。

可选地,在具体示例中,根据电源和地对瞬态电压的需求,可以采用多个去耦电容Cd并联的方式增加电容容量,以得到更好的效果。

本申请实施例中,在时钟电路中采用时钟树+时钟网格的混合设计的情况下,时钟网的寄生参数和负载很大,因此功耗会更大。在没有设置门控时钟单元410的情况下,在每个时钟周期,时钟电路都会翻转。在设置门控时钟单元420的情况下,时钟电路会受门控信号G控制,减少时钟电路翻转,或者说减少了时钟开关行为,从而降低了功耗。因此通过在子节点电路400中增加门控时钟单元410,可以减少时钟开关行为,节省了开关功耗。同时,由于减少了时钟引脚的开关行为,寄存器的内部功耗也减少了。

作为示例,通常情况下,采用门控时钟单元410能够节省20%~50%的功耗。门控时钟单元410的降功耗原理为:通过控制时钟翻转率(表示为a),降低时钟电路的动态功耗。例如,公式(3)示出了时钟电路的功耗的计算方式。

P=a×f×C×V2 (3)

其中,P表示时钟电路的功耗,a表示时钟翻转率,C表示负载等效电容,V表示时钟电路的工作电压。

图5是本申请一实施例的子节点电路400的门控时钟控制信号的时序示意图。如图5所示,第二时钟信号clk_2表示时钟树320输出的时钟信号。门控信号G为开放接口的信号,开放接口是指信号可以通过上层软件控制。控制信号G_L表示门控信号G与第二时钟信号clk_2通过锁存器411同步后的信号。第三时钟信号clk_3表示控制信号G_L与第二时钟信号clk_2进行与操作之后的信号。第三时钟信号clk_3为门控时钟单元410的输出信号。

接下来继续介绍本申请实施例的子节点电路400的时钟网格布局算法。时钟网格的上一级驱动和控制来自于子节点电路400,为了节省面积和提高驱动效率,通常不会在每个节点都设置子节点电路400,因此需要通过合适的算法来优化在时钟网格中设置子节点电路400的布局。

在一种可能的实现方式中,当时钟网格内的寄存器电路负载均衡(uniform)时,可以采用聚类或线性回归算法实现子节点电路400的时钟网格布局。

例如,图6是本申请一实施例的在负载均衡情况下的子节点电路400的布局示意图。负载均衡通常体现为同一芯片内相同类型的寄存器,或者说时钟网格内的各寄存器具有相同或相近的门负载(gate loading)。

如图6所示,可以采用K均值聚类算法(K-means clustering algorithm,K-means)算法或线性回归算法,实现在时钟网格内的寄存器数量固定的情况下,使用最少的子节点电路400驱动上述寄存器,并且子节点电路400到各个寄存器的总距离最短。上述距离可以指一个平面上的距离,也可以指立体的距离。

其中,K-means算法是一种迭代求解的聚类分析算法。对于给定的样本集,可以指定K个初始质心(initial centroids),以作为聚类的类别(cluster),重复迭代至算法收敛。

图6中以聚类算法为K-means算法为例进行说明,应理解,图6中也可以采用其它聚类算法实现负载均衡情况下子节点电路400的布局。

在一种可能的实现方式中,当时钟网格内的寄存器电路负载不均衡(non-uniform)时,可以采用网格化平均法先分解寄存器电路,再使用聚类或线性回归算法。

例如,图7是本申请一实施例的在非负载平衡的情况下的子节点电路400的布局示意图。如图7所示,在时钟网格内的寄存器电路非负载均衡时,通常会出现定制的功能更多的寄存器或寄存器堆(register file)。在这种情况下,可以将时钟网格划分为多个子网格,在子网格内部先使用均分法,将大的寄存器分解为最小粒度的寄存器,以将非负载平衡电路归一化为负载平衡电路。然后使用聚类(例如,K-means算法)或线性回归算法求解子节点电路400的布局。

其中,上述最小粒度的寄存器可以指最小尺寸的寄存器,最小尺寸是指半导体工厂能够加工的寄存器的最小单位。

可选地,寄存器的大小可以指寄存器的尺寸大小,寄存器的尺寸越大,表示负载越大。上述最小粒度的寄存器,可以指最小尺寸的寄存器。

图8是本申请一实施例的子节点电路400布局的示意图。如图8所示,在子节点电路400布局后,子节点电路400与寄存器之间的相对关系是:从图中某一顶点(子节点电路400)到达周边4个子网格内(含寄存器)的中心位置的距离相等。

图9是本申请一实施例的子节点电路400电路布局的设计与仿真的方法的流程示意图。图9的方法可以使用电路仿真软件实现。如图9所示,该方法包括:

S901、输入处理器设计网表(netlist)。

S902、进行时钟布局设计,放置PLL模块。

S903、摆放逻辑单元。

S904、定义时钟网格区域。

S905、根据时钟网格位置生成时钟树。

S906、插入门控电路。

S907、插入谐振电感Lr。

S908、插入去耦电容Cd。

S909、抽取时钟电路模型并运行仿真。

S910、判断仿真结果是否满足时钟要求。

若否,则返回执行步骤S4。若是,则执行S11。

S911、布线。

图10是本申请一实施例的抽取时钟电路模型和仿真的方法的示意图。图10的方法可以使用电路仿真软件实现。图10中示出了图9的步骤S10的具体流程。如图10所示,该方法包括:

S101、输入时钟设计原理图。

上述时钟设计原理图例如可以为寄存器转换级(register transfer level,RTL)网表代码(netlist code)。其中RTL是指逻辑设计的一个抽象层次,其使用硬件描述语言描述理想达到的功能。

S102、定义时钟源。

S103、抓取时钟源输出引脚。

S104、逐级抓取时钟输出连接和时钟缓冲器。

S105、判断抓取的输出引脚是否为寄存器的时钟引脚。

如果为是,则继续执行S106;如果为否,则返回S103重新执行。

S106、定义PVT工艺角和其它仿真条件。

其中,PVT工艺角是指程序-电压-温度工艺角(process-voltage-temperaturecorner,PVT corner)。其表示在仿真设计需要满足的电压与温度条件。

S107、从物理参数库抽取差分线和缓冲器电路参数。

例如,上述抽取差分线和缓冲器电路参数包括通过RLC仿真电路模拟器(simulation program with integrated circuit emphasis,SPICE)模型(model)提取上述参数。SPICE表示电路级模拟仿真程序。

S108、构建端到端时钟链路网表。

例如,上述构建端到端时钟链路网表包括通过RTL SPICE model构建上述网表。

S109、输入时钟源激励,运行仿真。

例如,上述输出时钟源激励可以包括设置时钟源信号的频率、时钟抖动(jitter)、电压转换速率(slew rate)。其中,时钟抖动可以指信号的定时事件与其理想位置之间的偏差。压摆率也可以称为电压转换速率,可以指在一个时间单位内电压升高的幅度。

S110、判断仿真结果是否满足要求。若是,则仿真结束;若否,则修改时钟设计,并返回S101重新执行时钟设计的仿真。

可选地,时钟树可以采用差分电路设计。差分时钟树的抗噪能力强、功耗低、对负载的驱动距离远。

另外,本申请实施例还提出了一种电子器件,该电子器件中设置有立体时钟电路架构,从而可以提高时钟性能。该立体时钟架构可以包括前文中所述的时钟电路300,或者该立体时钟电路架构也可以包括其它类型的时钟电路。上述电子器件可以为多芯片堆叠封装结构,多芯片堆叠封装结构允许芯片的多层堆叠,通过硅通孔(through silicon via,TSV)来提供多个芯片在垂直方向上的信号连接。在一些示例中,该电子器件可以为处理器。

可选地,上述立体时钟架构,可以结合2维网格(2dimension mesh,2D mesh)或三维集成电路(3dimension integrated circuit,3DIC)等众核片上系统(system on chip,SoC),结合新方法、新工艺,以获取最优收益,例如时钟抖动、时钟偏斜更小。上述新工艺可以包括载板上晶圆的芯片(chip-on-wafer-on-substrate,CoWoS)封装、扇出型封装(fanout package,FOP)、3维集成电路硅通孔(3dimension integrated circuit throughsilicon via,3DIC TSV,3D TSV)封装等。

例如,图11是本申请一实施例的电子器件1100的拓扑设计图。该电子器件1100采取了3DIC TSV的3D拓扑结构。3DIC TSV是指将多个芯片堆叠在一起进行封装,并且利用硅通孔(through silicon via,TSV)实现芯片之间的高速高效数据通信。

如图11所示,该电子器件包括第一芯片1101第二芯片1102以及载板1104。其中,第二芯片1102设置于第一芯片1101之下,载板1104设置于第二芯片1102之下。

所述第一芯片1101的下表面设置有多个微焊球1105,所述第一芯片1101通过所述多个微焊球1105与所述第二芯片1102电连接。

第二芯片1102中设置有多个贯穿第二芯片1102的硅通孔1107,所述第二芯片1102的下表面设置有多个焊球1108,所述多个硅通孔1107与所述多个焊球1108相连,所述第二芯片1102通过所述多个硅通孔1107以及所述多个焊球1108与载板1104电连接。

载板1104的下表面设置有球栅阵列1109,所述球栅阵列1109用于连接所述载板1104与印刷电路板(printed circuit board,PCB)(图11中未示出)。

载板1104也可以称为封装载板、基板、封装基板,为芯片提供机械支撑、保护、散热和电气连接通道。载板1104上设置有线路,以导通第一芯片1101、第二芯片1102与PCB之间的信号。载板1104可以通过键合线与处理器的外部引脚相连,载板1104的球栅阵列1109可用于封装后的处理器与PCB主板之间的连接。

可选地,电子器件1100中可以设置前文中所述的时钟电路(100,200,300),也可以设置其他类型的时钟电路。其中,第一芯片1101中可以设置时钟电路中的PLL(110,210,310)以及时钟树(110,220,320)。第二芯片1102中可以设置时钟电路中的时钟网格(230,330)以及寄存器(150,250,350)。

如图11所示,作为示例,第一芯片1101中可以设置时钟电路300中的PLL310以及时钟树320,第二芯片1102中可以设置时钟电路300中的时钟网格330。所述时钟网格330包括多个寄存器350。所述时钟网格350中包括多个节点,所述多个节点中的部分节点中可以设置子节点电路400,也可以不设置子节点电路400。

作为示例,所述时钟树320包括多级时钟缓冲器311,所述多级时钟缓冲器311中的最后一级缓冲器通过所述多个微焊球1105与所述时钟网格330中的多个子节点电路400相连。

可选地,第一芯片1101可以包括逻辑芯片或存储芯片(logic&memory die)。第二芯片1102可以包括逻辑芯片(logic die)。

可选地,图11中的电子器件可以为处理器。

作为示例,图11中的电子器件的芯片架构设计流程可以描述如下。该芯片架构设计流程可以通过电子设计自动化(electronic design automation,EDA)软件实现。

I).第二芯片的时钟设计

S501、根据寄存器的摆放密度和位置,生成时钟网格。

S502、根据寄存器在时钟网格的位置,放置子节点电路400并将子节点电路400连接到时钟网格节点。

S503、在子节点电路400的摆放位置插入硅通孔,硅通孔与子节点电路400相连,用于与第一芯片的电路连接。

II).第一芯片的时钟设计

S601、在硅通孔所在的位置摆放终点(sink)时钟缓冲器,sink时钟缓冲器是指第一芯片的时钟电路的终点。

S602、根据第一芯片的布局要求和sink时钟的位置,摆放PLL的位置。

S603、根据PLL和sink时钟缓冲器的位置,生成时钟树。

S604、将时钟树各级的缓冲器相连。

图12是本申请又一实施例的电子器件1200的拓扑设计图。与图11相比,电子器件1200中可以包括更多的芯片。如图12所示,该电子器件1200中从上至下依次包括第一芯片1101、第二芯片1102、第三芯片1103以及载板1104。为了简洁,图12中与图11中相同或相似的内容,此处不再赘述。

如图12所示,第二芯片1102设置于第一芯片1101之下,并与第一芯片1101电连接。作为示例,第一芯片1101和第二芯片1102之间可以采用物理或化学的方式进行键合连接。第二芯片1102中设置有多个第一硅通孔1106。第二芯片1102的下表面设置有多个微焊球1105,所述第二芯片1102通过多个第一硅通孔1106以及所述多个微焊球1105与第三芯片1103电连接。

第三芯片1103中设置有多个贯穿第三芯片1103的第二硅通孔(through siliconvia,TSV)1107,所述第三芯片1103的下表面设置有多个焊球1108,所述多个第二硅通孔1107与所述多个焊球1108相连,所述第三芯片1103通过所述多个第二硅通孔1107以及所述多个焊球1108与载板1104电连接。

载板1104的下表面设置有球栅阵列1109,所述球栅阵列1109用于连接所述载板1104与PCB(图12中未示出)。

可选地,电子器件1200中可以设置前文中所述的时钟电路(100,200,300),也可以设置其他类型的时钟电路。其中,第一芯片1101中可以设置时钟电路中的PLL(110,210,310)以及时钟树(110,220,320)的一部分。第二芯片1102中可以设置时钟树(110,220,320)的另一部分。第三芯片1103中可以设置时钟电路中的时钟网格(230,330)以及寄存器(150,250,350)。

如图12所示,作为示例,第一芯片1101中可以设置时钟电路300中的PLL310以及时钟树320的一部分,第二芯片1102中设置有时钟树320的另一部分。第三芯片1103中可以设置时钟电路300中的时钟网格330。所述时钟网格330包括多个寄存器350。所述时钟网格350中包括多个节点,所述多个节点中的部分节点中可以设置子节点电路400,也可以不设置子节点电路400。

作为示例,所述时钟树320包括多级时钟缓冲器311,所述多级时钟缓冲器311中的最后一级缓冲器通过位于第二芯片1102中的多个第一硅通孔1106、多个微焊球1105与所述时钟网格330中的多个子节点电路400相连。

可选地,第一芯片1101和第二芯片1102可以包括逻辑芯片或存储芯片(logic&memory die)。第三芯片1103可以包括逻辑芯片(logic die)。

可选地,图12中的电子器件1200可以为处理器。

图13是本申请又一实施例的电子器件1300的拓扑设计图。该拓扑设计基于小芯片(chiplet)芯片架构。Chiple结构也可以称为乐高(lego)架构,可采用载板上晶圆的芯片(chip-on-wafer-on-substrate,CoWoS)封装或扇出型封装(fan out package,FOP)。可选地,电子器件1300可以为处理器。

其中,CoWoS是指一种2.5维的集成型的封装技术,其封装过程为先将半导体芯片通过过晶圆上芯片(Chip on Wafer,CoW)的封装制程连接至晶圆,再把此CoW芯片与载板连结,集成而成CoWoS这种封装方式可以将多个芯片封装到一起,达到封装体积小,功耗低,引脚少的效果。

FOP通过重布线路层将不同功能的芯片与被动组件连接在一起,降低封装的体积。能够同时兼顾成本以及性能,将异质芯片整合在单一封装内。

FOP主要包括扇出型晶圆级封装(fan-out-wafer-level-packaging,FOWLP)以及扇出型面板级封装(fan-out-panel-level packaging,FOPLP)两种类型。

如图13所示,电子器件1300中包括第一芯片层1301、第二芯片层1302以及载板1304。其中,第一芯片层1301中可包括多个芯片,多个芯片通过中间介质(interposer)进行高速互联。图13中以第一芯片层1301包括2个中央处理器(central processing unit,CPU)芯片(13-1,13-2)和2个IO芯片(13-3,13-4)为例进行说明。

2个CPU(13-1,13-2)芯片内部各自设置有独立的时钟网络。每个CPU芯片(13-1,13-2)内部的时钟网络可以为前文中的时钟电路(100,200,300),也可以为其它类型的时钟电路。作为示例,CPU芯片(13-1,13-2)中可设置时钟电路中的PLL(110,210,310)以及时钟树(110,220,320)。第二芯片层1302中可以设置时钟电路中的时钟网格(230,330)以及寄存器(150,250,350)。

CPU芯片(13-1,13-2)之间通过高密高速互联方式将时钟信号连接。例如,图14是图13中的CPU芯片之间互连的示意图。如图14所示,上述高密高速互连方式例如可以采用小型输入输出(small input output,small IO)技术。

需要说明的是,前述各图以及各实施例中的第一芯片、第二芯片和第三芯片为裸晶die。所述第一芯片、第二芯片和第三芯片又可以成为第一die、第二die和第三die。其中,在可能的实现方案中,第一die、第二die和第三die分别包括一层或多层die。

图13中的电子器件1300的时钟设计方案包括:

S801、根据寄存器的摆放密度和位置,生成时钟网格。上述时钟网格可以为一个或多个时钟网格。

S802、根据寄存器在时钟网格的位置,放置子节点电路400,并将子节点电路400连接到时钟网格节点。

S803、根据芯片布局要求和子节点电路400的位置,摆放PLL位置。

S804、根据PLL和子节点电路400的位置,生成时钟树,确定各级时钟缓冲器的位置。

S805、将时钟树各级缓冲器连接。

S806、若多个芯片之间需要共时钟源设计,跨芯片时钟信号通过芯片与芯片之间的高速互连方式相互连接。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种校准方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!