組み込みダイレクト・メモリー・アクセスによる高速 FIR の例

author-image

投稿者:

有限インパルス・レスポンス (FIR) フィルターは、デジタル信号プロセシング (DSP) システムで使用される一般的なアルゴリズムです。この例では、FIR フィルターが、Avalon® Memory-Mapped (Avalon-MM) 読み取りおよび書き込みホストを含む、単一 SOPC Builder コンポーネントに統合されています。読み取りホストは、入力データのフィルター供給を担当し、書き込みホストは、フィルター・レスポンスのメモリーへの書き戻しを担当します。フィルターには Avalon® ホスティング機能があるため、別のダイレクト・メモリー・アクセス (DMA) エンジンを使用してフィルター操作を実行する必要はありません。

フィルターがソフトウェアに実装されている場合、単一の出力計算を完了するのに多くのクロックサイクルが必要です。FPGA を使用すると、これらの操作すべてが同時に実行され、各クロックサイクルで最大 1 つの出力が計算されます。以下の目的で、ハードウェアに計算が複雑なアルゴリズムを実装できます。

  • 全体的なシステム・パフォーマンスを向上させる
  • Nios® II エンベデッド・プロセッサーをオフロードして、他のタスクを実行できるようにする
  • 全体的なデザイン・フリークエンシーを減少させ、消費電力を削減する

ソフトウェアをコンパイルするには、Nios® II エンベデッド・デザイン・スイート (EDS) をインストールする必要があります。これは無料でダウンロードできます。

このデザインは、フィルター操作を実行するものですが、アクセラレーターを独自のデータ変換に再利用することもできます。FIR フィルターを含む変換ブロックを削除して、独自のカスタムロジックに置き換えるだけです。DMA コントロール・ソフトウェアも再利用できます。FIR フィルターの交換についての詳細は、デザイン例の中で提供されている transform.v ファイルを参照してください。

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

  • Nios® デベロップメント・ボード、Cyclone® II または Stratix® II FPGA エディション
  • Nios® II コア: Nios® II / f デバッグ対応、4KB I キャッシュ、2 KB D キャッシュ
  • SSRAM: 2MB
  • DDR SDRAM: 32MB
  • タイムスタンプ・タイマー: 10 マイクロ秒の精度
  • JTAG UART
  • フェーズロック・ループ (PLL)
  • システム ID
  • Avalon-MM ホスト使用のカスタム FIR ハードウェア・アクセラレーター
  • また、エンベデッド・システム・デベロップメント・キット Cyclone® III エディション (3C120)、および Nios® II エンベデッド評価キット Cyclone® III エディション (3C25) もサポート

ハードウェア・アクセラレーションの結果

この例 (図 1) のハードウェア・アクセラレーターには、Nios® II プロセッサー向けにコンパイルされた同等の FIR アルゴリズムより 500 倍以上速い処理能力があります。

図 1.組み込み DMA による高速 FIR ブロック図。

このデザイン例を使用

組み込み DMA による高速 FIR のデザイン例 (.zip ファイル) をダウンロード

組み込み DMA による高速 FIR のデザイン例 readme (.txt ファイル) をダウンロード

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

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