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コーディングの比較評価を行っている。2つの事例研究(結晶同定とイベントタイムスタンプのソーティング)により、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.

研究の動機と目的

  • リアルタイムFPGA設計におけるハイレベルシンセシス(HLS)と手動HDLコーディングのトレードオフを評価すること。
  • HLS実装とHDL実装の間での開発時間、リソース使用量、タイミング性能の差を評価すること。
  • 核科学およびプラズマ科学分野のリアルタイムデータ取得システムにおいて、HLSがカスタムHDLの代替手段として実現可能かどうかを検証すること。
  • HLSが複雑な高速論理設計において、コードの保守性および明確性に与える影響を調査すること。

提案手法

  • 経験豊富なVHDLプログラマー(HLS経験なし)が、C/C++によるHLSと従来のHDL(VHDL)を用いて、2つのリアルタイムFPGAモジュールを実装した。
  • 1つ目のモジュールはリアルタイム結晶同定を実行した。2つ目のモジュールはコンactなイベントタイムスタンプソーティングを処理した。
  • リソース使用量(LUT、フリップフロップ)、処理間隔(イベント処理時間)、開発時間(コーディングおよびデバッグ)の観点から設計を評価した。
  • コンパイラディレクティブは詳細には検討しなかったが、最適化の可能性は認識された。
  • 性能は論理リソース消費量とタイミングクロージャーの観点から測定され、両実装スタイル間で比較された。

実験結果

リサーチクエスチョン

  • RQ1HLSベースの設計における開発時間は、従来のHDLコーディングと比較して、リアルタイムHEPアプリケーションでどの程度異なるか?
  • RQ2同じ機能を実装する場合、HLS実装とHDL実装の間でリソース使用量(LUT、フリップフロップ)にどのような差があるか?
  • RQ3HLSは、高速データ取得システムにおける手動でコーディングされたHDLと同等のタイミング性能(イベント処理間隔)を達成できるか?
  • RQ4HLSは、複雑なFPGA設計において、コードの明確性および保守性をどの程度向上させるか?

主な発見

  • 結晶同定モジュールにおいて、HLS版はHDL版と同等のイベント処理間隔を達成したが、LUTとフリップフロップの両方で2倍のリソースを消費した。
  • 結晶同定モジュールのHLS実装は、HDL版よりも半分の時間でコーディングおよびデバッグが完了した。
  • イベントタイムスタンプソーティングモジュールにおいて、HLS版はHDL版と比較して3~4倍の論理リソースを必要とし、処理間隔もわずかに長くなった。
  • リソース使用量が高めではあるが、ソーターのHLS版は、元のHDLコードよりも半分の時間で開発が完了した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。