热搜关键词: 数字信号处理RTOSC语言Linux射频电路

pdf

基于SpinalHDL的Poseidon哈希算法的硬件实现和加速

  • 1星
  • 2024-11-25
  • 2.54MB
  • 需要2积分
  • 1次下载
标签: 硬件加速

硬件加速

HDL

HDL

基于SpinalHDL的Poseidon哈希算法的硬件实现和加速

展开预览

文档解析

TRIDENT 是一个针对 Filecoin 中的 Poseidon 哈希函数进行硬件计算加速的项目,旨在提高零知识证明系统中哈希函数的效率。Poseidon 是一种新的哈希函数,广泛应用于区块链项目,如 Filecoin、Mina Protocol 和 Dusk Network。Filecoin 是一个基于 IPFS 建立的去中心化存储网络,它采用了包括 PoRep 和 PoSt 在内的多种机制来保证数据的完整性和持久性,涉及 SHA-256、Poseidon 和 zk-SNARK 等密码学算法。目前,这些算法主要通过 GPU 加速,而 TRIDENT 提供了开源的硬件实现方案。 TRIDENT 项目基于 SpinalHDL 和 Cocotb 进行硬件设计和验证。SpinalHDL 是一种基于 Scala 的硬件生成语言,提供了与 Verilog/VHDL 相同的电路描述粒度,并利用 Scala 的语言特性和 SpinalHDL 提供的电路抽象,提升了电路设计的效率和质量。Cocotb 是一个基于 Python 的硬件测试验证框架,利用 Python 的表达能力和丰富的生态,提高了硬件验证的效率。 TRIDENT 实现了优化和非优化版本的 Poseidon 加速电路,其中优化版本性能提升了 2-3 倍。项目采用了 Xilinx Varium C1100 区块链加速卡,基于 Virtex UltraScale+ 架构,具有丰富的 LUT、DSP slices 和寄存器资源。整体系统设计包括 CPU Server 和 FPGA,其中 CPU 通过 PCIe 接口与加速卡相连,FPGA 包含 Xilinx XDMA IP、异步 FIFO 和 Poseidon 加速器 IP。 Poseidon 加速器的设计考虑了高性能-面积比的模运算电路和运算电路的组织架构。模加和模乘电路的设计优化了算法和硬件实现,特别是对于 255-bit 大位宽乘法器和取余操作的实现。加速器架构采用了折叠、流水线和并行处理技术,以提高主频和吞吐率。 性能方面,TRIDENT 在 Xilinx XDMA Driver 的基础上进行了测试,显示加速器的算力可达到 29.1651MB/s,即每秒能够完成 0.99M 次哈希运算。与 GPU 相比,FPGA 在 lotus-bench 测试下的算力可达到 15.65MB/s,显示出较大的提升空间。后续工作和计划包括优化 TRIDENT 的加速性能,加速 Filecoin 中其他密码学算法,并提高 Poseidon IP 工作频率,优化模乘电路结构和加速器架构。

猜您喜欢

评论

登录/注册

积分规则

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved
×