C2H コンパイラー・マンデルブローのデザイン例

おすすめの用途:

  • デバイス: Cyclone® III

  • Quartus®: 不明

author-image

投稿者:

このマンデルブローのデザイン例では、Nios® II エンベデッド・プロセッサー C-to-Hardware (C2H) アクセラレーション・コンパイラーの使用を示します。この例では、C2H コンパイラーが、C 言語ベースのマンデルブロー・アルゴリズムの実装を、ハードウェアに変換します。また、このデザインには、動画コントローラーも含まれており、計算されたピクセル値のフルモーション動画をディスプレイ表示できます。

マンデルブロー・パターンは、その複雑なパターンおよびプロセッサー集約型の実装が理由で、特によく知られたフラクタルの 1 つになっています。アルゴリズムは複雑なプレーンで処理され、X 軸は実数部のコンポーネントを表し、Y 軸は虚数部のコンポーネントを表します。この例では、プレーンのさまざまな領域への移動を実行し、また拡大・縮小して、フルモーション動画を作成します。

この例では、ハードウェア・アクセラレーターを使用しながら、ソフトウェアで座標計算を実行することで、並列処理を最大限に活用します。これは、動画データを DDR SDRAM でトリプル・バッファリングし、Nios® II エンベデッド・プロセッサーを使用してデータフローを調整することで、実行されます。ハードウェア・アクセラレーターがフル・フレームバッファー処理するたびに、プロセッサーがそのデータを管理してベンチマーク・データをオーバーレイし、動画コントローラーに新規バッファーのディスプレイ表示準備ができたことを通知します。

このデザイン例を使用

このデザインの対象は、以下のデベロップメント・キットです。

Nios® II C2H マンデルブローのデザイン例 (.zip ファイル) をダウンロード

Nios® II C2H マンデルブローのデザイン例 readme (.txt ファイル) をダウンロード

このデザインの使用には、インテル® デザイン例ライセンス契約の条件が適用されます。

.zip ファイルには、例を再現するのに必要なすべてのソフトウェア・ファイル、および readme.txt ファイルが含まれています。readme.txt ファイルには、既存のハードウェア・デザイン対象のデザインを再構築するための手順が含まれています。

ブロック図

図 1.C2H コンパイラー・マンデルブローのデザイン例

図 1 が示しているのは、C2H コンパイラー・マンデルブローのデザイン例のブロック図です。

C2H コンパイラー加速結果

C2H コンパイラー加速のマンデルブロー・アルゴリズムでは、同じアルゴリズムをコンパイラー最速の Nios® II プロセッサーで、最適化レベル 2 (-O2) を使用して実行した場合との比較で、速度が少なくとも 60 倍向上します。この速度向上は、ハードウェアが提供できる並列処理およびファスト・イタレーションによるもので、汎用プロセシング装置では提供不可能です。