【技术实现步骤摘要】
时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机
本专利技术涉及用于执行哈希算法的电路,更具体地,涉及包含时钟树电路、哈希引擎、计算芯片、算力板和加密货币挖矿机。
技术介绍
比特币系统是最早提出并且目前得到最广泛认可的区块链系统。比特币系统的主要作用之一是用作去中心化的公共记账本,其可以记录各种金融交易。之所以称为“去中心化”,是因为比特币不是由单一的中心化的货币机构发行的,而是依据特定算法通过运算来产生的。比特币系统使用计算机网络的各节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学设计来确保安全性。目前比特币协议采用安全哈希算法SHA(SecureHashAlgorithm)-256。SHA系列算法是美国标准与技术研究所发布的,其中SHA-256是一种哈希长度为256位的安全哈希算法。根据比特币协议,第一个成功确定候选区块的工作量证明POW(proofofwork)的节点有权将该区块添加到区块链,并有权生成新的加密货币单元作为奖励。这个过程就被称为“挖矿”,执行比特币算法的节点被称为挖矿机或矿机。如果使用专用集成电路(ASIC)来执行挖矿过程,也即使用ASIC芯片来执行SHA-256算法,则设计目标的关键是改善芯片尺寸、芯片运行速度和芯片功耗。芯片尺寸决定芯片成本,芯片运行速度决定矿机运行速度即算力,芯片功耗决定耗电程度即挖矿成本。在实际应用中,衡量矿机最为重要的性能指标是单位算力所消耗的功率,即功耗算力比。因此,对于比特币矿机而言,最重要的就是以较低的功耗算力比来实现SHA ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。