Skip to main content
QUICK REVIEW

[论文解读] Two FPGA Case Studies Comparing High Level Synthesis and Manual HDL for HEP applications

Tétrault Marc-André|arXiv (Cornell University)|Jun 24, 2018
Embedded Systems Design Techniques参考文献 3被引用 8
一句话总结

本文评估了在高能物理(HEP)应用的实时FPGA实现中,使用C/C++进行高层次综合(HLS)与传统HDL编码的权衡。两项案例研究——晶体识别和事件时间戳排序——表明,HLS可将开发时间减少50%,但资源使用量增加2至4倍,而时序性能相当,证明HLS尽管资源成本更高,仍是实时核科学系统的一种可行替代方案。

ABSTRACT

Real time data acquisition systems in nuclear science often rely on high-speed logic designs to reach the fast data rate requirements. They are mostly coded in a hardware description language (HDL). However, in recent years, high level synthesis (HLS) compilers have appeared, with the notable advantage that they rely on the widespread C/C++ syntax. This paper's aim is to outline differences between HDL and C/C++ HLS based designs for two real-time data acquisition modules used in nuclear science. The first module is a real-time crystal identification module, and the second is a compact event timestamp sorting module. This evaluation was done by an experienced VHDL programmer with no prior HLS training. For the crystal identification module, both HDL and HLS versions have the same event processing interval, and the HLS implementation consumes twice as many lookup tables and flip flops as the HDL version. On the other hand, the HLS version took half the time to write and debug. For the sorter module, the HLS version requires about 3 to 4 times more logic resources, with a slightly longer processing interval. It was also completed in half the time compared to the original HDL code. While different compiler directives can still be explored to improve source code clarity, resource usage and timing closure in these designs, this trial shows that HLS is a compelling alternative to custom HDL implementations for real time systems in nuclear and plasma science.

研究动机与目标

  • 评估在高能物理(HEP)应用的实时FPGA设计中,高层次综合(HLS)与手动HDL编码之间的权衡。
  • 评估HLS与HDL实现方式在开发时间、资源利用率和时序性能方面的差异。
  • 确定HLS作为实时核与等离子体科学数据采集系统中定制HDL的可行替代方案的可行性。
  • 探讨HLS在复杂高速逻辑设计中对代码可维护性和清晰度的影响。

提出的方法

  • 由一位无HLS经验的资深VHDL程序员,使用HLS(C/C++)和传统HDL(VHDL)分别实现两个实时FPGA模块。
  • 第一个模块实现了实时晶体识别;第二个模块处理紧凑型事件时间戳排序。
  • 设计在资源使用量(LUTs、触发器)、处理间隔(事件处理时间)以及开发时间(编码与调试)方面进行了评估。
  • 编译器指令未深入探讨,但其潜在优化作用已得到认可。
  • 性能以逻辑资源消耗和时序收敛为指标,结果在两种实现方式间进行了对比。

实验结果

研究问题

  • RQ1在实时HEP应用中,基于HLS的设计与传统HDL编码相比,开发时间有何差异?
  • RQ2对于相同功能,HLS与HDL实现之间的资源利用率(LUTs、触发器)有何差异?
  • RQ3HLS能否在高速数据采集系统中实现与手工编码HDL相当的时序性能(事件处理间隔)?
  • RQ4HLS在复杂FPGA设计中在多大程度上提升了代码的清晰度和可维护性?

主要发现

  • 在晶体识别模块中,HLS版本实现了与HDL版本相同的事件处理间隔,但LUTs和触发器的使用量翻倍。
  • HLS实现的晶体识别模块在编码和调试上所用时间仅为HDL版本的一半。
  • 在事件时间戳排序模块中,HLS版本的逻辑资源使用量是HDL版本的3至4倍,且处理间隔略长。
  • 尽管资源使用量更高,HLS版本的排序器开发时间仍比原始HDL代码缩短了一半。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。