论文部分内容阅读
安全散列算法(Secure Hash Algorithm,SHA)在数据校验、数字签名、档案管理等领域有很多应用,它的作用是将输入的不定长数据转化为定长的数据摘要。SHA-256算法是该类算法中输出位数为256位的一种,SHA-256电路可应用于比特币挖矿芯片中,对于比特币应用,SHA-256电路较大的能耗带来了高昂的电费和制冷费用。因此,对于SHA-256电路能耗的优化,成为了芯片厂商的迫切需要。 本文主要研究高效能SHA-256电路的实现。首先借鉴国内外针对SHA-256电路的优秀研究成果,提出了本文设计的电路架构,改进流水线位置,平衡电路时序路径,同时省略了原电路中冗余的寄存器组,从而节省了功耗。并利用matlab的simulink工具对本文和同类先进电路架构进行了建模比较。其次,在设计的电路架构基础上,根据课题指标要求,先对电路性能进行优化,对电路关键路径中延时较大的加法器和异或门单元分别进行了优化,得到了一定的时序余量之后,再利用一系列低功耗方法将冗余的时序余量转化为功耗的节省,对电路的数据扩充部分,采用了门控时钟、同步先入先出队列优化等方法。对电路的数据迭代部分,采用操作数隔离的方法。对电路整体采用了新型的触发器结构,最后还利用电压调节的方法在满足课题性能要求前提下进一步降低功耗。对这些方法取得的效果进行了分析比较。 本文基于优化后的SHA-256电路架构,完成了算法电路的设计,并提供了一系列的功能验证和功耗测试结果,对优化前后的电路进行对比,电路效能提升了54%。与实际比特币产品比较的结果表明,本文设计并优化的SHA-256电路效能优于同类电路,最终实现的电路效能为0.57W/GHps。