时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机制造技术

技术编号:26342357 阅读:15 留言:0更新日期:2020-11-13 20:32
本公开涉及一种时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机。所述哈希引擎包括:输入模块,被配置为接收数据块;运算模块,被配置为对接收的数据块进行哈希运算,所述运算模块包括以流水线结构布置的多个运算级以使得基于所述数据块的数字信号沿着所述多个运算级依次传递,所述多个运算级中的每个运算级包括多个寄存器和组合逻辑模块;和时钟模块,被配置为向所述多个运算级的每一个运算级提供时钟信号,所述时钟模块包括多级时钟驱动电路以使得来自于时钟源的时钟信号沿着所述多级时钟驱动电路依次传递,其中对于所述多个运算级中的每个运算级的所述多个寄存器,所述数字信号的传递方向与所述时钟信号的传递方向相同。

【技术实现步骤摘要】
时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机
本专利技术涉及用于执行哈希算法的电路,更具体地,涉及包含时钟树电路、哈希引擎、计算芯片、算力板和加密货币挖矿机。
技术介绍
比特币系统是最早提出并且目前得到最广泛认可的区块链系统。比特币系统的主要作用之一是用作去中心化的公共记账本,其可以记录各种金融交易。之所以称为“去中心化”,是因为比特币不是由单一的中心化的货币机构发行的,而是依据特定算法通过运算来产生的。比特币系统使用计算机网络的各节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学设计来确保安全性。目前比特币协议采用安全哈希算法SHA(SecureHashAlgorithm)-256。SHA系列算法是美国标准与技术研究所发布的,其中SHA-256是一种哈希长度为256位的安全哈希算法。根据比特币协议,第一个成功确定候选区块的工作量证明POW(proofofwork)的节点有权将该区块添加到区块链,并有权生成新的加密货币单元作为奖励。这个过程就被称为“挖矿”,执行比特币算法的节点被称为挖矿机或矿机。如果使用专用集成电路(ASIC)来执行挖矿过程,也即使用ASIC芯片来执行SHA-256算法,则设计目标的关键是改善芯片尺寸、芯片运行速度和芯片功耗。芯片尺寸决定芯片成本,芯片运行速度决定矿机运行速度即算力,芯片功耗决定耗电程度即挖矿成本。在实际应用中,衡量矿机最为重要的性能指标是单位算力所消耗的功率,即功耗算力比。因此,对于比特币矿机而言,最重要的就是以较低的功耗算力比来实现SHA-256算法。因此,存在对于具有更低功耗算力比的用于实现哈希算法的电路的需求。
技术实现思路
根据本专利技术的第一方面,提供了一种哈希引擎,包括:输入模块,被配置为接收数据块;运算模块,被配置为对接收的数据块进行哈希运算,所述运算模块包括以流水线结构布置的多个运算级以使得基于所述数据块的数字信号沿着所述多个运算级依次传递,所述多个运算级中的每个运算级包括多个寄存器和组合逻辑模块;和时钟模块,被配置为向所述多个运算级的每一个运算级提供时钟信号,所述时钟模块包括多级时钟驱动电路以使得来自于时钟源的时钟信号沿着所述多级时钟驱动电路依次传递,其中对于所述多个运算级中的每个运算级的所述多个寄存器,所述数字信号的传递方向与所述时钟信号的传递方向相同。进一步,在每一当前运算级中,所述多个寄存器中的第一组寄存器中的每个寄存器的输出端至少耦接到当前运算级的组合逻辑模块的输入端,所述多个寄存器中的第二组寄存器中的每个寄存器的输入端耦接到前一运算级的组合逻辑模块的输出端,以及所述多个寄存器中的第三组寄存器中的每个寄存器的输入端耦接到前一运算级中的相应寄存器的输出端,并且其输出端耦接到下一运算级中的相应寄存器的输入端。所述时钟模块还包括用于所述多个寄存器中的每个寄存器的时钟缓冲电路,每个寄存器的时钟信号端耦接到对应时钟缓冲电路的输出端,用于每一当前运算级的所述第二组寄存器和所述第一组寄存器中的第一部分寄存器中的每个寄存器的时钟缓冲电路的输入端耦接到用于当前运算级的时钟驱动电路的输出端,以及每一当前运算级的所述第一组寄存器中的第二部分寄存器中的每个寄存器的时钟信号端和前一运算级中的相应寄存器的时钟信号端耦接到同一时钟缓冲电路的输出端。每一当前运算级的所述第三组寄存器中的第一部分寄存器中的每个寄存器的时钟信号端和前一运算级中的相应寄存器的时钟信号端耦接到同一时钟缓冲电路的输出端,以及用于每一当前运算级的所述第三组寄存器中的第二部分寄存器中的每个寄存器的时钟缓冲电路的输入端耦接到用于前n个运算级的相应寄存器的时钟缓冲电路的输出端,其中n为整数且2≤n≤4。每一当前运算级的所述多个寄存器还包括一个或多个附加寄存器,所述一个或多个附加寄存器中的一个附加寄存器的输出端耦接到当前运算级的所述第一组寄存器中的特定寄存器的输入端,其输入端耦接到前一运算级的对应于所述特定寄存器的相应寄存器的输出端,并且其时钟信号端耦接到用于前一运算级中的对应于所述特定寄存器的相应寄存器的时钟缓冲电路的输出端。根据本公开的哈希引擎可以用于执行SHA-256算法。根据本专利技术的第二方面,提供了一种时钟树电路,包括:时钟源,用于提供基本时钟信号;和多级时钟驱动电路,其中来自于所述时钟源的基本时钟信号沿着所述多级时钟驱动电路依次传递,所述多级时钟驱动电路中的每一级时钟驱动电路用于为多个运算级的每个运算级提供时钟信号,其中所述多个运算级以流水线结构布置以使得基于接收的数据块的数字信号沿着所述多个运算级依次传递,所述多个运算级中的每个运算级包括多个寄存器和组合逻辑模块;和多个时钟缓冲电路,用于接收来自于所述多级时钟驱动电路的信号并且为所述多个寄存器中的每个寄存器提供时钟信号,其中每个寄存器的时钟信号端耦接到对应时钟缓冲电路的输出端,其中对于所述多个运算级中的每个运算级的所述多个寄存器,所述数字信号的传递方向与所述时钟信号的传递方向相同,其中在每一当前运算级中,所述多个寄存器中的第一组寄存器中的每个寄存器的输出端至少耦接到当前运算级的组合逻辑模块的输入端,所述多个寄存器中的第二组寄存器中的每个寄存器的输入端耦接到前一运算级的组合逻辑模块的输出端,以及所述多个寄存器中的第三组寄存器中的每个寄存器的输入端耦接到前一运算级中的相应寄存器的输出端,并且其输出端耦接到下一运算级中的相应寄存器的输入端,其中用于每一当前运算级的所述第二组寄存器和所述第一组寄存器中的第一部分寄存器中的每个寄存器的时钟缓冲电路的输入端耦接到用于当前运算级的时钟驱动电路的输出端,每一当前运算级的所述第一组寄存器中的第二部分寄存器中的每个寄存器的时钟信号端和前一运算级中的相应寄存器的时钟信号端耦接到同一时钟缓冲电路的输出端,每一当前运算级的所述第三组寄存器中的第一部分寄存器中的每个寄存器的时钟信号端和前一运算级中的相应寄存器的时钟信号端耦接到同一时钟缓冲电路的输出端,以及用于每一当前运算级的所述第三组寄存器中的第二部分寄存器中的每个寄存器的时钟缓冲电路的输入端耦接到用于前n个运算级的相应寄存器的时钟缓冲电路的输出端,其中i为整数且2≤n≤4。根据本专利技术的第三方面,提供了一种计算芯片,包括一个或多个如前所述的哈希引擎。根据本专利技术的第四方面,提供了一种算力板,包括一个或多个如前所述的计算芯片。根据本专利技术的第五方面,提供了一种加密货币挖矿机,包括一个或多个如前所述的算力板。根据参照附图的以下描述,本专利技术的其它特性特征和优点将变得清晰。附图说明所包括的附图用于说明性目的,并且仅用于提供本文所公开的专利技术性装置以及将其应用到计算设备的方法的可能结构和布置的示例。这些附图决不限制本领域的技术人员在不脱离实施方案的实质和范围的前提下可对实施方案进行的在形式和细节方面的任何更改。所述实施方案通过下面结合附图的具体描述将更易于理解,其中类似的附图标记表示类似的结构元件。图1是根据本专利技术的实施例的SHA-256哈希引擎的示意图。图2本文档来自技高网
...

【技术保护点】
1.一种哈希引擎,包括:/n输入模块,被配置为接收数据块;/n运算模块,被配置为对接收的数据块进行哈希运算,所述运算模块包括以流水线结构布置的多个运算级以使得基于所述数据块的数字信号沿着所述多个运算级依次传递,所述多个运算级中的每个运算级包括多个寄存器和组合逻辑模块;和/n时钟模块,被配置为向所述多个运算级的每一个运算级提供时钟信号,所述时钟模块包括多级时钟驱动电路以使得来自于时钟源的时钟信号沿着所述多级时钟驱动电路依次传递,其中对于所述多个运算级中的每个运算级的所述多个寄存器,所述数字信号的传递方向与所述时钟信号的传递方向相同。/n

【技术特征摘要】
1.一种哈希引擎,包括:
输入模块,被配置为接收数据块;
运算模块,被配置为对接收的数据块进行哈希运算,所述运算模块包括以流水线结构布置的多个运算级以使得基于所述数据块的数字信号沿着所述多个运算级依次传递,所述多个运算级中的每个运算级包括多个寄存器和组合逻辑模块;和
时钟模块,被配置为向所述多个运算级的每一个运算级提供时钟信号,所述时钟模块包括多级时钟驱动电路以使得来自于时钟源的时钟信号沿着所述多级时钟驱动电路依次传递,其中对于所述多个运算级中的每个运算级的所述多个寄存器,所述数字信号的传递方向与所述时钟信号的传递方向相同。


2.如权利要求1所述的哈希引擎,其中在每一当前运算级中,
所述多个寄存器中的第一组寄存器中的每个寄存器的输出端至少耦接到当前运算级的组合逻辑模块的输入端,
所述多个寄存器中的第二组寄存器中的每个寄存器的输入端耦接到前一运算级的组合逻辑模块的输出端,以及
所述多个寄存器中的第三组寄存器中的每个寄存器的输入端耦接到前一运算级中的相应寄存器的输出端,并且其输出端耦接到下一运算级中的相应寄存器的输入端。


3.如权利要求2所述的哈希引擎,其中所述时钟模块还包括用于所述多个寄存器中的每个寄存器的时钟缓冲电路,每个寄存器的时钟信号端耦接到对应时钟缓冲电路的输出端,
用于每一当前运算级的所述第二组寄存器和所述第一组寄存器中的第一部分寄存器中的每个寄存器的时钟缓冲电路的输入端耦接到用于当前运算级的时钟驱动电路的输出端,以及
每一当前运算级的所述第一组寄存器中的第二部分寄存器中的每个寄存器的时钟信号端和前一运算级中的相应寄存器的时钟信号端耦接到同一时钟缓冲电路的输出端。


4.如权利要求3所述的哈希引擎,其中,
每一当前运算级的所述第三组寄存器中的第一部分寄存器中的每个寄存器的时钟信号端和前一运算级中的相应寄存器的时钟信号端耦接到同一时钟缓冲电路的输出端,以及
用于每一当前运算级的所述第三组寄存器中的第二部分寄存器中的每个寄存器的时钟缓冲电路的输入端耦接到用于前n个运算级的相应寄存器的时钟缓冲电路的输出端,其中n为整数且2≤n≤4。


5.如权利要求4所述的哈希引擎,其中每一当前运算级的所述多个寄存器还包括一个或多个附加寄存器,所述一个或多个附加寄存器中的一个附加寄存器的输出端耦接到当前运算级的所述第一组寄存器中的特定寄存器的输入端,其输入端耦接到前一运算级的对应于所述特定寄存器的相应寄存器的输出端,并且其时钟信号端耦接到用于前一运算级中的对应于所述特定寄存器的相应寄存器的时钟缓冲电路的输出端。


6.如权利要求5所述的哈希引擎,其中所述哈希引擎用于执行SHA-256算法,每一当前运算级的所述多个寄存器至少包括第一至第十六寄存器(W0……W15),所述第一组寄存器包括第一、第二、第十和第十五寄存器(W0、W1、W9、W14),所述第二组寄存器包括第十六寄存器(W15),以及所述第三组寄存器包括第三至第九寄存器(W2……W8)和第十一至第十四寄存器(W10……W13),
用于每一当前运算级的第二、第十五寄存器和第十六寄存器(W1、W14、W15)的时钟缓冲电路的输入端耦接到用于当前运算级的时钟驱动电路的输出端,
每一当前运算级的第一寄存器(W0)的时钟信号端耦接到用于前一运算级的第二寄存器(W1)的时钟缓冲电路的输出端,以及
所述一个或多个附加寄存器包括第十七寄存器(W1_t),其输出端耦接到当前运算级的第二寄存器(W1)的输入端,其输入端耦接到前一运算级的第三寄存器(W2)的输出端,以及其时钟信号端耦接到用于前一运算级的第三寄存器(W2)的时钟缓冲电路的输出端。


7.如权利要求6所述的哈希引擎,其中,当n为2时,
每一当前运算级的第k寄存器(Wk-1)的时钟信号端耦接到用于前一运算级的第k+1寄存器(Wk)的时钟缓冲电路的输出端,以及
用于每一当前运算级的第k-1寄存器(Wk-2)的时钟缓冲电路的输入端耦接到用于前两个运算级的第k+1寄存器(Wk)的时钟缓冲电路的输出端,其中k...

【专利技术属性】
技术研发人员:薛可范志军许超郭海丰杨作兴
申请(专利权)人:深圳比特微电子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1