[論文レビュー] A Comparison of High-Level Design Tools for SoC-FPGA on Disparity Map Calculation Example
本稿では、SoC-FPGAを用いた差分マップ計算の高速化のための高水準設計ツールとして、Vivado HLSとAltera SDK for OpenCLを評価している。両ツールともに、大幅な開発時間短縮を実現するが、Vivado HLSはより細かい制御が可能で、ハードウェアの専門知識が求められる一方、OpenCLはよりアクセスしやすく、同等の性能を得るためにより多くのFPGAリソースを消費する。
Modern SoC-FPGA that consists of FPGA with embedded ARM cores is being popularized as an embedded vision system platform. However, the design approach of SoC-FPGA applications still follows traditional hardware-software separate workflow, which becomes the barrier of rapid product design and iteration on SoC-FPGA. High-Level Synthesis (HLS) and OpenCL-based system-level design approaches provide programmers the possibility to design SoC-FGPA at system-level with an unified development environment for both hardware and software. To evaluate the feasibility of high-level design approach especially for embedded vision applications, Vivado HLS and Altera SDK for OpenCL, representative and most popular commercial tools in market, are selected as evaluation design tools, disparity map calculation as targeting application. In this paper, hardware accelerators of disparity map calculation are designed with both tools and implemented on Zedboard and SoCKit development board, respectively. Comparisons between design tools are made in aspects of supporting directives, accelerator design process, and generated hardware performance. The results show that both tools can generate efficient hardware for disparity map calculation application with much less developing time. Moreover, we can also state that, more directives (e.g., interface type, array reshape, resource type specification) are supported, but more hardware knowledge is required, in Vivado HLS. In contrast, Altera SDK for OpenCL is relatively easier for software programmers who is new to hardware, but with the price of more resources usage on FPGA for similar hardware accelerator generation.
研究の動機と目的
- SoC-FPGA上で埋め込みビジョン応用に適した高水準合成およびOpenCLベースの設計の実現可能性を評価すること。
- 開発効率、ハードウェア性能、リソース使用量の観点から、Vivado HLSとAltera SDK for OpenCLを比較すること。
- 高水準設計ツールにおけるハードウェア制御の精度とプログラマーのアクセス性のトレードオフを評価すること。
- SoC-FPGA開発ワークフローにおける設計ツール選定に実用的な知見を提供すること。
提案手法
- Zedboardを用いて、Vivado HLSを用いて差分マップ計算のアクセラレータを実装した。
- SoCKit開発ボードを用いて、同じアプリケーションをAltera SDK for OpenCLを用いて実装した。
- サポートされるディレクティブ、開発プロセスの複雑さ、生成されたハードウェアの性能に基づいて、両ツールを評価した。
- 両アクセラレータの性能およびリソース使用量(LUT、BRAM、DSP)を測定した。
- 一貫性のある比較を確保するため、標準的な差分マップ計算アルゴリズムをターゲットアプリケーションとした。
- 開発時間、リソース消費量、性能指標の観点から比較を実施した。
実験結果
リサーチクエスチョン
- RQ1Vivado HLSとAltera SDK for OpenCLは、SoC-FPGA設計における開発時間と使いやすさの面でどのように異なるか?
- RQ2差分マップ計算における、Vivado HLSとOpenCLで生成されたアクセラレータの性能差は何か?
- RQ3両ツールは、インターフェースタイプや配列の再配置といったハードウェア最適化ディレクティブのサポートにおいて、どのように異なるか?
- RQ4同等の性能を得るために、OpenCLはHLSに比べてどれほどリソース使用量が多くなるか?
- RQ5事前のハードウェア知識の有無が、各ツールの効果性にどの程度影響を及えるか?
主な発見
- Vivado HLSとAltera SDK for OpenCLの両方とも、従来のハードウェア・ソフトウェア共同設計ワークフローに比べて、開発時間を大幅に短縮できる。
- Vivado HLSは、インターフェースタイプ、配列の再配置、リソースタイプといったより低レベルのディレクティブをサポートしているが、ハードウェアの深い知識が求められる。
- Altera SDK for OpenCLは、ハードウェアに不慣れなソフトウェア開発者にとってよりアクセスしやすいが、同等の性能を得るためにより多くのFPGAリソースを消費する。
- 両ツールで生成されたアクセラレータは、差分マップ計算において効率的な性能を発揮し、高水準設計が埋め込みビジョン用途に適していることを裏付けた。
- Vivado HLSは、ハードウェア生成におけるより精確な制御により、より優れたリソース効率を実現している。
- OpenCLベースの設計は、ハードウェアの複雑さを抽象化するが、リソース使用量が増加するため、生産性と効率性のトレードオフが顕在化している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。