CN220154843U - 流水线时钟驱动电路、计算芯片、算力板和计算设备 - Google Patents
流水线时钟驱动电路、计算芯片、算力板和计算设备 Download PDFInfo
- Publication number
- CN220154843U CN220154843U CN202320224535.1U CN202320224535U CN220154843U CN 220154843 U CN220154843 U CN 220154843U CN 202320224535 U CN202320224535 U CN 202320224535U CN 220154843 U CN220154843 U CN 220154843U
- Authority
- CN
- China
- Prior art keywords
- clock
- module
- signal
- delay
- driving circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003111 delayed effect Effects 0.000 claims abstract description 33
- 230000001934 delay Effects 0.000 claims abstract description 23
- 230000000630 rising effect Effects 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 14
- 239000013256 coordination polymer Substances 0.000 description 7
- 239000000872 buffer Substances 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Landscapes
- Manipulation Of Pulses (AREA)
Abstract
本公开涉及流水线时钟驱动电路、计算芯片、算力板和计算设备。公开了一种流水线时钟驱动电路,用于为流水线提供脉冲时钟信号,包括:多级时钟驱动电路,每一级用于为流水线的相应运算级提供脉冲时钟信号;时钟源,耦合到第一级时钟驱动电路的输入,每一级时钟驱动电路包括:触发器,耦合到本级时钟驱动电路的输入;延时模块,包括第一延时子模块,其对触发器输出的脉冲信号进行延时,将延时后的脉冲信号作为反馈脉冲信号反馈到触发器;组合逻辑模块,对脉冲信号和反馈脉冲信号进行组合逻辑运算来产生脉冲时钟信号以提供到相应运算级,其中延时模块还包括第二延时子模块,其对脉冲信号进行延时,将延时后的脉冲信号输出到下一级时钟驱动电路。
Description
技术领域
本实用新型涉及用于执行哈希算法的电路。更具体地,涉及一种流水线时钟驱动电路,以及包括流水线时钟驱动电路的计算芯片、算力板和计算设备。
背景技术
用于产生加密货币的芯片通常采用包括多个运算级的流水线的结构。根据所使用的算法,将运算逻辑分成若干个运算级,其中每一个运算级具有相似的功能设计和运算结构。特别地,在流水线的各个运算级中使用锁存器作为时序器件时,每个运算级中的锁存器需要一个工作时钟(即脉冲时钟)。因此,对于每个运算级,通过相应的一级时钟驱动电路向其输入一个脉冲时钟。通常,用于每个运算级的工作时钟来源于同一个时钟源,该时钟源所产生的时钟信号通过流水线时钟驱动电路而逐级传递。
针对每个运算级产生用于锁存器的工作时钟的基本原理是将本级时钟驱动电路的输入时钟信号和延时的输入时钟信号二者输入到门电路(如或非门、与非门等)从而产生脉冲时钟,其中延时的输入时钟信号是输入时钟信号经过延时模块后产生的。该脉冲时钟的宽度基本由延时模块的延迟时间决定。此外,延时的输入时钟信号还被输出到下一级时钟驱动电路,作为下一级时钟驱动电路的输入时钟信号。这使得产生的脉冲时钟的宽度与相邻两级时钟驱动电路的输入时钟信号之间的延迟相同,即,脉冲时钟的宽度与相邻两个运算级的脉冲时钟之间的延迟相同。
需要注意的是,在流水线中,第k个运算级在第m个时钟周期产生的数据需要第k+1个运算级在第m+1个时钟周期采集并使用。因此,在每个运算级所需的运算时间不变的情况下,第k个运算级的脉冲时钟的第m个时钟周期的上升沿与第k+1个运算级的脉冲时钟的第m+1个时钟周期的上升沿的距离越近(即,该距离与时钟周期之比越小),所需的时钟周期也就越长。也就是说,相邻两个运算级的脉冲时钟之间的延迟越长(即,相邻两个运算级的脉冲时钟的相同时钟周期的上升沿之间的距离与时钟周期之比越大),流水线中锁存器的实际工作频率越低,系统的性能也就越差。因此,期望相邻两个运算级的脉冲时钟之间的延迟较短。
但是,脉冲时钟的宽度需要满足流水线的最小脉冲宽度的要求。即,当脉冲时钟有效时,需要该级时钟驱动电路的输入时钟信号的状态(高电平或低电平)保持不变,从而维持所产生的脉冲时钟的状态保持最小脉冲宽度以上的时间。如上所述,相邻两个运算级的脉冲时钟之间的延迟与脉冲时钟的宽度相同,因此相邻两个运算级的脉冲时钟之间的延迟也需要相应地满足该最小脉冲宽度的要求,这使得流水线的工作频率较低,系统的性能受到限制。
因此,存在对于新技术的需求。
实用新型内容
本公开的目的之一是提供一种改进的流水线时钟驱动电路。
根据本实用新型的一个方面,提供了一种流水线时钟驱动电路,用于为包括多个运算级的流水线提供脉冲时钟信号,所述流水线时钟驱动电路包括:多级时钟驱动电路,其中每一级时钟驱动电路用于为流水线的多个运算级中的相应一个运算级提供脉冲时钟信号;以及时钟源,耦合到第一级时钟驱动电路的输入,用于提供基本时钟信号,其中所述多级时钟驱动电路中的除第一级时钟驱动电路以外的其他各级时钟驱动电路的输入耦合到上一级时钟驱动电路的输出,并且其中每一级时钟驱动电路包括:触发器,耦合到本级时钟驱动电路的输入;延时模块,包括第一延时子模块,第一延时子模块耦合到触发器的输出并且对触发器输出的脉冲信号进行延时,将延时后的脉冲信号作为反馈脉冲信号反馈到触发器;以及组合逻辑模块,耦合到触发器和第一延时子模块的输出,所述组合逻辑模块对触发器输出的脉冲信号和第一延时子模块输出的反馈脉冲信号进行组合逻辑运算来产生脉冲时钟信号以提供到流水线的相应一个运算级,并且在所述多级时钟驱动电路中的除最后一级时钟驱动电路以外的其他各级时钟驱动电路中,延时模块还包括第二延时子模块,第二延时子模块耦合到触发器的输出并且对触发器输出的脉冲信号进行延时,将延时后的脉冲信号作为时钟驱动信号输出到下一级时钟驱动电路。
根据本实用新型的一个实现方式,所述触发器可以是上升沿触发器。
根据本实用新型的一个实现方式,所述组合逻辑模块可以是或门或者或非门。
根据本实用新型的一个实现方式,所述触发器可以是下降沿触发器。
根据本实用新型的一个实现方式,所述组合逻辑模块可以是与门或者与非门。
根据本实用新型的一个实现方式,第一延时子模块和第二延时子模块可以分别由奇数个反相器构成。
根据本实用新型的一个实现方式,构成第一延时子模块的多个反相器中的一部分可以构成第二延时子模块,或者构成第二延时子模块的多个反相器中的一部分可以构成第一延时子模块。
根据本实用新型的一个实现方式,第一延时子模块和第二延时子模块可以分别由多个反相器和一个或多个数据选择器构成,其中所述一个或多个数据选择器可以被配置为使得第一延时子模块和第二延时子模块中的反相器分别形成多条信号通路,其中每条信号通路可以包括不同数量的反相器,并且第一延时子模块和第二延时子模块中的每条信号通路中的反相器的数量可以均为奇数。
根据本实用新型的一个实现方式,第一延时子模块和第二延时子模块可以共同包括公共延时子模块,公共延时子模块可以由多个反相器和一个或多个数据选择器构成,并且第一延时子模块和第二延时子模块中的至少一个还包括与公共延时子模块串联连接的多个反相器。
根据本实用新型的另一个方面,提供了一种计算芯片,其包括一个或多个如上所述的流水线时钟驱动电路。
根据本实用新型的又一个方面,提供了一种算力板,其包括一个或多个如上所述的计算芯片。
根据本实用新型的又一个方面,提供了一种计算设备,其包括一个或多个如上所述的算力板。
根据参照附图的以下描述,本实用新型的其它特性特征和优点将变得清晰。
附图说明
所包括的附图用于说明性目的,并且仅用于提供本文所公开的实用新型性装置以及将其应用到计算设备的方法的可能结构和布置的示例。这些附图决不限制本领域的技术人员在不脱离实施方案的实质和范围的前提下可对实施方案进行的在形式和细节方面的任何更改。所述实施方案通过下面结合附图的具体描述将更易于理解,其中类似的附图标记表示类似的结构元件。
图1示出了现有技术的流水线时钟驱动电路的示意图。
图2A示出了根据本实用新型的一个实施例的流水线时钟驱动电路的示意图。
图2B示出了根据本实用新型的一个实施例的流水线时钟驱动电路所产生的脉冲时钟信号的时序图。
图3A示出了根据本实用新型的另一个实施例的流水线时钟驱动电路的示意图。
图3B示出了根据本实用新型的另一个实施例的流水线时钟驱动电路所产生的脉冲时钟信号的时序图。
图4示出了根据本实用新型的一个实施例的流水线时钟驱动电路的延时模块的示意图。
图5示出了根据本实用新型的另一个实施例的流水线时钟驱动电路的延时模块的示意图。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在本说明书中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,所公开的实用新型并不限于附图等所公开的位置、尺寸及范围等。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应当注意,除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的哈希引擎是以示例性的方式示出,来说明本公开中的电路的不同实施例,而并非意图限制。本领域的技术人员将会理解,它们仅仅说明可以用来实施本实用新型的示例性方式,而不是穷尽的方式。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
图1示出了现有技术的流水线时钟驱动电路100的示意图。流水线时钟驱动电路100用于为包括多个运算级101-1,...,101-(N-1),101-N的流水线101提供脉冲时钟信号。
如图1所示,流水线时钟驱动电路100包括时钟源110和多级时钟驱动电路120-1,120-2,,..,120-N。时钟源110耦合到第一级时钟驱动电路120-1的输入,用于提供基本时钟信号。多级时钟驱动电路120-1,120-2,,..,120-N中的每一级时钟驱动电路用于为流水线101的多个运算级101-N,101-(N-1),...,101-1中的相应一个运算级提供脉冲时钟信号。
其中,每一级时钟驱动电路120-1,120-2,...,120-N包括延时模块130-1,130-2,...,130-N和组合逻辑模块140-1,140-2,...,140-N(如或非门、与非门等)。延时模块130-1,130-2,...,130-N用于对该级时钟驱动电路120-1,120-2,...,120-N的输入时钟信号进行延时。组合逻辑模块140-1,140-2,...,140-N用于对该级时钟驱动电路120-1,120-2,...,120-N的输入时钟信号与经延时模块130-1,130-2,...,130-N延时的输入时钟信号进行逻辑运算(如或非、与非等),并且输出其运算结果作为该级时钟驱动电路120-1,120-2,...,120-N的输出脉冲时钟信号,用于提供到流水线101的相应一个运算级101-N,101-(N-1),...,101-1。
此外,经延时模块130-1,130-2,,..延时的输入时钟信号还被输出到下一级时钟驱动电路120-2,...,120-N作为其输入时钟信号。这使得产生的脉冲时钟信号的宽度与相邻两级时钟驱动电路的输入时钟信号之间的延迟相同,即,脉冲时钟信号的宽度与相邻两个运算级的脉冲时钟信号之间的延迟相同。
如前所述,相邻两个运算级的脉冲时钟信号之间的延迟越长,流水线中锁存器的实际工作频率越低,系统的性能也就越差。因此,期望相邻两个运算级的脉冲时钟之间的延迟较短。但是,相邻两个运算级的脉冲时钟之间的延迟需要还满足最小脉冲宽度的要求,这使得该延迟较长,因而系统的性能受到限制。
针对这一问题,本实用新型提出一种改进的流水线时钟驱动电路,其中时钟驱动电路所产生的脉冲时钟信号的脉冲宽度与相邻两个运算级的脉冲时钟之间的延迟无关。
图2A示出了根据本实用新型的一个实施例的流水线时钟驱动电路200的示意图。图2B示出了流水线时钟驱动电路200所产生的脉冲时钟信号的时序图。
流水线时钟驱动电路200用于为包括多个运算级201-1,...,201-N的流水线201提供脉冲时钟信号。
如图2A所示流水线时钟驱动电路200包括时钟源210和多级时钟驱动电路220-1,...,220-N。
时钟源210耦合到第一级时钟驱动电路220-1的输入,用于提供基本时钟信号。时钟源210提供的基本时钟信号的占空比可以是0.5,频率可以是几百兆赫兹,例如400-700MHz。
多级时钟驱动电路220-1,,..,220-N中的除第一级时钟驱动电路220-1以外的其他各级时钟驱动电路的输入耦合到上一级时钟驱动电路的输出,其中每一级时钟驱动电路220-1,...,220-N用于为流水线201的多个运算级201-N,...,201-1中的相应一个运算级提供脉冲时钟信号。
其中,每一级时钟驱动电路220-1,...,220-N包括触发器230-1,...,230-N、延时模块240-1,...,240-N和组合逻辑模块250-1,...,250-N。
触发器230-1,,..,230-N耦合到本级时钟驱动电路的输入。即,第一级时钟驱动电路220-1中的触发器230-1耦合到时钟源210的输出,而其他各级时钟驱动电路中的触发器耦合到上一级时钟驱动电路的输出。触发器230-1,...,230-N可以是边沿触发器。触发器230-1,...,230-N的类型和连接方式可以根据需要来配置。
在图2A中示出了触发器230-1,...,230-N作为上升沿D触发器的实施例。在图2A所示的实施例中,触发器230-1,...,230-N的SET端耦合到延时模块240-1,...,240-N的输出,D端固定为低电平(即逻辑“0″),CP端耦合到上一级时钟驱动电路的输出,而输出端Q耦合到延时模块240-1,...,240-N作为其输入。在上升沿D触发器的SET端信号为高电平的情况下,输出端Q始终为高电平。在SET端信号为低电平的情况下,每当CP端信号的上升沿到来时,输出端Q变为D端的信号值。在其它实施例中,触发器230-1,...,230-N可以是例如下降沿触发器,并且其连接方式也可以随之调整(以下将在图3A所示的实施例中详细描述)。
延时模块240-1,...,240-N的输入耦合到触发器230-1,...,230-N的输出。延时模块240-1,...,240-N包括第一延时子模块241-1,...,241-N,其耦合到触发器230-1,...,230-N的输出并且对触发器230-1,...,230-N输出的脉冲信号进行延时,将延时后的脉冲信号作为反馈脉冲信号反馈到触发器230-1,...,230-N。
在多级时钟驱动电路220-1,...,220-N中的除最后一级时钟驱动电路220-N以外的其他各级时钟驱动电路中,延时模块240-1,...还包括第二延时子模块242-1,...,其耦合到触发器230-1,...的输出并且对触发器230-1,...输出的脉冲信号进行延时,将延时后的脉冲信号作为时钟驱动信号输出到下一级时钟驱动电路。
在优选的实施例中,第一延时子模块241-1,...,241-N和第二延时子模块242-1,...还分别对触发器230-1,...,230-N输出的脉冲信号进行反相。
在优选的实施例中,第一延时子模块241-1,,..,241-N和第二延时子模块242-1,,..对触发器230-1,...,230-N输出的脉冲信号的延时不同。在进一步优选的实施例中,第一延时子模块241-1,...,241-N对触发器230-1,...,230-N输出的脉冲信号的延时可以大于第二延时子模块242-1,...对触发器230-1,...输出的脉冲信号的延时。
第一延时子模块241-1,...,241-N和第二延时子模块242-1,...可以由若干个缓冲器和/或反相器来实现。在优选的实施例中,如图2A所示,第一延时子模块241-1,,..,241-N和第二延时子模块242-1,...可以分别由奇数个反相器构成。在其它实施例中,第一延时子模块241-1,...,241-N和第二延时子模块242-1,...可以分别由若干个缓冲器和奇数个反相器构成。在进一步优选的实施例中,构成第一延时子模块241-1,...,241-N的反相器的数量可以大于构成第二延时子模块242-1,...的反相器的数量。
组合逻辑模块250-1,,..,250-N耦合到触发器230-1,,..,230-N和第一延时子模块241-1,,..,241-N的输出。组合逻辑模块250-1,...,250-N对触发器230-1,...,230-N输出的脉冲信号和第一延时子模块241-1,...,241-N输出的延时后的脉冲信号(反馈脉冲信号)进行组合逻辑运算来产生脉冲时钟信号以提供到流水线201的相应一个运算级201-N,...,201-1。可以根据触发器230-1,...,230-N的类型来相应地设计组合逻辑模块250-1,...,250-N。在图2A所示的实施例中,在触发器230-1,...,230-N作为上升沿D触发器的情况下,组合逻辑模块250-1,...,250-N可以由或门或者或非门构成。在其它实施例中,组合逻辑模块250-1,...,250-N可以由与门或者与非门构成(以下将在图3A所示的实施例中详细描述)。
在优选的实施例中,如图2A所示,脉冲信号在多级时钟驱动电路220-1,...,220-N中传递的方向与数据信号在流水线的所述多个运算级201-1,...,201-N中传递的方向相反。即,第一级时钟驱动电路220-1用于为最后一个运算级201-N提供脉冲时钟信号,而最后一级时钟驱动电路220-N用于为第一个运算级201-1提供脉冲时钟信号,依此类推。这样的布置能够更容易地满足各个运算级201-1,...,201-N的运算时序的要求。
在可替代的实施例中,在各级时钟驱动电路中,第二延时子模块可以布置在触发器之前。具体而言,在各级时钟驱动电路中,触发器直接地或经由第二延时子模块耦合到本级时钟驱动电路的输入,并输出脉冲信号作为下一级时钟驱动电路的输入信号。第一延时子模块对触发器输出的脉冲信号进行延时,将延时后的脉冲信号作为反馈脉冲信号反馈到触发器。组合逻辑模块耦合到触发器和第一延时子模块的输出以产生脉冲时钟信号。在第一级时钟驱动电路中,触发器直接耦合到本级时钟驱动电路的输入,接收由时钟源输出的基本时钟信号。在多级时钟驱动电路中的除第一级时钟驱动电路以外的其他各级时钟驱动电路中,触发器经由第二延时子模块耦合到本级时钟驱动电路的输入。其中,第二延时子模块的输入端耦合到本级时钟驱动电路的输入,对本级时钟驱动电路的输入信号(即,上一级时钟驱动电路的触发器输出的脉冲信号)进行延时,将延时后的脉冲信号输出到触发器。这样的布置可以实现与图2A所示的实施例类似的技术效果。
参考图2B,以下以第一级时钟驱动电路220-1为例描述其产生脉冲时钟信号的时序。
触发器230-1的CP端从时钟源210接收基本时钟信号S201作为输入信号(相应地,后面各级触发器的CP端分别从前一级时钟驱动电路中的第二延时子模块的输出处接收时钟驱动信号S204作为输入信号),并且在输出端Q处将脉冲信号S202提供至延时模块240-1和组合逻辑模块250-1(在此实施例中为或非门)的一个输入端。延时模块240-1中的第一延时子模块241-1对脉冲信号S202进行反相并延时以得到反馈脉冲信号S203,并将其提供至触发器230-1的SET端和组合逻辑模块250-1的另一个输入端。延时模块240-1中的第二延时子模块242-1对脉冲信号S202进行反相并延时以得到时钟驱动信号S204,并将其输出到下一级时钟驱动电路,作为下一级时钟驱动电路的输入信号。组合逻辑模块250-1接收信号S202和信号S203作为输入,以得到输出的脉冲时钟信号S205,并且将脉冲时钟信号S205输出到运算级201-N。
在整个系统上电之后,时钟源210尚未输出基本时钟信号S201时,触发器230-1的输出端Q处的脉冲信号S202会稳定在高电平。第一延时子模块241-1的输出信号S203稳定在低电平,即触发器230-1的SET端为低电平。第二延时子模块242-1的输出信号S204也稳定在低电平,即下一级时钟驱动电路的输入信号同样为低电平(与第一级时钟驱动电路220-1的输入信号S201相对应)。因此,组合逻辑模块250-1(或非门)的输入信号分别为高电平(S202)、低电平(S203),其输出的脉冲时钟信号S205为低电平。
在t1时刻,时钟源210开始输出基本时钟信号S201。基本时钟信号S201的周期为T。
如图2B所示,当信号S201从低电平变为高电平时,触发器230-1的CP端的信号上升沿到来,且SET端信号(S203)仍为低电平,使得触发器230-1的输出端Q的信号S202变为D端的信号值,即低电平。于是,组合逻辑模块250-1(或非门)的输入信号分别为低电平(S202)、低电平(S203),其输出的脉冲时钟信号S205变为高电平。
经过T1,在t2时刻,第一延时子模块241-1的输出信号S203变为高电平。T1是信号S203与信号S202之间的延时,由第一延时子模块241-1的配置决定。在图2A中所示的实施例中,T1是第一延时子模块241-1中的多个反相器的延迟时间之和。
于是,如图2B所示,一方面,触发器230-1的SET端变为高电平,使得触发器230-1的输出端Q的信号S202变为高电平。另一方面,组合逻辑模块250-1(或非门)的输入信号分别为高电平(S202)、高电平(S203),其输出的脉冲时钟信号S205变为低电平。
又经过T1,在t3时刻,第一延时子模块241-1的输出信号S203变为低电平。
于是,如图2B所示,一方面,触发器230-1的SET端变为低电平,但CP端尚无信号上升沿到来,因此触发器230-1的输出端Q的信号S202仍保持为高电平。另一方面,组合逻辑模块250-1(或非门)的输入信号分别为高电平(S202)、低电平(S203),其输出的脉冲时钟信号S205仍为低电平。
另一方面,自t1时刻(此时信号S202变为低电平)起经过T2,第二延时子模块242-1的输出信号S204变为高电平。之后,自t2时刻(此时信号S202变为高电平)起经过T2,第二延时子模块242-1的输出信号S204变为低电平。T2是信号S204与信号S202之间的延时,由第二延时子模块242-1的配置决定。在图2A中所示的实施例中,T2是第二延时子模块242-1中的多个反相器的延迟时间之和。
此后,信号S202、S203、S204、S205的值保持不变。直到t4时刻,基本时钟信号S201的下一周期开始。从t1时刻起到t4时刻经过基本时钟信号S201的一个周期T。
在t4时刻,信号S201变为高电平。
如图2B所示,当信号S201从低电平变为高电平时,触发器230-1的CP端的信号上升沿到来,且SET端信号(S203)仍为低电平,使得触发器230-1的输出端Q的信号S202变为低电平。于是,组合逻辑模块250-1(或非门)输出端处的脉冲时钟信号S205变为高电平。
经过T1,在t5时刻,第一延时子模块241-1的输出信号S203变为高电平。
于是,如图2B所示,一方面,触发器230-1的SET端变为高电平,使得触发器230-1的输出端Q的信号S202变为高电平。另一方面,组合逻辑模块250-1输出端处的脉冲时钟信号S205变为低电平。
又经过T1,在t6时刻,第一延时子模块241-1的输出信号S203变为低电平。
于是,如图2B所示,触发器230-1的输出端Q的信号S202仍保持为高电平,并且组合逻辑模块250-1的输出端处的脉冲时钟信号S205仍为低电平。
另一方面,自t4时刻(此时信号S202变为低电平)起经过T2,第二延时子模块242-1的输出信号S204变为高电平。之后,自t5时刻(此时信号S202变为高电平)起经过T2,第二延时子模块242-1的输出信号S204变为低电平。
这样,在组合逻辑模块250-1的输出端产生了周期为T、脉冲宽度为T1的脉冲时钟信号S205。该脉冲时钟信号S205被提供到相应的运算级201-N作为工作时钟。
此外,在第二延时子模块242-1的输出端产生了时钟驱动信号S204作为下一级时钟驱动电路的输入信号(相当于第一级时钟驱动电路220-1的输入信号S201)。时钟驱动信号S204的上升沿用于触发下一级时钟驱动电路的触发器。如图2B所示,时钟驱动信号S204的上升沿比输入信号S201的上升沿延迟了T2。相应地,每一级时钟驱动电路所产生的脉冲时钟信号都比上一级时钟驱动电路所产生的脉冲时钟信号延迟T2。
在图2B所示的示例中,时段T1长于T2,这意味着一级时钟驱动电路产生的脉冲时钟信号S205的脉冲宽度T1大于相邻两级时钟驱动电路的输入时钟(即,S201和S204)的上升沿之间的延迟时间T2,即脉冲时钟信号的脉冲宽度大于相邻两个运算级的脉冲时钟信号之间的延迟。但是,在其他实施例中,时段T1可以短于T2,这意味着脉冲时钟信号的脉冲宽度小于相邻两个运算级的脉冲时钟信号之间的延迟。
这样,脉冲时钟信号的脉冲宽度和相邻两个运算级的脉冲时钟信号之间的延迟可以根据实际需求而分别设置,从而能够更加精细地调整并优化流水线的脉冲时钟信号,以最大程度地提高计算效率、优化系统性能。
图3A示出了根据本实用新型的另一个实施例的流水线时钟驱动电路300的示意图。图3B示出了流水线时钟驱动电路300所产生的脉冲时钟信号的时序图。
流水线时钟驱动电路300用于为包括多个运算级301-1,...,301-N的流水线301提供脉冲时钟信号。如图3A所示流水线时钟驱动电路300包括时钟源310和多级时钟驱动电路320-1,...,320-N。
时钟源310耦合到第一级时钟驱动电路320-1的输入,用于提供基本时钟信号。多级时钟驱动电路320-1,...,320-N中的除第一级时钟驱动电路320-1以外的其他各级时钟驱动电路的输入耦合到上一级时钟驱动电路的输出,其中每一级时钟驱动电路320-1,...,320-N用于为流水线301的多个运算级301-N,...,301-1中的相应一个运算级提供脉冲时钟信号。
其中,每一级时钟驱动电路320-1,...,320-N包括触发器330-1,...,330-N、延时模块340-1,...,340-N和组合逻辑模块350-1,...,350-N。
触发器330-1,,..,330-N耦合到本级时钟驱动电路的输入。即,第一级时钟驱动电路320-1中的触发器330-1耦合到时钟源310的输出,而其他各级时钟驱动电路中的触发器耦合到上一级时钟驱动电路的输出。
在图3A中示出了触发器330-1,...,330-N作为下降沿D触发器的实施例。在图3A所示的实施例中,触发器330-1,...,330-N的RESET端耦合到延时模块340-1,...,340-N的输出,D端固定为高电平(即逻辑″1″),CPN端耦合到上一级时钟驱动电路的输出,而输出端Q耦合到延时模块340-1,...,340-N作为其输入。在下降沿D触发器的RESET端信号为低电平的情况下,输出端Q始终为低电平。在RESET端信号为高电平的情况下,每当CPN端信号的下降沿到来时,输出端Q变为D端的信号值。
延时模块340-1,...,340-N的输入耦合到触发器330-1,...,330-N的输出。延时模块340-1,...,340-N包括第一延时子模块341-1,...,341-N,其耦合到触发器330-1,...,330-N的输出并且对触发器330-1,...,330-N输出的脉冲信号进行延时,将延时后的脉冲信号作为反馈脉冲信号反馈到触发器330-1,...,330-N。
在多级时钟驱动电路320-1,...,320-N中的除最后一级时钟驱动电路320-N以外的其他各级时钟驱动电路中,延时模块340-1,...还包括第二延时子模块342-1,...,其耦合到触发器330-1,...的输出并且对触发器330-1,...输出的脉冲信号进行延时,将延时后的脉冲信号作为时钟驱动信号输出到下一级时钟驱动电路。
在优选的实施例中,第一延时子模块341-1,...,341-N和第二延时子模块342-1,...还分别对触发器330-1,...,330-N输出的脉冲信号进行反相。在优选的实施例中,第一延时子模块341-1,...,341-N和第二延时子模块342-1,...对触发器330-1,...,330-N输出的脉冲信号的延时不同。在进一步优选的实施例中,第一延时子模块341-1,...,341-N对触发器330-1,...,330-N输出的脉冲信号的延时可以大于第二延时子模块342-1,...对触发器330-1,...输出的脉冲信号的延时。
第一延时子模块341-1,...,341-N和第二延时子模块342-1,...可以由若干个缓冲器和/或反相器来实现。在优选的实施例中,如图3A所示,第一延时子模块341-1,,..,341-N和第二延时子模块342-1,...可以分别由奇数个反相器构成。在其它实施例中,第一延时子模块341-1,...,341-N和第二延时子模块342-1,...可以分别由若干个缓冲器和奇数个反相器构成。在进一步优选的实施例中,构成第一延时子模块341-1,...,341-N的反相器的数量可以大于构成第二延时子模块342-1,...的反相器的数量。
组合逻辑模块350-1,,..,350-N耦合到触发器330-1,,..,330-N和第一延时子模块341-1,,..,341-N的输出。组合逻辑模块350-1,...,350-N对触发器330-1,...,330-N输出的脉冲信号和第一延时子模块341-1,...,341-N输出的延时后的脉冲信号(反馈脉冲信号)进行组合逻辑运算来产生脉冲时钟信号以提供到流水线301的相应一个运算级301-N,...,301-1。在图3A所示的实施例中,在触发器330-1,...,330-N作为下降沿D触发器的情况下,组合逻辑模块350-1,...,350-N可以由与非门构成。
参考图3B,以下以第一级时钟驱动电路320-1为例描述其产生脉冲时钟信号的时序。
触发器330-1的CPN端从时钟源310接收基本时钟信号S301作为输入信号(相应地,后面各级触发器的CPN端分别从前一级时钟驱动电路中的第二延时子模块的输出处接收时钟驱动信号S304作为输入信号),并且在输出端Q处将脉冲信号S302提供至延时模块340-1和组合逻辑模块350-1(在此实施例中为与非门)的一个输入端。延时模块340-1中的第一延时子模块341-1对脉冲信号S302进行反相并延时以得到反馈脉冲信号S303,并将其提供至触发器330-1的RESET端和组合逻辑模块350-1的另一个输入端。延时模块340-1中的第二延时子模块342-1对脉冲信号S302进行反相并延时以得到时钟驱动信号S304,并将其输出到下一级时钟驱动电路,作为下一级时钟驱动电路的输入信号。组合逻辑模块350-1接收信号S302和信号S303作为输入,以得到输出的脉冲时钟信号S305,并且将脉冲时钟信号S305输出到运算级301-N。
在整个系统上电之后,时钟源310尚未输出基本时钟信号S301时,触发器330-1的输出端Q处的脉冲信号S302会稳定在低电平。第一延时子模块341-1的输出信号S303稳定在高电平,即触发器330-1的RESET端为高电平,且下一级时钟驱动电路的输入信号同样为高电平(与第一级时钟驱动电路320-1的输入信号S301相对应)。因此,组合逻辑模块350-1(与非门)的输入信号分别为低电平(S302)、高电平(S303),其输出的脉冲时钟信号S305为高电平。
在t1时刻,时钟源310开始输出基本时钟信号S301。基本时钟信号S301的周期为T。
如图3B所示,当信号S301从高电平变为低电平时,触发器330-1的CPN端的信号下降沿到来,且RESET端信号(S303)仍为高电平,使得触发器330-1的输出端Q的信号S302变为D端的信号值,即高电平。于是,组合逻辑模块350-1(与非门)的输入信号分别为高电平(S302)、高电平(S303),其输出的脉冲时钟信号S305变为低电平。
经过T1,在t2时刻,第一延时子模块341-1的输出信号S303变为低电平。T1是信号S303与信号S302之间的延时,由第一延时子模块341-1的配置决定。在图3A中所示的实施例中,T1是第一延时子模块341-1中的多个反相器的延迟时间之和。
于是,如图3B所示,一方面,触发器330-1的RESET端变为低电平,使得触发器330-1的输出端Q的信号S302变为低电平。另一方面,组合逻辑模块350-1(与非门)的输入信号分别为低电平(S302)、低电平(S303),其输出的脉冲时钟信号S305变为高电平。
又经过T1,在t3时刻,第一延时子模块341-1的输出信号S303变为高电平。
于是,如图3B所示,一方面,触发器330-1的RESET端变为高电平,但CPN端尚无信号下降沿到来,因此触发器330-1的输出端Q的信号S302仍保持为低电平。另一方面,组合逻辑模块350-1(与非门)的输入信号分别为低电平(S302)、高电平(S303),其输出的脉冲时钟信号S305仍为高电平。
另一方面,自t1时刻(此时信号S302变为高电平)起经过T2,第二延时子模块342-1的输出信号S304变为低电平。之后,自t2时刻(此时信号S302变为低电平)起经过T2,第二延时子模块342-1的输出信号S304变为高电平。T2是信号S304与信号S302之间的延时,由第二延时子模块342-1的配置决定。在图3A中所示的实施例中,T2是第二延时子模块342-1中的多个反相器的延迟时间之和。
此后,信号S302、S303、S304、S305的值保持不变。直到t4时刻,基本时钟信号S301的下一周期开始。从t1时刻起到t4时刻经过基本时钟信号S301的一个周期T。
在t4时刻,信号S301变为低电平。
如图3B所示,当信号S301从高电平变为低电平时,触发器330-1的CPN端有信号下降沿到来,使得触发器330-1的输出端Q的信号S302变为高电平。于是,组合逻辑模块350-1(与非门)输出端处的脉冲时钟信号S305变为低电平。
经过T1,在t5时刻,第一延时子模块341-1的输出信号S303变为低电平。
于是,如图3B所示,一方面,触发器330-1的RESET端变为低电平,使得触发器330-1的输出端Q的信号S302变为低电平。另一方面,组合逻辑模块350-1输出端处的脉冲时钟信号S305变为高电平。
又经过T1,在t6时刻,第一延时子模块341-1的输出信号S303变为高电平。
于是,如图3B所示,触发器330-1的输出端Q的信号S302仍保持为低电平,并且组合逻辑模块350-1输出端处的脉冲时钟信号S305仍为高电平。
另一方面,自t4时刻(此时信号S302变为高电平)起经过T2,第二延时子模块342-1的输出信号S304变为低电平。之后,自t5时刻(此时信号S302变为低电平)起经过T2,第二延时子模块342-1的输出信号S304变为高电平。
这样,在组合逻辑模块350-1的输出端产生了周期为T、脉冲宽度为T1的脉冲时钟信号S305。该脉冲时钟信号S305被提供到相应的运算级301-N作为工作时钟。
此外,在第二延时子模块342-1的输出端产生了时钟驱动信号S304作为下一级时钟驱动电路的输入信号(相当于第一级时钟驱动电路320-1的输入信号S301)。时钟驱动信号S304的下降沿用于触发下一级时钟驱动电路的触发器。如图3B所示,时钟驱动信号S304的下降沿比输入信号S301的下降沿延迟了T2。相应地,每一级时钟驱动电路所产生的脉冲时钟信号都比上一级时钟驱动电路所产生的脉冲时钟信号延迟T2。
如上所述,根据本实用新型的流水线时钟驱动电路所产生的脉冲时钟的脉冲宽度由第一延时子模块所延迟的时间T1决定,而相邻两个运算级的脉冲时钟之间的延迟由第二延时子模块所延迟的时间T2决定。在优选的实施例中,第一延时子模块和第二延时子模块由反相器构成。要延迟的时间越长,需要使用的反相器的数量越多。为了进一步优化电路并减少所使用的反相器的数量,本实用新型提供了一种改进的延时模块。
图4示出了根据本实用新型的一个实施例的流水线时钟驱动电路的延时模块440的示意图。
延时模块440的输入耦合到由触发器(未示出)输出的脉冲信号S402。延时模块440包括第一延时子模块441和第二延时子模块442。其中,第一延时子模块441对信号S402进行延时,将延时后的脉冲信号S403作为反馈脉冲信号反馈到触发器。第二延时子模块442对信号S402进行延时,将延时后的脉冲信号S404作为时钟驱动信号输出到下一级时钟驱动电路。其中,构成第一延时子模块441的多个反相器中的一部分构成第二延时子模块442,这使得第一延时子模块所延迟的时间T1长于第二延时子模块所延迟的时间T2。在其他实施例中,构成第二延时子模块的多个反相器中的一部分可以构成第一延时子模块,这使得第二延时子模块所延迟的时间T2长于第一延时子模块所延迟的时间T1。
在图4所示的延时模块440中,更好地利用了电路中的反相器,减少了所使用的反相器的数量。
在工程实践中,期望能够灵活地调整延时模块的延时,从而在各项参数满足实际要求的情况下使流水线的工作频率尽可能地高。为此,本实用新型提供了一种进一步改进的流水线时钟驱动电路,其中构成延时模块的反相器的数量可以被灵活地调整。
图5示出了根据本实用新型的另一个实施例的流水线时钟驱动电路的延时模块540的示意图。
延时模块540的输入耦合到触发器(未示出)输出的脉冲信号S502。延时模块540包括第一延时子模块541和第二延时子模块542。其中,第一延时子模块541对信号S502进行延时,将延时后的脉冲信号S503作为反馈脉冲信号反馈到触发器。第二延时子模块542对信号S502进行延时,将延时后的脉冲信号S504作为时钟驱动信号输出到下一级时钟驱动电路。
其中,第一延时子模块541和第二延时子模块542分别由多个反相器和一个或多个数据选择器构成,其中一个或多个数据选择器被配置为使得第一延时子模块541和第二延时子模块542中的反相器分别形成多条信号通路,其中每条信号通路包括不同数量的反相器,并且第一延时子模块541和第二延时子模块542中的每条信号通路中的反相器的数量均为奇数。
在图5所示的实施例中,第一延时子模块541由形成4条信号通路的3个数据选择器和若干个反相器构成,第二延时子模块542由形成16条信号通路的6个数据选择器和若干个反相器构成。因此,在图5所示的实施例中,通过切换数据选择器的状态,可以分别调整信号S503和信号S504相对于信号S502的延时,由此调整所产生的时钟脉冲信号的脉冲宽度和相邻两个运算级的时钟脉冲信号之间的延迟。
这样,能够根据实际的工作需求而灵活、便捷地调整延时模块的延时,从而提高芯片工作的效率和准确性。
在优选的实施例中,第一延时子模块541(由虚线表示)和第二延时子模块542(由点划线表示)可以共同包括公共延时子模块543(由实线表示),公共延时子模块543由多个反相器和一个或多个数据选择器构成。其中,第一延时子模块541和第二延时子模块542中的至少一个还包括与公共延时子模块543串联连接的多个反相器。在图5所示的实施例中,公共延时子模块543由12个反相器和4个数据选择器构成,并且第一延时子模块541和第二延时子模块542分别还包括与公共延时子模块543串联连接的多个反相器。这样,更好地利用了电路中的反相器和数据选择器,减少了所使用的电路器件的数量。
图5中所示的延时模块540的配置仅作为示例。在其它实施例中,延时模块540及其第一延时子模块541和第二延时子模块542(以及可选的公共延时子模块543)可以由任何适当数量的反相器和数据选择器以任何适当的配置方式构成,以形成多条信号通路,使得每条信号通路中包括适当数量的反相器。在优选的实施例中,使得每条信号通路中的反相器的数量均不同。
根据本公开的运算电路可以以软件、硬件、软件与硬件的结合等各种适当的方式实现。在一种实现方式中,一种计算芯片可以包括一个或多个上述流水线时钟驱动电路。在一种实现方式中,一种算力板可以包括一个或多个计算芯片。在一种实现方式中,一种计算设备可以包括一个或多个算力板。多个算力板可以并行地执行计算任务。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
还应理解,“包括/包含″一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
虽然已通过示例详细展示了本实用新型的一些具体实施例,但是本领域技术人员应当理解,上述示例仅意图是说明性的而不限制本实用新型的范围。本领域技术人员应该理解,上述实施例可以在不脱离本实用新型的范围和实质的情况下被修改。本实用新型的范围是通过所附的权利要求限定的。
Claims (12)
1.一种流水线时钟驱动电路,用于为包括多个运算级的流水线提供脉冲时钟信号,其特征在于,所述流水线时钟驱动电路包括:
多级时钟驱动电路,其中每一级时钟驱动电路用于为流水线的多个运算级中的相应一个运算级提供脉冲时钟信号;以及
时钟源,耦合到第一级时钟驱动电路的输入,用于提供基本时钟信号,
其中所述多级时钟驱动电路中的除第一级时钟驱动电路以外的其他各级时钟驱动电路的输入耦合到上一级时钟驱动电路的输出,并且
其中每一级时钟驱动电路包括:
触发器,耦合到本级时钟驱动电路的输入;
延时模块,包括第一延时子模块,第一延时子模块耦合到触发器的输出并且对触发器输出的脉冲信号进行延时,将延时后的脉冲信号作为反馈脉冲信号反馈到触发器;以及
组合逻辑模块,耦合到触发器和第一延时子模块的输出,所述组合逻辑模块对触发器输出的脉冲信号和第一延时子模块输出的反馈脉冲信号进行组合逻辑运算来产生脉冲时钟信号以提供到流水线的相应一个运算级,并且
在所述多级时钟驱动电路中的除最后一级时钟驱动电路以外的其他各级时钟驱动电路中,延时模块还包括第二延时子模块,第二延时子模块耦合到触发器的输出并且对触发器输出的脉冲信号进行延时,将延时后的脉冲信号作为时钟驱动信号输出到下一级时钟驱动电路。
2.如权利要求1所述的流水线时钟驱动电路,其特征在于,所述触发器是上升沿触发器。
3.如权利要求2所述的流水线时钟驱动电路,其特征在于,所述组合逻辑模块是或门或者或非门。
4.如权利要求1所述的流水线时钟驱动电路,其特征在于,所述触发器是下降沿触发器。
5.如权利要求4所述的流水线时钟驱动电路,其特征在于,所述组合逻辑模块是与门或者与非门。
6.如权利要求1-5中任一项所述的流水线时钟驱动电路,其特征在于,第一延时子模块和第二延时子模块分别由奇数个反相器构成。
7.如权利要求6所述的流水线时钟驱动电路,其特征在于,构成第一延时子模块的多个反相器中的一部分构成第二延时子模块,或者构成第二延时子模块的多个反相器中的一部分构成第一延时子模块。
8.如权利要求1-5中任一项所述的流水线时钟驱动电路,其特征在于,第一延时子模块和第二延时子模块分别由多个反相器和一个或多个数据选择器构成,其中所述一个或多个数据选择器被配置为使得第一延时子模块和第二延时子模块中的反相器分别形成多条信号通路,其中每条信号通路包括不同数量的反相器,并且第一延时子模块和第二延时子模块中的每条信号通路中的反相器的数量均为奇数。
9.如权利要求8所述的流水线时钟驱动电路,其特征在于,第一延时子模块和第二延时子模块共同包括公共延时子模块,公共延时子模块由多个反相器和一个或多个数据选择器构成,并且第一延时子模块和第二延时子模块中的至少一个还包括与公共延时子模块串联连接的多个反相器。
10.一种计算芯片,其特征在于,包括一个或多个如权利要求1-9中任一项所述的流水线时钟驱动电路。
11.一种算力板,其特征在于,包括一个或多个如权利要求10所述的计算芯片。
12.一种计算设备,其特征在于,包括一个或多个如权利要求11所述的算力板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202320224535.1U CN220154843U (zh) | 2023-02-02 | 2023-02-02 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202320224535.1U CN220154843U (zh) | 2023-02-02 | 2023-02-02 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN220154843U true CN220154843U (zh) | 2023-12-08 |
Family
ID=89016471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202320224535.1U Active CN220154843U (zh) | 2023-02-02 | 2023-02-02 | 流水线时钟驱动电路、计算芯片、算力板和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN220154843U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768778A (zh) * | 2019-10-31 | 2020-02-07 | 浙江地芯引力科技有限公司 | 一种单线通信电路、通信方法及通信系统 |
-
2023
- 2023-02-02 CN CN202320224535.1U patent/CN220154843U/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768778A (zh) * | 2019-10-31 | 2020-02-07 | 浙江地芯引力科技有限公司 | 一种单线通信电路、通信方法及通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113608575B (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
WO2024160037A1 (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
CN220154843U (zh) | 流水线时钟驱动电路、计算芯片、算力板和计算设备 | |
US8837639B2 (en) | Parallel synchronizing cell with improved mean time between failures | |
US6570425B2 (en) | Phase difference signal generator and multi-phase clock signal generator having phase interpolator | |
CN111930682B (zh) | 时钟树、哈希引擎、计算芯片、算力板和计算设备 | |
CN111562808A (zh) | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 | |
CN111651403B (zh) | 时钟树、哈希引擎、计算芯片、算力板和计算设备 | |
US20230236622A1 (en) | Clock circuits, computing chips, hash boards and data processing devices | |
US7342425B1 (en) | Method and apparatus for a symmetrical odd-number clock divider | |
CN114884488A (zh) | 时钟电路、数据运算单元 | |
US7034595B2 (en) | Multi-phase clock signal generators and methods of generating multi-phase clock signals | |
US20050127975A1 (en) | Spread spectrum clock generating circuit | |
US10243545B2 (en) | Shift register utilizing latches controlled by dual non-overlapping clocks | |
US8698536B2 (en) | Variable delay circuit | |
TW202431063A (zh) | 流水線時脈驅動電路、計算晶片、算力板和計算設備 | |
KR102575572B1 (ko) | 파이프라인 클럭 구동회로, 계산 칩, 계산 보드 및 계산 장치 | |
CN114978114A (zh) | 时钟电路、数据运算单元、芯片 | |
US6882184B2 (en) | Clock switching circuit | |
CN112799465A (zh) | 控制信号发生器及其驱动方法 | |
EP0461291A1 (en) | Clock generation in a multi-chip computersystem | |
US9647650B2 (en) | Clock generating device | |
CN216699984U (zh) | 一种同异步混合计数器及半导体器件 | |
CN217643311U (zh) | 时钟生成电路、数据运算电路及芯片 | |
CN212086173U (zh) | 时钟电路、计算芯片、算力板和数字货币挖矿机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |