Nios® II C2H コンパイラー画像回転デザイン例

author-image

投稿者:

Nios® II C-to-Hardware アクセラレーション・コンパイラー (C2H コンパイラー) 画像回転のデザイン例では、Nios® II C2H コンパイラーを使用して、ハードウェアの画像回転アルゴリズムを高速化する方法を示します。デザイン例には、ハードウェアとソフトウェアの両方が含まれています。

この例のハードウェア部分は、SOPC Builder で作成され、フラッシュメモリーからビットマップ・イメージを読み取り、RAM 内で画像を回転し、回転した画像をシンクロナス SRAM 内にあるディスプレイ・フレームバッファーに書き込むのに必要な、周辺機器が含まれています。また、ハードウェアのデザインには、回転アルゴリズムの速度を計測するパフォーマンス・カウンター、および計測結果を報告する JTAG UART も含まれています。

この例のソフトウェア部分は、C 言語で書かれた Nios® II インテグレーテッド・デベロップメント・エンバイロメント (IDE) プロジェクトです。このプロジェクトに含まれているメインループは、画像回転機能を 360 回呼び出し、角度の数字を増加させて、画像をイタレーションごとに回転させるものです。回転した出力画像は、オプションで Nios® II デベロップメント・ボード向けの KROS LCD 子カードに表示できます。

ハードウェアのデザイン仕様

  • ボードのサポート: Nios® デベロップメント・ボード、Cyclone® II エディション
  • Nios® II コア: Nios® II /f、デバッグ対応、4KB の I キャッシュ、8KB の D キャッシュ
  • オンチップ RAM: 12KB
  • オフチップ・シンクロナス SRAM: 1MB
  • 共通フラッシュ・インターフェイス (CFI) フラッシュメモリー・インターフェイス: 8MB
  • コンパクトフラッシュ・インターフェイス: 1
  • SDRAM コントローラー: 32MB
  • JTAG UART - 1
  • タイマー: 1
  • カラー LCD コントローラー: 1
  • システム IDペリフェラル: 1
  • パフォーマンス・カウンター: 1

図 1.Nios® II C2H 画像回転システムのブロック図。

C2H アクセラレーション結果

この例では、C2H コンパイラーが画像回転アルゴリズムを高速化し、最速の Nios® II エンベデッド・プロセッサーで実行すると、最適化なしでコンパイルされたソフトウェア (-O0) の 57 倍速で実行できるようになります。最大限の最適化でコンパイルしたソフトウェア (-O3) との比較では、C2H コンパイラーにより加速したアルゴリズムは 24 倍速で実行されます。

このデザイン例を使用

Nios® II C2H 画像回転デザイン例 (.zip ファイル) をダウンロード。

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

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