《Generating Posit-Based Accelerators With High-Level Synthesis》(一)

《Generating Posit-Based Accelerators With High-Level Synthesis》。下面按照你的要求,给出完整的中文论文分析总结:


1. 论文主要内容与研究方向

本论文提出了一种将Posit数值格式集成到高层次综合(HLS)流程中的方法,能够从行为级C/C++描述直接生成支持Posit运算的RTL硬件加速器。
研究方向聚焦于:

  • 科学计算与高性能计算(HPC)场景下,用Posit取代浮点数以提高精度和能效
  • 自动化设计流程,尤其是在HLS工具中原生支持Posit
  • 混合存储策略:在本地存储中使用Posit,在逻辑计算中保留浮点,以兼容传统HLS工具

2. 研究方法介绍(含截图)

论文提出了以下关键创新:

(1) 基于FloPoCo工具开发的Posit运算RTL库

  • 包含加法、减法、乘法、除法、比较、整数转换等运算单元
  • 支持多位宽(32bit、64bit)和目标频率配置

📌 截图参考(Posit编码格式):


(论文原文Fig. 1)


(2) 高层次综合工具Bambu的扩展

  • 在开源HLS工具Bambu中集成了Posit支持
  • 用户仅需添加 -flopoco=posit 参数即可启用,不需修改C/C++源代码

📌 截图参考(HLS整体流程扩展):


(论文原文Fig. 2)


(3) 支持内存中使用Posit,计算中用浮点的混合方案

  • 以Posit压缩存储,降低内存带宽和容量需求
  • 在加速器中进行Posit与浮点数的动态互转

📌 截图参考(三种策略示意图):


(论文原文Fig. 3)


3. 实验与对比结果分析

论文在Xilinx Artix-7 FPGA上对PolyBench 4.2套件(线性代数、图像处理等6个基准程序)进行了综合和实验评估:

项目 平均资源增加 平均延迟增加 平均误差降低
Posit32 vs Float32 LUT↑1.46×,FF↑1.73× 时钟周期↑1.30× 精度提高约10倍
Posit64 vs Float64 LUT↑1.73×,FF↑2.12× 时钟周期↑1.59× 精度提高约100倍

特别说明:

  • Posit加法器、乘法器面积略大(~1.5×~2×)
  • Posit除法器、开方器面积明显更大(可达~4×)
  • 混合存储方案(内存Posit、逻辑Float)可在牺牲极少面积(+10%-15%)的代价下,大幅减少数据量,同时精度仍优于Float32

📌 截图参考(不同格式误差对比图):


(论文原文Fig. 5)


4. 论文出处与等级

  • 期刊名称: IEEE Transactions on Circuits and Systems I: Regular Papers (TCSI)
  • 发表时间: 2023年10月
  • DOI: 10.1109/TCSI.2023.3299009
  • 期刊等级:
    • CCF B类期刊
    • 中科院分区:一区Top期刊

5. 是否有开源代码

论文实现基于开源工具:

  • Bambu HLS工具(已集成Posit扩展版)GitHub
  • FloPoCo Posit核心生成器FloPoCo官网

不过,本论文自定义的Posit库及混合存储实现目前未完全开源,作者仅提及在实验中基于上述工具修改。


6. 与原文相关引用出处

  • “We design an RTL library of posit operators that adds support for all the basic operations required in HLS.”
  • “Experimental results demonstrate that, under the same bitwidth, posit arithmetic reduces computation errors by about two orders of magnitude.”
  • “We propose a hybrid scheme that uses posit numbers only in the private local memory while the accelerator operates in floating-point.”

posted @ 2025-04-29 19:14  江左子固  阅读(12)  评论(0)    收藏  举报