基于fpga的比特币挖矿机的架构设计探索

基于fpga的比特币挖矿机的架构设计探索

ID:24671136

大小:74.50 KB

页数:4页

时间:2018-11-15

基于fpga的比特币挖矿机的架构设计探索_第1页
基于fpga的比特币挖矿机的架构设计探索_第2页
基于fpga的比特币挖矿机的架构设计探索_第3页
基于fpga的比特币挖矿机的架构设计探索_第4页
资源描述:

《基于fpga的比特币挖矿机的架构设计探索》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于FPGA的比特币挖矿机的架构设计探索高杰深圳图灵科技控股集摘要:ASIC为一种特定应用内部用来高效执行某些特定任务的专门硬件,虽然其比比特币的成本低很多,不过可以得到优异的哈希速度,付出的代价为降低系统的灵活性,难以适应协议的变化。同AS1C类似,FPGA也是可以作为高效的矿机系统,同时成木较低,FPGA同ASIC比较灵活性更强,可以适应比特币协议的变化。为此本文基于赛灵思Zynq-7000对于其架构设计展开相关研究分析。关键词:比特币;FPGA;挖矿机;比特币为一种虚拟的货币,比特币挖矿制度为通过计算机硬件为比特币网络开展数学运算的过程,提供服务的矿工可以得到一笔报酬,因为网

2、络报酬依据矿工完成的任务来计算,为此挖矿的竞争十分激烈。比特币挖矿开始于CPU或者GPU这种低成本的硬件,不过随着比特币的流行,挖矿的过程出现较大变化。如今,挖矿活动转移到现场可编程门阵列上来,通过优化可以实现哈希速度,这种模式的挖矿效率非常高。一、总体架构设计思路如果需要得到一个可行的比特节点与高效灵活的矿机等实现完整的挖矿系统,需要采用功能强大的FPGA芯片,使其满足灵活性与性能的要求。在完整的片上系统,需要经过优化内核来运行含有网络维护与交易处理等所有的比特币任务。可以满足这一硬件条件的是ZedBoard7T•发板上面的Zynq-7020。系统内部具有两个ARMCortex-

3、A9处理以及多个Artix_7FPGA逻辑单元,还内置512MBDDR3储存器,可以开展更为快速的SoC设计,ZedBoard还有一个海量储存的SD卡槽,有助于后续的更新。通过ZedBoard实现的SoC比特币框架,其由主机、中继器以及驱动程序等模块构成,可以通过原始的比特币客户端非图形化的界面作为主机,同比特币网络开展互动。简单来说就是将比特币挖矿进程归纳为一个SHA-256进程与一个比较器的组合,SHA-256进程负责对于块头信息开展两次处理,之后同比特币网络的扩展0标比较。二、框架结构的详细设计(一)挖矿内核的深入。依据美国的SHA-256规划,采用高层次综合开始开发挖矿内核

4、,利用VivadoHLS具有的快速测试能力,完成对于儿何原型挖矿内核格局,进而简单的单进程系统到复杂进程系统都可以实现。SHA-256经过64位移、相加和异或运算,得到32字节哈希值。这个时候用8个4字节寄存器保存每个迭代结果,最后将四个寄存器连接起来,得到具体的哈希数值。假如输入数据不足62字节,将其补充,第64字节用来储存输入数据的长度。通过VivadoHLS,SHA-256就是一个简单的for循环操作,通过一个阵列保持每次迭代所需要的数据,同时另一个阵列保持其后续迭代的临吋数值,通过8变量保持其每次迭代结果。对于开发的三个原型中第一个原型通过单个SHA-256进程模块,这是所

5、有内核屮最慢的,由于没有使用流水线。第二个原型为内置三个串联得到的单独SHA-256进程模块,这种配置第一个进程处理数据尖信息的第一个64个字节允许的静态输入。第二个进程负责的是处理数据头剩余16个字节以及加上填补数据需要的48字节。第三个进程负责处理之前两个进程得到的哈希数值结构,其使用两个SHA-256进程模块,同吋在比特币挖矿社区利用的比特币数据头信息与挖矿进程A部充分利用补丁的功能。(二)ISE的开发。比特币的挖矿是在0与232-1之间获得可以作为解的数值,为此可以通过改善挖矿内核性能的方法提升系统的效率。在Spartan-6开发板测试50、100、150MHz不同频率,得

6、到可以预测的结果。SHA-256进程模块需要完成10次不同的32位相加,为此可以在一个时钟周期N部全部相加。为了缩短最长的路径,可以将加法器链细分为一系列阶段,不过这么做会使得整个核的控制逻辑出现较大的变化,需要彻底重新编写,为此可以放弃修改,节省设计的时间与成木。对于最后测试的性能改进模式为并行化,只需要稍作修订,就可以使得SHA-256组被称为2倍与4倍,每组通过两个SHA-256进程模块构成,对组数提升2倍的SI1A-256来说,这种模式可以有效的将组数减半。对于组数提升4倍的SHA-256,就是四分之一。为了使得额外的SHA进程可以在Spartan-6运行,可以降低系统的频

7、率。四组的SHA-256进程模块在75MHz运行的时候,两组在125MHz运行。哈希速度的提升情况难以记录,可以看出单个SHA-256组的哈希速度,但是多组的SHA-256构成挖矿内核找出解的速度比隐含的哈希速度更为快速。(三)EDK的使用。经过FPGA测试之后,就需要将挖矿内核连接到ZynqSoC的AXI4总线,赛思灵的嵌入式开发预先含有专门的ZynqSoC设计的配置实用工具,有利于轻松配置其每个层面。默认的情况下系统会启动512MBDDR3、以太网、USB和SD接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。