AR# 15686

|

6.2 System Generator for DSP - FIR および乗算器ブロックの [Hardware Over Sampling Rate] (または [Clocks per Output]) パラメータの意味

説明

キーワード : SysGen, MATLAB, Simulink, CORE, COREGen

重要度 : 標準

概要 :
FIR および乗算器ブロックで [Hardware Over Sampling Rate] パラメータは何を意味していますか。 これは CORE Generator の [Clocks per Output] と同等のパラメータですか。 このパラメータにはどのような機能がありますか。

ソリューション

System Generator の [Hardware Over Sampling Rate] と CORE Generator の [Clocks per Output] は、同じことを意味しています。 このパラメータにより影響を受けるのは、次の値です。
- ファンクションを実行するのに必要なクロック サイクル数
- インプリメントされたデザインのサイズ

基本的にこの値は、ブロックに対する入力サンプルの精度と、入力データのサンプル周波数に直接関係する 1 クロック サイクルで処理される入力サンプルのビット数との関数です。

例 1 : シリアル構造

入力データが 8 ビットの 15MHz シングル レート非対称 100 タップ DA FIR フィルタでは、CORE Generator の [Clocks per Output] 値を 2 にします (System Generator の [Hardware Over Sampling Rate] も同じ値)。 これにより、12.5MHz のサンプリング周波数を達成するため、ロジックを 120MHz で駆動するクロックが必要なフィルタが作成されます。 デザインは完全なシリアル構造になり、DA (Distributed Arithmetic) エンジンで 1 クロック サイクルにつき 1 ビットが処理され、計算には 8 クロック サイクル必要です。 フィルタのサイズは小さくなります。

例 2 : パラレル構造

入力データが 8 ビットの 100MHz のシングル レート非対称 100 タップ DA FIR フィルタでは、CORE Generator の [Clocks per Output] 値を 1 にします (System Generator の [Hardware Over Sampling Rate] も同じ値)。 これにより、100MHz のサンプリング周波数を達成するため、ロジックを 100MHz で駆動するクロックが必要なフィルタが作成されます。 デザインは完全なパラレル構造になり、1 クロック サイクルにつき 8 ビットすべてが処理され (8 つの 1 ビット DA エンジンがパラレルで動作)、 計算には 1 クロック サイクル必要です。 パラレル構造のサイズはシリアル構造よりもかなり大きくなりますが、パフォーマンスは高くなります。

例 3 : 半パラレル構造

入力データが 8 ビットの 70MHz シングル レート非対称 100 タップ DA FIR フィルタでは、CORE Generator の [クロック サイクル/出力サンプル] 値を 2 にします (System Generator の [Hardware Over Sampling Rate] も同じ値)。 これにより、70MHz のサンプリング周波数を達成するため、ロジックを 140MHz で駆動するクロックが必要なフィルタが作成されます。 このデザインでは、4 ビット DA エンジン (実際には 4 つの 1 ビット DA エンジンがパラレルで動作) が作成され、8 ビットのサンプルを処理するのに 2 クロック サイクル必要です。 デザインのサイズは、完全にシリアルなインプリメンテーションよりは大きくなりますが、完全にパラレルのインプリメンテーションよりは小さくなります。

次に、この概念を図示します。

 Illustration of the "Hardware Over Sampling" parameter effect
Illustration of the "Hardware Over Sampling" parameter effect


この図から、System Generator の [Hardware Over Sampling Rate] パラメータと CORE Generator の [Clocks per Output] パラメータは同等であり、DA FIR フィルタのサイズとパフォーマンスを直接制御するために使用できることがわかります。 同じ概念は、スライス ベースの乗算器にも適用されます。 DA FIR インプリメンテーションを使用する利点は、フィルタのパフォーマンスが MAC エンジンのようにタップ数により決まるのではなく、入力データの幅 (通常フィルタのタップ数より小さい) で決まるという点です。

このルールの重要な例外 :

対称係数

係数のインパルス レスポンスが対称に設定されている場合、DA エンジンへのデータ入力幅は 1 増加します (FIR フィルタ デザインでは、対称係数の線形相効果があるため、インパルス レスポンスが対称に設定されている場合が多い)。 これは、対称係数により達成可能なフィルタ構造の最適化によるもので、これにより必要な乗算の回数がほぼ半分になります。 この最適化が行われるようにするには、DA エンジンの前に pre-adder が必要で、これにより入力データ幅が 1 ビット増加します。

例 :

入力データが 8 ビットの 44MHz シングル レート対称 100 タップ DA FIR フィルタでは、CORE Generator の [クロック サイクル/出力サンプル] 値を 3 にします (System Generator の [Hardware Over Sampling Rate] も同じ値)。 これにより、44MHz のサンプリング周波数を達成するため、ロジックを 132MHz で駆動するクロックが必要なフィルタが作成されます。 このデザインでは、3 ビット DA エンジン (実際には 3 つの 1 ビット DA エンジンがパラレルで動作) が作成され、9 ビット (8 + 1 = 9) のサンプルを処理するのに 3 クロック サイクル必要です。

メモ : 詳細については、DA FIR v8.0 のデータシートを参照してください。

多相インプリメンテーション

分割または補間ファンクションをインプリメントする DA FIR の多相インプリメンテーションでは、フィルタは常にフィルタの低い動作周波数で動作します。 そのため、多相インプリメンテーションでは完全にパラレルのフィルタ構造を使用しないでください。

例 :

入力データが 10 ビットの 100MHz 入力サンプル レート非対称 100 タップ DA FIR フィルタを持つ 4:1 多相デシメータでは、CORE Generator の [クロック サイクル/出力サンプル] 値を 5 にします (System Generator の [Hardware Over Sampling Rate] も同じ値)。 これは、各相フィルタが 25MHz の低い周波数で動作するからです。 そのため、このフィルタをインプリメントするには、シリアル構造が使用されます。 10 ビットのサンプルは、5 つの 2 ビット DA エンジンで必要な時間内に処理されます。 相フィルタの 25MHz サンプリング周波数を達成するため、フィルタにはロジックを 125MHz で駆動するクロックが必要です。

メモ : 詳細については、DA FIR v8.0 または Multiplier Generator のデータシートを参照してください。
AR# 15686
日付 12/15/2012
ステータス アクティブ
種類 一般
People Also Viewed