組込みHPC

近年になって組込みエレクトロニクスが爆発的に発展しました。その多くには、10年前のデスクトップコンピュータの性能を超える非常に高性能なマイクロプロセッサが組み込まれています。スマートフォンがその一例ですが、他にも例は数多くあります。コンピュータビジョン、車載システム、UAV(ドローン)、セキュリティカメラ、およびネットワークセキュリティなどは、組込みエレクトロニクスを組み込むカテゴリのほんの一部です。ただし、食べると食欲が出てくるというように、ソフトウェアエンジニアが現在開発しようとしているアプリケーションは数年前には想像すらされなかったこともできますが、組込みプロセッサの計算能力は使い尽くされています。デスクトップコンピュータの場合もそうでしたが、プロセスの微細化が進んだりCPUコアの数が増えたりしても問題の解決にはつながりません。そのため、組込みHPCにはアルゴリズム・アクセラレータが必要とされています。こうしたアプリケーションは組込みであるために、本質的に消費電力が非常に問題となります。バッテリー駆動機器であるためだけでなく、厳しい動作環境があるために、チップ内の回路は高温の中で動作する上に非常に発熱します。

 

FPGAで組込みアプリケーションを高速化

CPUコアとFPGAをペアにして組み込んだシステム・オンチップ(SoC)が、処理能力を次の段階に飛躍させます。FPGAメーカーはこのチャンスを認識して、すでにXilinx Zynqのようなチップをリリースしています。このデバイスはデュアルコアのARM A9 SoCとカスタム・コプロセッサやアクセラレータのプログラミング用のFPGAロジックを共存させています。

Aldec TySOMアルデックはXilin Zynqを搭載した新シリーズのボード「TySOM」をリリースしています。このボードは複雑な計算をするアプリケーションを実行し、ARMコアと同じシングルダイに共存したFPGAを活用してアルゴリズムの中で計算負荷の高い部分を高速処理しますので、組込みシステムの評価やプロトタイピングに適しています。

 

主な特徴

· TySOM-2ボード

  - Xilinx Zynq 7000シリーズの中の大規模デバイス: XC7Z045またはXC7Z100

· 最大444,000ロジックセル、2,020 DSPスライス

  - デュアルコアARM Cortex-A9 APU、1GB DDR3メモリ

  - カスタムハードウェアアクセラレータ、ペリフェラル制御ロジックなどに使えるプログラマブルロジック(PL)

  - オンボードのヒューマンインタフェースデバイス(HID)用コネクタ: USB2.0, Ethernet, HDMI

· RTL開発環境

· RTLポーティングサービス

 

ソリューションの内容

· Aldec TySOM EDK: TySOM-2ボード

· 技術文書、チュートリアル、ホワイトペーパー

· SDSoCハードウェアプラットフォーム・パッケージ(Board Support Package - BSP)

· RTLポーティングサービスのカスタムエンジニアリング

 

リファレンスデザインとサービス

短期間での開発のためにアルデックは組込みLinuxと、色々なペリフェラルやアプリケーションアルゴリズムを高速化するプログラマブルロジック(FPGA)などから構成されたリファレンスデザイン を多種類用意しています。FPGAを活用した組込みHPCの利点は分かるもののチームとしてハードウェアを扱った経験に乏しい方々には、アルデックのカスタムエンジニアリングサービスでその溝を埋めることができます。弊社はFPGAハードウェアの設計・検証で長い経験があり、短期間でシステムを完成させたり、すぐに使えるリファレンスデザインに自分のアルゴリズムを組み込んだりする際にアドバイスが可能です。

 

組込みHPCのデザインフロー

組込みHPCデザインフローの例では、Xilinx Vivado HLSとXilinx SDKでC言語からFPGAにコンパイルしますが、他のツールで処理しても問題ありません。

Example HPC Design Flow

高速化するプログラム(アルゴリズム)は2つに分割されます。1つはアクセラレータで、もう1つはホスト上で動作します。こうしたパーティショニングは、Cコードのどの部分で計算負荷が高いかを示すプロファイリングをもとに行うことができます。FPGAで高速化するCコードの部分が決まったら、Xilinx Vivado HLSでCからVerilogまたはVHDLのRTLコードに変換します。このコードはさらに自動処理(合成・インプリメント)ができるようになっています。Vivado HLS以外にも、アルデックのパートナーであるNECのCyber Workbenchなどでもこの処理を行えます。

次の段階では、Xilinx Vivado IP IntegratorでZynq ARMサブシステムの設定をして、Vivado HLSから作成したRTL IPをそのサブシステムに入れ込みます。Zynq ARMサブシステムもRTL IPも標準のAMBA AXIインタフェースを持っているので、統合はシステムレベル・ブロックダイアグラム・エディタで使いやすいGUIから実行できます。ハードウェアデザイン全体はアルデックの高性能なRTLシミュレータであるRiviera-PROを利用します。

次のステップはXilinx Vivadoで実行し、全自動です。ここで行うのは合成とインプリメントで、FPGAハードウェアコンフィグレーションのビットストリームを生成します。何がインプリメントされたかを元にして、Vivadoはハードウェア記述を生成します。これはカスタムの組込みLinuxのイメージとドライバとソフトウェアスタックを作成する際の入力データとなります。

Xilinx Software Development Kit (SDK) は組込みソフトウェア開発用ツール兼カスタムハードウェアプラットフォームへの統合用ツールです。この段階で、ハードウェアと組込みLinuxとユーザーアプリケーションを含むソフトウェアが完成し、そのイメージをMicro SDカードにアップロードすることができます。最後に、TySOMボードを起動し、組込みLinuxのブート後にユーザーアプリケーションを実行します。

Ask Us a Question
x

Ask Us a Question

x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.