CN111459458A - 运算电路、芯片和计算装置 - Google Patents

运算电路、芯片和计算装置 Download PDF

Info

Publication number
CN111459458A
CN111459458A CN202010494552.8A CN202010494552A CN111459458A CN 111459458 A CN111459458 A CN 111459458A CN 202010494552 A CN202010494552 A CN 202010494552A CN 111459458 A CN111459458 A CN 111459458A
Authority
CN
China
Prior art keywords
registers
clock
sub
combinational logic
module
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.)
Pending
Application number
CN202010494552.8A
Other languages
English (en)
Inventor
范志军
薛可
许超
郭海丰
杨作兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen MicroBT Electronics Technology Co Ltd
Original Assignee
Shenzhen MicroBT Electronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen MicroBT Electronics Technology Co Ltd filed Critical Shenzhen MicroBT Electronics Technology Co Ltd
Priority to CN202010494552.8A priority Critical patent/CN111459458A/zh
Publication of CN111459458A publication Critical patent/CN111459458A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Abstract

本公开涉及运算电路、芯片和计算装置。公开了一种运算电路,包括:第一多个寄存器,被配置为形成多个级,使得数字信号沿着第一多个寄存器中的各级寄存器依次传递;多个组合逻辑模块,其中每一级寄存器通过对应的组合逻辑模块耦接到下一级寄存器;第二多个寄存器,包括与每个组合逻辑模块对应的多个子部分,其中,每个组合逻辑模块包括第一子模块、第二子模块和第三子模块,第二子模块包括加法器,第一子模块和第三子模块不包括加法器,并且第一子模块耦接到一级寄存器的输出端和第二多个寄存器的对应子部分的输入端,第二子模块耦接到对应子部分的输出端和下一级寄存器的输入端,并且第三子模块耦接到一级寄存器的输出端和下一级寄存器的输入端。

Description

运算电路、芯片和计算装置
技术领域
本公开总体而言涉及比特币挖矿。具体来说,涉及一种用于比特币挖矿的运算电路,一种包括运算电路的芯片,以及一种包括芯片的计算装置。
背景技术
比特币是一种P2P(Peer-to-Peer)形式的虚拟加密数字货币,其概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。比特币的独特之处在于,它不依靠特定货币机构发行,而是依据特定算法通过大量运算来产生。
使用矿机来进行比特币挖矿的核心是根据矿机计算SHA-256算法的运算能力来获得奖励。对于矿机而言,芯片尺寸、芯片运行速度和芯片功耗是决定矿机性能的至关重要的三个因素,其中,芯片尺寸决定芯片成本,芯片运行的速度决定矿机运行速度(即算力),芯片功耗决定耗电程度(即挖矿成本)。在实际应用中,衡量矿机最为重要的性能指标是单位算力所消耗的功耗,即功耗算力比。
图1示出了现有技术的用于比特币挖矿的运算电路100。运算电路100采用流水线(pipeline)结构来实现SHA-256算法。
如图1所示,运算电路100包括多个寄存器,该多个寄存器被配置为形成多个级111-1,111-2,…,111-N,其中第一级寄存器111-1包括寄存器111-1a,111-1b,…,111-1h,第二级寄存器111-2包括寄存器111-2a,111-2b,…,111-2h,第N级寄存器111-N包括寄存器111-Na,111-Nb,…,111-Nh,等等。数字信号沿着各级寄存器111-1,111-2,…,111-N依次传递。
运算电路100还包括多个组合逻辑模块120-1,120-2,...。每一级寄存器通过对应的组合逻辑模块耦接到下一级寄存器。
每个组合逻辑模块120-1,120-2,...包括第一子模块121-1,121-2,...,第二子模块122-1,122-2,...和第三子模块123-1,123-2,...,其中第二子模块包括加法器,而第一子模块和第三子模块不包括加法器。在图1中,第二子模块122-1,122-2,...包括两个加法器131-1,131-2,…和132-1,132-2,…。
如图1所示,在第一个组合逻辑模块120-1中,第一子模块121-1耦接到第一级寄存器111-1的输出端和包括加法器131-1、132-1的第二子模块122-1的输入端,第二子模块122-1(以及其中的加法器131-1、132-1)耦接到第一子模块121-1的输出端和第二级寄存器111-2的输入端,而第三子模块123-1耦接到第一级寄存器111-1的输出端和第二级寄存器111-2的输入端。
第一级寄存器111-1中的8个寄存器111-1a,111-1b,111-1c,111-1d,111-1e,111-1f,111-1g,111-1h的输出端均耦接到对应的第一个组合逻辑模块120-1中的第一子模块121-1和第三子模块123-1的输入端。
第二级寄存器111-2中的2个寄存器111-2a,111-2e的输入端耦接到对应的第一个组合逻辑模块120-1中的第二子模块122-1的输出端,而其他6个寄存器111-2b,111-2c,111-2d,111-2f,111-2g,111-2h耦接到第三子模块123-1的输出端。
需要说明的是,为了便于理解,图1中的每一级寄存器中的8个寄存器(例如,第一级寄存器111-1中的8个寄存器111-1a,111-1b,111-1c,111-1d,111-1e,111-1f,111-1g,111-1h)的编号是对应于SHA-256算法而编定的。为了绘图方便,在图1中适当地调整了部分寄存器(例如111-1b至111-1e)的排列顺序。
但是,这种运算电路100存在一定的缺陷。在组合逻辑模块120-1中,包括多种组合逻辑的第一子模块121-1会使信号中产生毛刺,而加法器131-1、132-1会使得信号中的先前产生的毛刺传递到各个bit,从而将信号中的毛刺问题进一步扩大。信号中的毛刺会导致无效的电平翻转,从而产生不期望的额外的功耗。也就是说,这会导致芯片的功耗算力比降低。
图2示出了现有技术的用于比特币挖矿的另一种运算电路200。运算电路200也采用流水线结构来实现SHA-256算法。
如图2所示,运算电路200包括多个寄存器,该多个寄存器被配置为形成多个级211-1,211-2,…,211-M,其中第一级寄存器211-1包括寄存器211-1a,211-1b,…,211-1h,第二级寄存器211-2包括寄存器211-2a,211-2b,…,211-2h,第M级寄存器211-M包括寄存器211-Ma,211-Mb,…,211-Mh,等等。数字信号沿着各级寄存器211-1,211-2,…,211-M依次传递。
运算电路200还包括多组组合逻辑模块。每一组组合逻辑模块包括第一子模块221-1、第二子模块222-2和第三子模块223-2。
在每一组组合逻辑模块中,第二子模块222-2包括加法器,而第一子模块221-1和第三子模块223-2不包括加法器。在图2中,第二子模块222-2包括两个加法器231-2和232-2。
如图2所示,第一级寄存器211-1通过第一组组合逻辑模块中的第一子模块221-1耦接到第二级寄存器211-2,第二级寄存器211-2通过第一组组合逻辑模块中的第二子模块222-2和第三子模块223-2耦接到第三级寄存器211-3。
第一组组合逻辑模块中的第一子模块221-1的输入端耦接到第一级寄存器211-1中的8个寄存器211-1a,211-1b,211-1c,211-1d,211-1e,211-1f,211-1g,211-1h的输出端,输出端耦接到第二级寄存器211-2中的8个寄存器211-2a,211-2b,211-2c,211-2d,211-2e,211-2f,211-2g,211-2h的输入端。
第一组组合逻辑模块中的第二子模块222-2的输入端耦接到第二级寄存器211-2中的2个寄存器211-2a,211-2e的输出端,输出端耦接到第三级寄存器211-3中的2个寄存器211-3a,211-3e的输入端。
第一组组合逻辑模块中的第三子模块223-2的输入端耦接到第二级寄存器211-2中的8个寄存器211-2a,211-2b,211-2c,211-2d,211-2e,211-2f,211-2g,211-2h的输出端,输出端耦接到第三级寄存器211-3中的其他6个寄存器211-3b,211-3c,211-3d,211-3f,211-3g,211-3h的输入端。
图2的运算电路200中的M与图1的运算电路100中的N均表示寄存器的级数,即流水线的级数。例如,如果运算电路200采用与运算电路100对应的结构,则M=2N。
在运算电路200中,插在每一组组合逻辑模块中的第一子模块221-1和第二子模块222-2之间的对应一级寄存器211-2能够在信号进入第二子模块222-2中的加法器231-2、232-2之前去除信号中的毛刺,使得在包括多种组合逻辑的第一子模块221-1中产生的毛刺不会被加法器231-2、232-2进一步传递和扩大。这使得芯片的功耗降低,功耗算力比提高。
但是,运算电路200中需要的寄存器数量是运算电路100的两倍,相应的制造成本也是运算电路100的两倍。这导致芯片的制造成本大大增加。
因此,期望以较低的制造成本来去除毛刺并提高芯片的功耗算力比,因而需要一种改进的运算电路。
发明内容
根据本公开的一个方面,提供了一种运算电路,其包括:第一多个寄存器,被配置为形成多个级,使得数字信号沿着第一多个寄存器中的各级寄存器依次传递;多个组合逻辑模块,其中第一多个寄存器中的每一级寄存器通过对应的组合逻辑模块耦接到下一级寄存器;第二多个寄存器,所述第二多个寄存器包括与每个组合逻辑模块对应的多个子部分,其中,每个组合逻辑模块包括第一子模块、第二子模块和第三子模块,所述第二子模块包括至少一个加法器,所述第一子模块和所述第三子模块不包括加法器,并且所述第一子模块耦接到所述第一多个寄存器中的一级寄存器的输出端和所述第二多个寄存器的对应子部分的输入端,所述第二子模块耦接到所述第二多个寄存器的对应子部分的输出端和所述第一多个寄存器中的下一级寄存器的输入端,并且所述第三子模块耦接到所述第一多个寄存器中的一级寄存器的输出端和下一级寄存器的输入端。
根据本公开的另一个方面,提供了一种芯片,其包括如上所述的运算电路。
根据本公开的又一个方面,提供了一种计算装置,其包括如上所述的芯片。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得更为清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出了现有技术的用于比特币挖矿的运算电路。
图2示出了现有技术的用于比特币挖矿的另一种运算电路。
图3示出了根据本公开一个或多个示例性实施例的用于比特币挖矿的运算电路的示意图。
图4A和图4B分别示出了根据本公开的第一实施例的用于比特币挖矿的运算电路以及对应的时钟。
图5A和图5B分别示出了根据本公开的第二实施例的用于比特币挖矿的运算电路以及对应的时钟。
图6A和图6B分别示出了根据本公开的第三实施例的用于比特币挖矿的运算电路以及对应的时钟。
图7A和图7B分别示出了根据本公开的第四实施例的用于比特币挖矿的运算电路以及对应的时钟。
注意,在以下说明的实施方式中,有时在不同的附图之间共同使用同一附图标记来表示相同部分或具有相同功能的部分,而省略其重复说明。在一些情况中,使用相似的标号和字母表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为了便于理解,在附图等中所示的各结构的位置、尺寸及范围等有时不表示实际的位置、尺寸及范围等。因此,本公开并不限于附图等所公开的位置、尺寸及范围等。
具体实施方式
下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。也就是说,本文中的结构及方法是以示例性的方式示出,来说明本公开中的结构和方法的不同实施例。然而,本领域技术人员将会理解,它们仅仅说明可以用来实施的本公开的示例性方式,而不是穷尽的方式。此外,附图不必按比例绘制,一些特征可能被放大以示出具体组件的细节。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
图3示出了根据本公开一个或多个示例性实施例的用于比特币挖矿的运算电路300的示意图。运算电路300采用流水线结构来实现SHA-256算法。
如图3所示,运算电路300包括第一多个寄存器、第二多个寄存器以及多个组合逻辑模块。
第一多个寄存器被配置为形成多个级311-1,311-2,…,311-N,数字信号沿着各级寄存器311-1,311-2,…,311-N依次传递。
在图3所示的实施例中,第一级寄存器311-1包括寄存器311-1a,311-1b,…,311-1h,第二级寄存器311-2包括寄存器311-2a,311-2b,…,311-2h,第N级寄存器311-N包括寄存器311-Na,311-Nb,…,311-Nh,等等。
本领域技术人员应当理解,每一级寄存器中的寄存器的数量不限于图3所示的实施例。可以根据芯片和挖矿算法的需要来适当地确定每一级寄存器中的寄存器的数量。
需要说明的是,为了便于理解,图3中的每一级寄存器中的8个寄存器(例如,第一级寄存器311-1中的8个寄存器311-1a,311-1b,311-1c,311-1d,311-1e,311-1f,311-1g,311-1h)的编号是对应于SHA-256算法而编定的。为了绘图方便,在图3中适当地调整了部分寄存器(例如311-1b至311-1e)的排列顺序。
如图3所示,每一级寄存器通过对应的组合逻辑模块320-1,320-2,…耦接到下一级寄存器。例如,第一级寄存器311-1通过第一个组合逻辑模块320-1耦接到第二级寄存器311-2。
每个组合逻辑模块320-1,320-2,…包括第一子模块321-1,321-2,…,第二子模块322-1,322-2,…和第三子模块323-1,323-2,…,其中第二子模块322-1,322-2,…包括加法器,而第一子模块321-1,321-2,…和第三子模块323-1,323-2,…不包括加法器。
在图3所示的实施例中,第一个组合逻辑模块320-1的第二子模块322-1包括加法器331-1,332-1,第二个组合逻辑模块320-2的第二子模块322-2包括加法器331-2,332-2,等等。
本领域技术人员应当理解,每个组合逻辑模块的第二子模块中的加法器的数量不限于图3所示的实施例。可以根据挖矿算法的需要来适当地确定每个组合逻辑模块的第二子模块中的加法器的数量。
第二多个寄存器包括与每个组合逻辑模块320-1,320-2,…对应的多个子部分312-1,312-2,…。在图3所示的实施例中,第二多个寄存器的第一个子部分312-1包括寄存器312-1a,312-1b,312-1c,312-1d,第二个子部分312-2包括寄存器312-2a,312-2b,312-2c,312-2d,等等。
如图3所示,在第一个组合逻辑模块320-1中,第一子模块321-1耦接到第一级寄存器311-1的输出端和第二多个寄存器的第一个子部分312-1的输入端,第二子模块322-1(以及其中的加法器331-1、332-1)耦接到第二多个寄存器的第一个子部分312-1的输出端和第二级寄存器311-2的输入端,而第三子模块323-1耦接到第一级寄存器311-1的输出端和第二级寄存器311-2的输入端。
本领域技术人员应当理解,第二多个寄存器的每个子部分中的寄存器的数量和配置不限于图3所示的实施例。在优选的实施例中,可以根据每个组合逻辑模块的第二子模块中的加法器的数量来适当地确定第二多个寄存器的每个子部分中的寄存器的数量和配置。
在优选的实施例中,每个组合逻辑模块的第二子模块中的每一个加法器的输入端耦接到第二多个寄存器的对应子部分中的两个寄存器的输出端。例如,在图3所示的实施例中,第一个组合逻辑模块320-1的第二子模块322-1中的第一个加法器331-1耦接到第二多个寄存器的第一个子部分312-1中的寄存器312-1a和312-1b,第二个加法器332-1耦接到寄存器312-1c和312-1d。更具体地,在一种优选的实施例中,加法器331-1的求和(sum)输入端可以耦接到寄存器312-1a,进位(carry)输入端可以耦接到寄存器312-1b,并且加法器332-1的求和输入端可以耦接到寄存器312-1c,进位输入端可以耦接到寄存器312-1d。
在图3所示的实施例中,在第二级寄存器311-2中,一部分寄存器311-2a,311-2e的输入端耦接到对应的第一个组合逻辑模块320-1中的第二子模块322-1的输出端,而其他寄存器311-2b,311-2c,311-2d,311-2f,311-2g,311-2h的输入端耦接到第三子模块323-1的输出端。
在优选的实施例中,对于每个组合逻辑模块中的第二子模块,其中的每一个加法器的输出端分别耦接到对应的下一级寄存器中的一个寄存器。例如,在图3所示的实施例中,第一个组合逻辑模块320-1中的第二子模块322-1中的2个加法器331-1和332-1的输出端分别耦接到第二级寄存器311-2中的2个寄存器311-2a和311-2e。
在运算电路300中,由每个组合逻辑模块的第一子模块输出的信号经由第二多个寄存器的对应子部分传递到第二子模块的对应的加法器。由此,信号中的由包括多种组合逻辑的第一子模块产生的毛刺在第二多个寄存器的对应子部分处被去除,之后,被去除毛刺的信号传递到第二子模块中的加法器。这可以有效地过滤信号中的毛刺,降低由毛刺导致的额外功耗,从而提高芯片的功耗算力比。
此外,与现有技术的运算电路200相比,运算电路300中增加的寄存器的数量大大减少。这使得运算电路300的制造成本大大降低,从而以更低的制造成本实现了基本相同的过滤毛刺的效果。
可以根据运算电路和挖矿算法的需要来适当地设置用于第一多个寄存器和第二多个寄存器中的每个寄存器的时钟。
用于第一多个寄存器和第二多个寄存器中的每个寄存器的时钟的频率可以相同。在优选的实施例中,用于第一多个寄存器和第二多个寄存器中的每个寄存器的时钟的占空比也相同。
在优选的实施例中,用于第一多个寄存器的时钟和用于第二多个寄存器的时钟可以是由同一时钟产生的,或者可以是由彼此产生的。例如,用于第二多个寄存器的时钟可以是通过对用于第一多个寄存器的时钟的移相、反相等操作产生的,或者反之。
对于第一多个寄存器和第二多个寄存器中的每个寄存器,当寄存器被触发时,其输入端处的信号应当已经稳定,并且能够被该寄存器向后传递。但是,组合逻辑模块中的运算操作需要一定的计算延时,寄存器的操作也需要一定的寄存器延时(例如,当寄存器为锁存器时的Ck2q延时)。例如,每个组合逻辑模块的计算延时约为几百至几千皮秒量级。用于每个寄存器的时钟的周期、频率和占空比可以根据组合逻辑模块及其子模块的计算延时来确定,使得时钟被设置为在确保寄存器输入端的信号已经稳定的情况下适当地触发寄存器。
用于每个寄存器的时钟的周期应大于或等于信号在两级寄存器之间传递所需的延时。一般而言,在运算电路300中,组合逻辑模块的第三子模块的计算延时远小于第一子模块和第二子模块的计算延时,并且第二多个寄存器的寄存器延时远小于第一子模块和第二子模块的计算延时。因此,信号在两级寄存器之间传递所需的延时基本等于每个组合逻辑模块的计算延时,并且基本等于第一子模块和第二子模块的计算延时之和。
因此,用于每个寄存器的时钟的周期和频率可以根据组合逻辑模块的计算延时来确定,即根据组合逻辑模块的第一子模块和第二子模块的计算延时之和来确定。在优选的实施例中,用于每个寄存器的时钟的周期可以基本等于组合逻辑模块的第一子模块和第二子模块的计算延时之和。
在进一步优选的实施例中,用于每个寄存器的时钟的占空比可以根据每个组合逻辑模块的第一子模块和第二子模块的计算延时的比率来确定。用于每个寄存器的时钟的占空比可以基本等于每个组合逻辑模块的第一子模块和第二子模块的计算延时的比率,或者基本等于该比率的倒数。
需要说明的是,本文中的“基本等于”的表述意指二者大致相等,但不必然严格地、精确地相等。本领域技术人员应当理解,这符合技术原理和工程实践。例如,二者可以相差约5%或者约10%。在一些语境中,二者可以相差约15%或者约20%。
特别地,可以如上设置用于第一多个寄存器和第二多个寄存器的时钟的周期和占空比,使得在第一子模块中的组合逻辑运算完成时,用于第二多个寄存器的时钟的电平翻转以触发第二多个寄存器。第二多个寄存器可以被实现为边沿触发寄存器或电平触发寄存器。在第二多个寄存器为边沿触发寄存器(例如D类型触发器)的情况下,时钟的相应边沿(上升沿或下降沿)触发该第二多个寄存器。在第二多个寄存器为电平触发寄存器(例如锁存器)的情况下,时钟的电平翻转为相应电平(高电平或低电平)使得该第二多个寄存器进入活动状态(例如锁存器的穿透状态)。
可以调整组合逻辑模块的实现方式从而调整组合逻辑模块及其子模块的计算延时。更具体而言,可以调整每个组合逻辑模块的第一子模块和第二子模块的实现方式,从而调整其计算延时的时长和/或比率。
在优选的实施例中,每个组合逻辑模块的第一子模块和第二子模块可以被实现为使得其计算延时之和最小,并且用于每个寄存器的时钟的周期可以被相应地设置为基本等于第一子模块和第二子模块的计算延时之和,占空比设置为基本等于第一子模块和第二子模块的计算延时的比率或其倒数。这使得能够最小化用于每个寄存器的时钟的周期,从而可以提高时钟频率,进而增大芯片的算力功耗比。
在另一种优选的实施例中,每个组合逻辑模块的第一子模块和第二子模块可以被实现为使得其计算延时基本相等,并且用于每个寄存器的时钟的周期可以被相应地设置为基本等于第一子模块和第二子模块的计算延时之和,占空比设置为基本等于1:1。在又一种优选的实施例中,每个组合逻辑模块的第一子模块和第二子模块可以被实现为使得二者的计算延时中较大的一个计算延时最小,用于每个寄存器的时钟的周期可以被相应地设置为基本等于该较大的一个计算延时的两倍,占空比设置为基本等于1:1。这有利于容易地获得时钟,并且降低了对时钟占空比的精确性的要求,从而有利于保证芯片性能的稳定性。
图4A示出了根据本公开的第一实施例的用于比特币挖矿的运算电路400。与运算电路300类似地,运算电路400包括第一多个寄存器、第二多个寄存器以及多个组合逻辑模块。
在图4A所示的第一实施例中,第一多个寄存器由D类型触发器实现,并且第二多个寄存器由锁存器实现。
第一多个寄存器被配置为形成多个级411-1,411-2,…,数字信号沿着各级寄存器411-1,411-2,…依次传递。在图4A所示的实施例中,第一级寄存器411-1包括寄存器411-1a,411-1b,…,411-1h,第二级寄存器411-2包括寄存器411-2a,411-2b,…,411-2h,等等。
第二多个寄存器包括多个子部分412-1。在图4A所示的实施例中,第二多个寄存器的第一个子部分412-1包括寄存器412-1a,412-1b,412-1c,412-1d。
每个组合逻辑模块包括第一子模块421-1、第二子模块422-1和第三子模块423-1,其中第二子模块422-1包括加法器431-1、432-1,而第一子模块421-1和第三子模块423-1不包括加法器。
图4B示出了与图4A所示的第一实施例的运算电路400对应的用于第一多个寄存器的第一时钟CLK401以及用于第二多个寄存器的第二时钟CLK402。
在图4B所示的优选实施例中,用于第一多个寄存器中的每个寄存器的时钟相同,并且用于第二多个寄存器中的每个寄存器的时钟也相同。但是,这并不必然意味着用于第一多个寄存器中的每个寄存器的时钟来源于同一时钟,也不必然意味着用于第二多个寄存器中的每个寄存器的时钟来源于同一时钟。相反地,它们可以来源于不同的时钟。
在一个示例中,第一多个寄存器为上升沿触发的D类型触发器,并且第二多个寄存器为高电平触发的锁存器。针对这种情形,在图4B中示意性地示出了第一时钟CLK401和第二时钟CLK402。
以下以第一级寄存器411-1、第二多个寄存器的第一个子部分412-1以及第一个组合逻辑模块为例,示例性地描述以第一时钟CLK401和第二时钟CLK402驱动的运算电路400的操作。
在第一时钟CLK401的一个上升沿处,第一多个寄存器被触发,第一级寄存器411-1将信号传递到第一子模块421-1和第三子模块423-1。在第一子模块421-1中,信号进行了多种组合逻辑运算,而后被传递到第二多个寄存器的第一个子部分412-1的输入端。在此期间,第二时钟CLK402处于低电平,因而第二多个寄存器处于非活动状态,即阻挡状态。此时,第二多个寄存器的第一个子部分412-1不会将来自第一子模块421-1的信号传递到第二子模块422-1。
之后,当第二时钟CLK402从低电平转换为高电平时,第二多个寄存器进入活动状态,即穿透状态。于是,第二多个寄存器的第一个子部分412-1将来自第一子模块421-1的信号传递到第二子模块422-1。在第二子模块422-1中,信号通过加法器431-1、432-1进行了加法运算,而后被传递到第一多个寄存器中的第二级寄存器411-2的输入端。
之后,在第一时钟CLK401的下一个上升沿处,第一多个寄存器再次被触发,第二级寄存器411-2将信号传递到第二个组合逻辑模块(未示出)。此时,第二时钟CLK402处于低电平,使得第二多个寄存器处于非活动状态。
第一时钟CLK401和第二时钟CLK402被设置为使得对于第一时钟CLK401和第二时钟CLK402的每个周期,在第一时钟CLK401的上升沿处,第二时钟CLK402处于低电平。
第一时钟CLK401和第二时钟CLK402可以被设置为使得对于每个时钟周期,从第一时钟CLK401的上升沿到第二时钟CLK402从低电平转换为高电平的时间大于或等于每个组合逻辑模块的第一子模块的计算延时。这确保了在第一子模块中的组合逻辑运算尚未完成时,第二多个寄存器处于非活动状态。也就是说,当第二多个寄存器的每个子部分412-1进入活动状态时,其输入端(即相应的第一子模块421-1的输出端)处的数据已经稳定,可以被传递到第二子模块422-1以进行进一步的运算。
在图4B所示的优选实施例中,第一时钟CLK401和第二时钟CLK402的频率相同,相位相差180度,并且占空比为1:1。这样的第一时钟CLK401和第二时钟CLK402可以容易地获得。例如,可以通过将第一时钟CLK401反相或移相180度来获得第二时钟CLK402。
本领域技术人员应当理解,对于第一多个寄存器为下降沿触发的D类型触发器和/或第二多个寄存器为低电平触发的锁存器的情形,可以对第一时钟CLK401和第二时钟CLK402进行相应调整。
图5A示出了根据本公开的第二实施例的用于比特币挖矿的运算电路500。与运算电路300类似地,运算电路500包括第一多个寄存器、第二多个寄存器以及多个组合逻辑模块。
在图5A所示的第二实施例中,第一多个寄存器和第二多个寄存器均由D类型触发器实现,并且其触发边沿不同。
第一多个寄存器被配置为形成多个级511-1,511-2,…,数字信号沿着各级寄存器511-1,511-2,…依次传递。在图5A所示的实施例中,第一级寄存器511-1包括寄存器511-1a,511-1b,…,511-1h,第二级寄存器511-2包括寄存器511-2a,511-2b,…,511-2h,等等。
第二多个寄存器包括多个子部分512-1。在图5A所示的实施例中,第二多个寄存器的第一个子部分512-1包括寄存器512-1a,512-1b,512-1c,512-1d。
每个组合逻辑模块包括第一子模块521-1、第二子模块522-1和第三子模块523-1,其中第二子模块522-1包括加法器531-1、532-1,而第一子模块521-1和第三子模块523-1不包括加法器。
图5B示出了与图5A所示的第二实施例的运算电路500对应的用于第一多个寄存器的第一时钟CLK501以及用于第二多个寄存器的第二时钟CLK502。类似地,用于第一多个寄存器中的每个寄存器的时钟和用于第二多个寄存器中的每个寄存器的时钟并不必然分别来源于同一时钟。
在一个示例中,第一多个寄存器为上升沿触发的D类型触发器,而第二多个寄存器为下降沿触发的D类型触发器。针对这种情形,在图5B中示意性地示出了第一时钟CLK501和第二时钟CLK502。
以下以第一级寄存器511-1、第二多个寄存器的第一个子部分512-1以及第一个组合逻辑模块为例,示例性地描述以第一时钟CLK501和第二时钟CLK502驱动的运算电路500的操作。
在第一时钟CLK501的一个上升沿处,第一多个寄存器被触发,第一级寄存器511-1将信号传递到第一子模块521-1,进而传递到第二多个寄存器的第一个子部分512-1的输入端。
之后,在第二时钟CLK502的一个下降沿处,第二多个寄存器被触发,于是第二多个寄存器的第一个子部分512-1将来自第一子模块521-1的信号传递到第二子模块522-1,进而传递到第一多个寄存器中的第二级寄存器511-2的输入端。
之后,在第一时钟CLK501的下一个上升沿处,第一多个寄存器再次被触发,第二级寄存器511-2将信号传递到第二个组合逻辑模块(未示出)。
第一时钟CLK501和第二时钟CLK502可以被设置为使得对于第一时钟CLK501和第二时钟CLK502的每个周期,低电平的持续时间可以大于或等于每个组合逻辑模块的第一子模块的计算延时。例如,对于占空比为1:1的第一时钟CLK501和第二时钟CLK502,其半周期可以大于或等于每个组合逻辑模块的第一子模块的计算延时。
在图5B所示的优选实施例中,第一时钟CLK501和第二时钟CLK502相同,并且占空比为1:1。这能够进一步简化第一时钟CLK501和第二时钟CLK502的实现。
需要说明的是,第一时钟CLK501和第二时钟CLK502相同并不必然意味着用于第一多个寄存器的第一时钟CLK501和用于第二多个寄存器的第二时钟CLK502来源于同一时钟。相反地,它们可以来自于不同的时钟。
本领域技术人员应当理解,对于第一多个寄存器为下降沿触发的D类型触发器而第一多个寄存器为上升沿触发的D类型触发器的情形,可以对第一时钟CLK501和第二时钟CLK502进行相应调整。
图6A示出了根据本公开的第三实施例的用于比特币挖矿的运算电路600。与运算电路300类似地,运算电路600包括第一多个寄存器、第二多个寄存器以及多个组合逻辑模块。
在图6A所示的第三实施例中,第一多个寄存器和第二多个寄存器均由D类型触发器实现,并且其触发边沿相同。
第一多个寄存器被配置为形成多个级611-1,611-2,…,数字信号沿着各级寄存器611-1,611-2,…依次传递。在图6A所示的实施例中,第一级寄存器611-1包括寄存器611-1a,611-1b,…,611-1h,第二级寄存器611-2包括寄存器611-2a,611-2b,…,611-2h,等等。
第二多个寄存器包括多个子部分612-1。在图6A所示的实施例中,第二多个寄存器的第一个子部分612-1包括寄存器612-1a,612-1b,612-1c,612-1d。
每个组合逻辑模块包括第一子模块621-1、第二子模块622-1和第三子模块623-1,其中第二子模块622-1包括加法器631-1、632-1,而第一子模块621-1和第三子模块623-1不包括加法器。
图6B示出了与图6A所示的第三实施例的运算电路600对应的用于第一多个寄存器的第一时钟CLK601以及用于第二多个寄存器的第二时钟CLK602。类似地,用于第一多个寄存器中的每个寄存器的时钟和用于第二多个寄存器中的每个寄存器的时钟并不必然分别来源于同一时钟。
在一个示例中,第一多个寄存器和第二多个寄存器均为上升沿触发的D类型触发器。针对这种情形,在图6B中示意性地示出了第一时钟CLK601和第二时钟CLK602。
以下以第一级寄存器611-1、第二多个寄存器的第一个子部分612-1以及第一个组合逻辑模块为例,示例性地描述以第一时钟CLK601和第二时钟CLK602驱动的运算电路600的操作。
在第一时钟CLK601的一个上升沿处,第一多个寄存器被触发,第一级寄存器611-1将信号传递到第一子模块621-1,进而传递到第二多个寄存器的第一个子部分612-1的输入端。
之后,在第二时钟CLK602的上升沿处,第二多个寄存器被触发,于是第二多个寄存器的第一个子部分612-1将来自第一子模块621-1的信号传递到第二子模块622-1,进而传递到第一多个寄存器中的第二级寄存器611-2的输入端。
之后,在第一时钟CLK601的下一个上升沿处,第一多个寄存器再次被触发,第二级寄存器611-2将信号传递到第二个组合逻辑模块(未示出)。
第一时钟CLK601和第二时钟CLK602可以被设置为使得对于第一时钟CLK601和第二时钟CLK602的每个周期,从第一时钟CLK601的上升沿到第二时钟CLK602的上升沿的时间大于或等于每个组合逻辑模块的第一子模块的计算延时。
在图6B所示的优选实施例中,第一时钟CLK601和第二时钟CLK602的频率相同,相位相差180度,并且占空比为1:1。
本领域技术人员应当理解,对于第一多个寄存器和第二多个寄存器均为下降沿触发的D类型触发器的情形,可以对第一时钟CLK601和第二时钟CLK602进行相应调整。
图7A示出了根据本公开的第四实施例的用于比特币挖矿的运算电路700。与运算电路300类似地,运算电路700包括第一多个寄存器、第二多个寄存器以及多个组合逻辑模块。
在图7A所示的第四实施例中,第一多个寄存器和第二多个寄存器均由D类型触发器实现,并且其触发边沿相同。
第一多个寄存器被配置为形成多个级711-1,711-2,…,数字信号沿着各级寄存器711-1,711-2,…依次传递。在图7A所示的实施例中,第一级寄存器711-1包括寄存器711-1a,711-1b,…,711-1h,第二级寄存器711-2包括寄存器711-2a,711-2b,…,711-2h,等等。
第二多个寄存器包括多个子部分712-1。在图7A所示的实施例中,第二多个寄存器的第一个子部分712-1包括寄存器712-1a,712-1b,712-1c,712-1d。
每个组合逻辑模块包括第一子模块721-1、第二子模块722-1和第三子模块723-1,其中第二子模块722-1包括加法器731-1、732-1,而第一子模块721-1和第三子模块723-1不包括加法器。
图7B示出了与图7A所示的第四实施例的运算电路700对应的用于第一多个寄存器中的耦接到第二子模块的输出端的寄存器的第一时钟CLK701、用于第二多个寄存器的第二时钟CLK702,以及用于第一多个寄存器中的耦接到第三子模块的输出端的寄存器的第三时钟CLK703,其中第三时钟CLK703与第二时钟CLK702相同。
例如,第一时钟CLK701是用于寄存器711-1a,711-2a,…,711-1e,711-2e,…的时钟,而第三时钟CLK703是用于寄存器711-1b,711-2b,…,711-1c,711-2c,…,711-1h,711-2h,…的时钟。
类似地,第三时钟CLK703与第二时钟CLK702相同并不必然意味着用于第一多个寄存器中的耦接到第三子模块的输出端的寄存器的第三时钟CLK703和用于第二多个寄存器的第二时钟CLK702来源于同一时钟。相反地,它们可以来自于不同的时钟。此外,用于第一多个寄存器中的耦接到第二子模块的输出端的每个寄存器的时钟、用于第二多个寄存器中的每个寄存器的时钟以及用于第一多个寄存器中的耦接到第三子模块的输出端的每个寄存器的时钟并不必然分别来源于同一时钟。
在一个示例中,第一多个寄存器和第二多个寄存器均为上升沿触发的D类型触发器。针对这种情形,在图7B中示意性地示出了第一时钟CLK701、第二时钟CLK702和第三时钟CLK703。
以下以第一级寄存器711-1、第二级寄存器711-2、第二多个寄存器的第一个子部分712-1以及第一个组合逻辑模块为例,示例性地描述以第一时钟CLK701、第二时钟CLK702和第三时钟CLK703驱动的运算电路700的操作。
在第三时钟CLK703的一个上升沿处,第一级寄存器711-1中的一部分寄存器711-1b,711-1c,…,711-1h被触发,将信号传递到第一子模块721-1和第三子模块723-1的输入端。
之后,在第一时钟CLK701的上升沿处,第一级寄存器711-1中的另一部分寄存器711-1a、711-1e被触发,将信号传递到第一子模块721-1和第三子模块723-1的输入端。于是,来自第一级寄存器711-1中的所有寄存器711-1a,711-1b,…,711-1h的信号均被传递到第一子模块721-1和第三子模块723-1的输入端。进而,第一子模块721-1的输入端处的、来自第一级寄存器711-1的信号通过第一子模块721-1传递到第二多个寄存器的第一个子部分712-1的输入端。并且,第三子模块723-1的输入端处的、来自第一级寄存器711-1的信号通过第三子模块723-1传递到第二级寄存器711-2中的一部分寄存器711-2b,711-2c,…,711-2h的输入端。
之后,在第二时钟CLK702的上升沿处,第二多个寄存器被触发,于是第二多个寄存器的第一个子部分712-1将来自第一子模块721-1的信号传递到第二子模块722-1,进而传递到第二级寄存器711-2中的另一部分寄存器711-2a、711-2e的输入端。
这时,在第三时钟CLK703的下一个上升沿处,第二级寄存器中的一部分寄存器711-2b,711-2c,…,711-2h被触发,将信号传递到相应的第二个组合逻辑模块中的第一子模块和第三子模块(未示出)。
第一时钟CLK701、第二时钟CLK702和第三时钟CLK703可以被设置为使得对于每个时钟周期,从第一时钟CLK701的上升沿到第二时钟CLK702的上升沿的时间大于或等于每个组合逻辑模块的第一子模块的计算延时。
在图7B所示的优选实施例中,第二时钟CLK702和第三时钟CLK703相同,而第一时钟CLK701和第二时钟CLK702的频率相同,相位相差180度。在这一优选实施例中,第一时钟CLK701、第二时钟CLK702和第三时钟CLK703的占空比为1:1。本领域技术人员应当理解,第一时钟CLK701、第二时钟CLK702和第三时钟CLK703也可以适当地以其他方式设置。
本领域技术人员应当理解,第一多个寄存器和第二多个寄存器可以适当地被实现为其他类型的寄存器(例如,第一多个寄存器和第二多个寄存器均为下降沿触发的D类型触发器)。在这样的情形下,可以对第一时钟CLK701、第二时钟CLK702和第三时钟CLK703进行相应调整。
根据本公开的运算电路可以以软件、硬件、软件与硬件的结合等各种适当的方式实现。在一种实现方式中,一种用于比特币挖矿的芯片可以包括如上所述的运算电路,该芯片还可以包括在一种用于比特币挖矿的计算装置中。
在说明书及权利要求中的词语“前”、“后”、“顶”、“底”、“之上”、“之下”等,如果存在的话,用于描述性的目的而并不一定用于描述不变的相对位置。应当理解,这样使用的词语在适当的情况下是可互换的,使得在此所描述的本公开的实施例,例如,能够在与在此所示出的或另外描述的那些取向不同的其他取向上操作。
如在此所使用的,词语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
如在此所使用的,词语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。词语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
另外,前面的描述可能提及了被“连接”或“耦接”在一起的元件或节点或特征。如在此所使用的,除非另外明确说明,“连接”意指一个元件/节点/特征与另一种元件/节点/特征在电学上、机械上、逻辑上或以其它方式直接地连接(或者直接通信)。类似地,除非另外明确说明,“耦接”意指一个元件/节点/特征可以与另一元件/节点/特征以直接的或间接的方式在机械上、电学上、逻辑上或以其它方式连结以允许相互作用,即使这两个特征可能并没有直接连接也是如此。也就是说,“耦接”意图包含元件或其它特征的直接连结和间接连结,包括利用一个或多个中间元件的连接。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
在本公开中,术语“提供”从广义上用于涵盖获得对象的所有方式,因此“提供某对象”包括但不限于“购买”、“制备/制造”、“布置/设置”、“安装/装配”、和/或“订购”对象等。
本领域技术人员应当意识到,在上述操作之间的边界仅仅是说明性的。多个操作可以结合成单个操作,单个操作可以分布于附加的操作中,并且操作可以在时间上至少部分重叠地执行。而且,另选的实施例可以包括特定操作的多个实例,并且在其他各种实施例中可以改变操作顺序。但是,其它的修改、变化和替换同样是可能的。因此,本说明书和附图应当被看作是说明性的,而非限制性的。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。在此公开的各实施例可以任意组合,而不脱离本公开的精神和范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本公开的范围和精神。本公开的范围由所附权利要求来限定。

Claims (20)

1.一种运算电路,其特征在于,所述运算电路包括:
第一多个寄存器,被配置为形成多个级,使得数字信号沿着第一多个寄存器中的各级寄存器依次传递;
多个组合逻辑模块,其中第一多个寄存器中的每一级寄存器通过对应的组合逻辑模块耦接到下一级寄存器;
第二多个寄存器,所述第二多个寄存器包括与每个组合逻辑模块对应的多个子部分,
其中,每个组合逻辑模块包括第一子模块、第二子模块和第三子模块,所述第二子模块包括至少一个加法器,所述第一子模块和所述第三子模块不包括加法器,并且
所述第一子模块耦接到所述第一多个寄存器中的一级寄存器的输出端和所述第二多个寄存器的对应子部分的输入端,所述第二子模块耦接到所述第二多个寄存器的对应子部分的输出端和所述第一多个寄存器中的下一级寄存器的输入端,并且所述第三子模块耦接到所述第一多个寄存器中的一级寄存器的输出端和下一级寄存器的输入端。
2.根据权利要求1所述的运算电路,其特征在于,每个组合逻辑模块的所述第二子模块的至少一个加法器中的每个加法器的输入端耦接到第二多个寄存器中的两个寄存器。
3.根据权利要求1所述的运算电路,其特征在于,用于所述第一多个寄存器和所述第二多个寄存器中的每个寄存器的时钟的频率和占空比相同。
4.根据权利要求3所述的运算电路,其特征在于,所述时钟的频率根据所述组合逻辑模块的计算延时来确定。
5.根据权利要求4所述的运算电路,其特征在于,所述时钟的占空比根据每个组合逻辑模块的所述第一子模块和所述第二子模块的计算延时的比率来确定。
6.根据权利要求5所述的运算电路,其特征在于,每个组合逻辑模块的所述第一子模块和所述第二子模块被实现为使得其计算延时之和最小。
7.根据权利要求5所述的运算电路,其特征在于,每个组合逻辑模块的所述第一子模块和所述第二子模块被实现为使得其计算延时基本相等,并且所述时钟的占空比为1:1。
8.根据权利要求1-7中任一项所述的运算电路,其特征在于,所述第一多个寄存器由D类型触发器实现,并且所述第二多个寄存器由锁存器实现。
9.根据权利要求8所述的运算电路,其特征在于,用于所述第一多个寄存器的第一时钟和用于所述第二多个寄存器的第二时钟被配置为使得对于所述第一时钟和所述第二时钟的每个周期,在所述第一时钟的触发第一多个寄存器的触发边沿处,所述第二时钟处于使得所述第二多个寄存器处于非活动状态的非活动电平。
10.根据权利要求9所述的运算电路,其特征在于,对于所述第一时钟和所述第二时钟的每个周期,从所述第一时钟的所述触发边沿到所述第二时钟从所述非活动电平转换为使得所述第二多个寄存器处于活动状态的活动电平的时间大于或等于每个组合逻辑模块的所述第一子模块的计算延时。
11.根据权利要求1-7中任一项所述的运算电路,其特征在于,所述第一多个寄存器和所述第二多个寄存器均由D类型触发器实现。
12.根据权利要求11所述的运算电路,其特征在于,所述第一多个寄存器和所述第二多个寄存器的触发边沿不同,并且用于所述第一多个寄存器的第一时钟与用于所述第二多个寄存器的第二时钟相同。
13.根据权利要求12所述的运算电路,其特征在于,所述第一时钟和所述第二时钟的占空比为1:1,并且其半周期大于或等于每个组合逻辑模块的所述第一子模块的计算延时。
14.根据权利要求11所述的运算电路,其特征在于,所述第一多个寄存器和所述第二多个寄存器的触发边沿相同。
15.根据权利要求14所述的运算电路,其特征在于,对于用于所述第一多个寄存器的第一时钟和用于所述第二多个寄存器的第二时钟的每个周期,从所述第一时钟的触发所述第一多个寄存器的触发边沿到所述第二时钟的触发所述第二多个寄存器的触发边沿的时间大于或等于每个组合逻辑模块的所述第一子模块的计算延时。
16.根据权利要求14所述的运算电路,其特征在于,所述第一时钟和所述第二时钟的频率和占空比相同,相位相差180度。
17.根据权利要求11所述的运算电路,其特征在于,所述第一多个寄存器和所述第二多个寄存器的触发边沿相同,并且用于所述第一多个寄存器中的耦接到第二子模块的输出端的寄存器的第一时钟与用于所述第二多个寄存器的第二时钟不同,并且用于所述第一多个寄存器中的耦接到第三子模块的输出端的寄存器的第三时钟与所述第二时钟相同。
18.根据权利要求17所述的运算电路,其特征在于,所述第一时钟和所述第二时钟的频率和占空比相同,相位相差180度。
19.一种芯片,其特征在于,所述芯片包括根据权利要求1-18中任一项所述的运算电路。
20.一种计算装置,其特征在于,所述计算装置包括根据权利要求19所述的芯片。
CN202010494552.8A 2020-06-03 2020-06-03 运算电路、芯片和计算装置 Pending CN111459458A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010494552.8A CN111459458A (zh) 2020-06-03 2020-06-03 运算电路、芯片和计算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010494552.8A CN111459458A (zh) 2020-06-03 2020-06-03 运算电路、芯片和计算装置

Publications (1)

Publication Number Publication Date
CN111459458A true CN111459458A (zh) 2020-07-28

Family

ID=71681442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010494552.8A Pending CN111459458A (zh) 2020-06-03 2020-06-03 运算电路、芯片和计算装置

Country Status (1)

Country Link
CN (1) CN111459458A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI776543B (zh) * 2020-10-30 2022-09-01 大陸商深圳比特微電子科技有限公司 計算晶片、算力板和數據處理設備

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI776543B (zh) * 2020-10-30 2022-09-01 大陸商深圳比特微電子科技有限公司 計算晶片、算力板和數據處理設備
US11579875B2 (en) 2020-10-30 2023-02-14 Shenzhen Microbt Electronics Technology Co., Ltd. Computing chip, hashrate board and data processing apparatus
KR20230079496A (ko) * 2020-10-30 2023-06-07 션전 마이크로비티 일렉트로닉스 테크놀로지 컴퍼니 리미티드 계산 칩, 해시 보드 및 데이터 처리 장치
KR102599118B1 (ko) 2020-10-30 2023-11-06 션전 마이크로비티 일렉트로닉스 테크놀로지 컴퍼니 리미티드 계산 칩, 해시 보드 및 데이터 처리 장치

Similar Documents

Publication Publication Date Title
US7005900B1 (en) Counter-based clock doubler circuits and methods with optional duty cycle correction and offset
Efstathiou et al. Area-time efficient modulo 2/sup n/-1 adder design
WO2022017179A1 (zh) 加法器、运算电路、芯片和计算装置
KR20200069347A (ko) 반전 위상 모드 논리 게이트들
US6906571B1 (en) Counter-based phased clock generator circuits and methods
CN111459458A (zh) 运算电路、芯片和计算装置
US8644447B2 (en) System and a method for generating time bases in low power domain
US7808287B2 (en) Frequency divider circuits
US7373369B2 (en) Advanced execution of extended floating-point add operations in a narrow dataflow
EP1340140B1 (en) Apparatus and method for odd integer frequency division
CN212084127U (zh) 运算电路、芯片和计算装置
Katam et al. Sport lab sfq logic circuit benchmark suite
Sarkar et al. Design of hybrid (CSA-CSkA) adder for improvement of propagation delay
CN101739232B (zh) 基于可逆逻辑的除法器
Sayed et al. Design and evaluation of a FIR filter using hybrid adders and Vedic multipliers
CN109474268B (zh) 电路结构、电路板和超算设备
US7323913B1 (en) Multiphase divider for P-PLL based serial link receivers
Kumar et al. Design and analysis of multiply and accumulation units using low power adders
US6434588B1 (en) Binary counter with low power consumption
Bissa et al. All Digital Phase Locked Loop for Low Frequency Applications
WO2011100032A2 (en) Efficient retimer for clock dividers
CN212723979U (zh) 加法器、运算电路、芯片和计算装置
JPH03228297A (ja) シフトレジスタ回路
Verma et al. Design & analysis of low power, area-efficient carry select adder
Kumar Sinha Sequential Circuit Design

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination