デザインがロジックに合成されると、多くの場合、遅延ブロックが作成されます。
FIRコンパイラ II MegaCore ファンクションは、ロジック・エレメント(LE)とブ ロック・メモリ(M512、M4K、M9K、またはM144K)の間の実装のバランスをとろ うと試みます。正確なトレードオフはターゲットされたFPGAファミリに依存します が、一般に、使用される絶対的なシリコン領域を最小化するように試みます。例え ば、1つのRAMブロックが2つのロジック・アレイ・ブロック(LAB)のシリコン 領域を占有している場合、20を超えるLE(2つのLAB)を必要とする遅延は、1つ のRAMブロックとして実装されます。これは通常、適切ですが、このトレードオフ を変更する場合もあります。
表 3–5、表 3–6、表 3–7、および表 3–8に、メモリおよび乗算器のスレッショルド・
トレードオフおよびその使用例を示します。
フローのコントロール
Back Pressure Support —
バックプレッシャ・サポートをイネーブルするには、こ のオプションをオンにします。このオプションをオンに すると、シンクがそのFIFOがフルである場合、またはそ の出力ポート上に輻輳が発生した場合、データ・フロー をストップするためにソースを通知します。
リソース使用率の設定
Device Family サポートされるデバイ
スのメニュー ターゲット・デバイス・ファミリを指定します。
LEs / Small RAM Block
Threshold 整数
LEs/小型RAMブロック・スレッショルド間のリソースの バランスをビットで指定します。デフォルト値は20で
す。 詳しくは、3–6ページの「メモリおよび乗算器のト
レードオフ」を参照してください。
Small / Medium RAM
Block Threshold 整数
小型RAMブロックと中型RAMブロックのスレッショル ド間のリソースのバランスをビットで指定します。デ フォルト値は1280です。詳しくは、3–6ページの「メモ リおよび乗算器のトレードオフ」を参照してください。
Medium / Large RAM
Block Threshold 整数
中型RAMブロックと大型RAMブロックのスレッショル ド間のリソースのバランスをビットで指定します。 デ フォルト値は 1000000です。詳しくは、3–6ページの
「メモリおよび乗算器のトレードオフ」を参照してくださ い。
LEs / DSP Block Multiplier
Threshold 整数
LEs/DSPブロック乗算器のスレッショルド間のリソース
のバランスをビットで指定します。 デフォルト値は -1で す。詳しくは、3–6ページの「メモリおよび乗算器のト レードオフ」を参照してください。
表 3‒4. 実装オプション ( その2 )
パラメータ 値 説明
表 3‒5. CDelay RAM Block スレッショルド ( その1 )
説明 単純遅延LEと小型ROMブロック間のトレードオフ。使用されるLE数がこのパラメータよ り大きな遅延サイズの場合は、遅延はブロックRAMとして実装されます。
デフォルト
(-1) 20 ビット。
第 3 章 : パラメータの設定 3‒7 Implementation Options ページ
使用方法
より多くの遅延がブロックRAMを使用するためには、より小さな数を入力します(例:20 から30の値)。
より少ないブロック・メモリを使用するためには、より大きな数を入力します(例:100)。
単純遅延に対してブロック・メモリを使用しない場合は、10,000のような非常に大きな数を 入力します。
注
3サイクル未満の遅延は、ブロックRAM動作の性質により、ロジック・エレメント(LE)に 実装する必要があります。
このスレッショルドは、単純遅延をメモリ・ブロックまたはロジック・エレメントに実装す る場合にのみ適用されます。デュアル・メモリはロジック・エレメントにプッシュ・バック できません。
表 3‒5. CDelay RAM Block スレッショルド ( その2 )
表 3‒6. CDualMem Dist RAM スレッショルド
説明
小型RAMブロックと中型RAMブロック間のトレードオフ。このスレッショルドは、デュア ル・ポート・メモリにのみ適用される以外は、CDelay RAM Block Thresholdに類似していま す。
デュアル・ポート・メモリは、ロジック・エレメントではなく、常にブロック・メモリ内に 実装されますが、一部のデバイス・ファミリでは、さまざまなサイズのブロック・メモリが 使用できる場合もあります。スレッショルド値は、小型RAMメモリ・ブロックの代わりに、
どの中型RAMメモリ・ブロックを使用するかを決定します。例えば、Stratix IIIおよびStratix IVデバイス上において、MLABブロックではなくM9Kブロックを使用するかどうかを決定す るスレッショルドが挙げられます。
デフォルト
(-1) 1,280ビット
使用方法
デフォルトのスレッショルド値(-1)が設定されたStratix IIIデバイスを使用すると、1,280 ビットより大きなデュアル・メモリはM9Kとして実装され、1,280ビット以下のデュアル・
メモリはMLABとして実装されます。このスレッショルドを200などの低い値に変更する と、200ビットより大きなデュアル・メモリはM9Kとして実装され、200ビット以下のデュ アル・メモリはMLABブロックとして実装されます。
注 1種類のみのメモリ・ブロックを持つファミリ(例:M4KのみのCyclone II、またはM9Kの
みのCyclone III)の場合、このスレッショルドは、メモリ・ブロックの選択に影響しません。
表 3‒7. M-RAM スレッショルド 説明
中型RAMブロックと大型RAMブロック間のトレードオフ。より大きな遅延の場合、メモリ は中型ブロックRAM(M4K、M9K)に実装されるか、または更に大きなM-RAMブロック
(M512K、M144K)が実装に使用されます。
デフォルト
(-1) 1,000,000 ビット
使用方法
メモリ内のビット数または遅延がこのスレッショルドより大きい場合、M-RAMが実装に使 用されます。デフォルトが1,000,000ビットのような大きな値を設定すると、M-RAMブロッ クは使用されません。
3‒8 第 3 章 : パラメータの設定 Implementation Options ページ
表 3‒8. ハード・マルチプライヤ・スレッショルド
説明
ハード・マルチプライヤとソフト・マルチプライヤ間のトレードオフ。ハード・マルチプラ イヤまたはDSPブロックをサポートするデバイスの場合、ロジック・エレメントから作成さ れたソフト・マルチプライヤの代わりに、これらのリソースを使用できます。例えば、2 ビット × 10ビット乗算器はロジック・エレメントをほとんど消費しません。ハード・マルチ プライヤのスレッショルド値は、乗算器を保存するために使用されるロジック・エレメント 数に対応します。ハード・マルチプライヤのスレッショルド値が100の場合、100のロジッ ク・エレメントが使用可能です。したがって、18 × 18乗算器(およそ182 = 350ロジック・
エレメントが必要)は、スレッショルド値より多くのロジック・エレメントを必要とするた め、ロジック・エレメントに転送されません。しかし、およそ64のロジック・エレメント を必要とする16 × 4乗算器は、この設定では、ソフト・マルチプライヤとして実装されま す。
デフォルト
(-1) —
使用方法
デフォルト(-1)は、常にハード・マルチプライヤを使用することを意味します。この値の 場合、24 × 18乗算器が2つの18 × 18乗算器として実装されます。
18 × 18乗算器をハードとして保持するためには、およそ300の値を設定します。ただし、よ
り小さな乗算器をロジック・エレメントに変換します。24 × 18乗算器は、6 × 18 + 18 × 18と して実装されることに注意してください。したがって、この設定で、要求されるハイブリッ ド・マルチプライヤを構築します。
乗算器を完全にロジック・エレメントとして実装するには、およそ1,000の値を設定します。
8 × 18乗算器を使用して保存するためには、本質的に、大きな数(1,000個)のロジック・エ
レメントを使用できます。
24 × 16乗算器を36 × 36乗算器として実装するには、およそ10の値を設定します。この値で
は、加算器は、2つの乗算器を組み合わせることすらできません。したがって、システムは、
1つのDSPブロックに36 × 36乗算器を書き込む必要があります。
注
一方が定数入力の乗算器は、バランスのとれた加算器ツリーに変換されます。この変換は、
ツリーの深さが2以下の場合に自動的に行われます。深さが2を超える場合、ハード・マル チプライヤ・スレッショルドは加算器ツリーの予測サイズと比較されます。ハード・マルチ プライヤのスレッショルドは、通常、フルサイズのソフト・マルチプライヤよりはるかに低 いです。
加算器が後続する2つの定数入力ではない乗算器が単一のDSPブロックにまとめられる場 合、スレッショルドがどんなに高くても、1つの乗算器はロジック・エレメントに変換され ません。
4. 機能の説明
この章では、FIR コンパイラ II MegaCoreファンクション、そのアーキテクチャ、イ ンタフェース、機能およびインタフェースの信号について詳細に説明します。