ザイリンクス DSP48E ブロックは、サポートされるデバイスを使用する DSP アプリケーション用の効率的な機能ブロックです。DSP48E は、48 ビット加算器を備えた 18 x 25 ビットの符号付き乗算器とプログラム可能なマルチプレクサーを統合して、加算器の入力を選択します。
演算は動的に選択できます。オプションの入力および乗算器パイプライン レジスタと、alumode、carryin
、および opmode
ポートのレジスタを選択できます。DSP48E ブロックは、Implementation タブで Use synthesizable モデル オプションを選択すると、DSP48E ハードウェア プリミティブが含まれないデバイスをターゲットにすることもできます。
図 1. DSP48E
ブロック パラメーター
Simulink® モデルでブロックのアイコンをダブルクリックすると、[Block Parameters] ダイアログ ボックスが開きます。
- Basic タブ
-
- A or ACIN input
- A 入力を a ポートから直接取るか、カスケード
acin
ポートから取るかを指定します。acin
ポートは別の DSP48 ブロックにのみ接続可能です。 - B or BCIN input
- B 入力を b ポートから直接取るか、カスケード
bcin
ポートから取るかを指定します。bcin
ポートは別の DSP48 ブロックにのみ接続可能です。
- Pattern Detection
-
- Reset p register on pattern detection
- パターンが検出されたときに次のサイクルで p レジスタをリセットします。
- Pattern Input
-
- Pattern Input from c port
- パターン検出に使用するパターンを c ポートから読み出します。
- Using Pattern Attribute (48bit hex value)
- この値はパターン検出ロジックで使用されます。これは、加算/減算/論理ユニットの出力に対する同一性チェックです。
- Pattern attribute
- パターン検出器で使用される 48 ビット値です。
- Mask Input
-
- Mask input from c port
- パターン検出に使用するマスクを c ポートから読み出します。
- Using Mask Attribute (48 bit hex value)
- パターン検出中に特定のビットをマスクするために使用する 48 ビット値です。
- Mask attribute
- パターン検出中に特定のビットをマスクするために使用する 48 ビット値です。値 0 はビットを渡し、値 1 はビットをマスクします。
- Select rounding mask
- パターン検出器で対称丸めまたは収束丸めに使用可能な特別なマスクを選択します。選択肢は、Select mask、Mode1、および Mode2 です。
- Optional Ports タブ
-
- Input Ports
-
- Consolidate control port
-
opmode
、alumode
、carry_in
、およびcarry_in_sel
ポートを 1 つの 15 ビット ポートに統合します。ビット 0 ~ 6 は opmode ポート、ビット 7 ~ 10 はalumode
ポート、ビット 11 はcarry_in
ポート、ビット 12 ~ 14 はcarry_in_sel
ポートです。Opmode ブロックを使用して DSP48E 命令を生成する場合は、このオプションを使用する必要があります。 - Provide c port
- c ポートを有効にします。このオプションを選択しない場合、c ポートは 0 に接続されます。
- Provide global reset port
-
rst
ポートを有効にします。このポートは、パイプライン選択に基づいて、使用可能なすべてのリセット ポートに接続されます。 - Provide global enable port
- オプションの
en
ポートを有効にします。このポートは、パイプライン選択に基づいて、使用可能なすべてのイネーブル ポートに接続されます。
- Cascadable Ports
-
- Provide pcin port
-
pcin
ポートを有効にします。pcin
ポートは、別の DSP48 ブロックのpcout
ポートに接続する必要があります。 - Provide carry cascade in port
- キャリー カスケード イン ポートを有効にします。このポートは、別の DSP48E ブロックのキャリー カスケード アウト ポートにのみ接続できます。
- Provide multiplier sign cascade in port
- 乗算器の符号付きカスケード入力ポート (
multsigncascin
) を有効にします。このポートは、別の DSP48E ブロックの乗算器符号付きカスケード出力ポートにのみ接続できます。
- Output Ports
-
- Provide carryout port
-
carryout
ポートを有効にします。加減算器の動作モードが 1 つの 48 ビット加算器に設定されている場合、carryout
ポートは 1 ビット幅です。動作モードが 24 ビット加算器に設定されている場合、carryout
ポートは 2 ビット幅です。MSB は 2 番目の加算器の carryout、LSB は最初の加算器の carryout に対応します。動作モードが 12 ビット加算器に設定されている場合、carryout
ポートは 4 ビット幅で、ビットは 4 つの 12 ビット セクションに分割された 48 ビット入力に対応します。 - Provide pattern detect port
- パターン検出の出力ポートを有効にします。マスクまたは c レジスタからのパターンが一致すると、パターン検出ポートは 1 に設定されます。
- Provide pattern bar detect port
- パターン バー検出 (
patternbdetect
) 出力ポートを有効にします。マスクまたは c レジスタからのパターンの反転が一致すると、パターンバー検出ポートは 1 に設定されます。 - Provide overflow port
- オーバーフロー出力ポートを有効にします。このポートは、DSP48E の演算がビット P[N] (N = 1 ~ 46) の値を超えたことを示します。N は、GUI のマスク フィールドまたは c ポート入力で設定されたマスクの 1 の数により決定されます。
- Provide underflow port
- アンダーフロー出力ポートを有効にします。このポートは、DSP48E の演算でアンダーフローが発生したことを示します。アンダーフローは、P[N] 未満になると発生します。N は、GUI のマスク フィールドまたは c ポート入力で設定されたマスクの 1 の数により決定されます。
- Cascadable Ports
-
- Provide ACOUT port
-
acout
ポートを有効にします。acout
ポートは、別の DSP48E ブロックのacin
ポートに接続する必要があります。 - Provide BCOUT port
-
bcout
ポートを有効にします。bcout
ポートは、別の DSP48E ブロックのbcin
ポートに接続する必要があります。 - Provide PCOUT port
-
pcout
ポートを有効にします。pcout
ポートは、別の DSP48 ブロックのpcin
ポートに接続する必要があります。 - Provide multiplier sign cascade out port
- 乗算器の符号付きカスケード出力ポート (
multsigncascout
) を有効にします。このポートは、別の DSP48E ブロックの乗算器符号付きカスケード入力ポートにのみ接続でき、2 つの DSP48E から構築される 96 ビット アキュムレータ/加算器および減算器をサポートするために使用します。 - Provide carry cascade out port
- キャリー カスケード アウト ポート (
carrycascout
) を有効にします。このポートは、別の DSP48E ブロックのキャリー カスケード イン ポートにのみ接続できます。
- Pipelining タブ
-
- Pipeline Options
-
- Length of a/acin pipeline
- 入力レジスタ A のパイプラインの長さを指定します。レジスタの長さを 0 にすると、入力のレジスタが削除されます。
- Length of b/bCIN pipeline
- b または
bcin
から読み出されるb
入力のパイプラインの長さを指定します。 - Length of acout pipeline
-
a
/acin
入力とacout
出力ポート間のパイプラインの長さを指定します。パイプラインの長さを 0 にすると、acout
パイプラインの長さからレジスタが削除されます。a/acin パイプラインの長さ以下にする必要があります。 - Length of bcout pipeline
-
b
/bcin
入力とbcout
出力ポート間のパイプラインの長さを指定します。パイプラインの長さを 0 にすると、bcout パイプラインの長さからレジスタが削除されます。b/bcin パイプラインの長さ以下にする必要があります。 - Pipeline c
-
c
ポートからの入力にレジスタを付けるかどうかを示します。 - Pipeline p
-
p
およびpcout
出力にレジスタを付けるかどうかを示します。 - Pipeline multiplier
- 内部乗算器の出力にレジスタを付けるかどうかを指定します。
- Pipeline opmode
-
opmode
ポートにレジスタを付けるかどうかを示します。 - Pipeline alumode
-
alumode
ポートにレジスタを付けるかどうかを示します。 - Pipeline carry in
- キャリー イン ポートにレジスタを付けるかどうかを示します。
- Pipeline carry in select
- キャリー イン セレクト ポートにレジスタを付けるかどうかを示します。
- Reset/Enable Ports タブ
-
- Reset port for a/acin
-
rst_a
ポートを有効にします。1 に設定すると、ポート a のパイプライン レジスタがリセットされます。 - Reset port for b/bcin
-
rst_b
ポートを有効にします。1 に設定すると、ポート b のパイプライン レジスタがリセットされます。 - Reset port for c
-
rst_c
ポートを有効にします。1 に設定すると、ポートc
のパイプライン レジスタがリセットされます。 - Reset port for multiplier
-
rst_m
ポートを有効にします。1 に設定すると、内部乗算器のパイプライン レジスタがリセットされます。 - Reset port for P
-
rst_p
ポートを有効にします。1 に設定すると、出力レジスタがリセットされます。 - Reset port for carry in
- rst_carry を有効にします。1 に設定すると、キャリー インのパイプライン レジスタがリセットされます。
- Reset port for alumode
-
rst_alumode
ポートを有効にします。1 に設定すると、alumode ポートのパイプライン レジスタがリセットされます。 - Reset port for controls (opmode and carry_in_sel)
-
rst_ctrl
ポートを有効にします。1 に設定すると、opmode レジスタ (使用可能な場合) および carry_in_sel レジスタ (使用可能な場合) のパイプライン レジスタがリセットされます。 - Enable port for first a/acin register
- 最初の a パイプライン レジスタのイネーブル ポート
ce_a1
を有効にします。 - Enable port for second a/acin register
- 2 番目のパイプライン レジスタのイネーブル ポート
ce_a2
を有効にします。 - Enable port for first b/bcin register
- 最初の b パイプライン レジスタのイネーブル ポート
ce_b1
を有効にします。 - Enable port for second b/bcin register
- 2 番目の b パイプライン レジスタのイネーブル ポート
ce_b2
を有効にします。 - Enable port for c
- ポート C レジスタのイネーブル ポート
ce_c
を有効にします。 - Enable port for multiplier
- 乗算器レジスタのイネーブル ポート
ce_m
を有効にします。 - Enable port for p
- ポート P 出力レジスタのイネーブル ポート
ce_p
を有効にします。 - Enable port for carry in
- キャリー イン レジスタのイネーブル ポート
ce_carry_in
を有効にします。 - Enable port for alumode
- alumode レジスタのイネーブル ポート
ce_alumode
を有効にします。 - Enable port for multiplier carry in
- 乗算器レジスタのイネーブル ポート
mult_carry_in
を有効にします。 - Enable port for controls (opmode and carry_in_sel)
- イネーブル ポート
ce_ctrl
を有効にします。ce_ctrl
ポートは、opmode およびキャリー イン セレクト レジスタを制御します。
- Implementation タブ
-
- Use synthesizable model
- DSP48E を RTL 記述からインプリメントします。DSP48E ハードウェアに直接マップされない可能性があります。これは、DSP48E ブロックを使用するデザインを DSP48E ハードウェア プリミティブを含まないデバイス ファミリにインプリメントする場合に便利です。
- Mode of operation for the adder/subtractor
- このモードは、高速、低消費電力でロジック使用量の少ない小型の加減算機能をインプリメントするのに使用できます。加算/減算/論理ユニットの加算器と減算器は、2 つの 24 ビット フィールドまたは 4 つの 12 ビット フィールドに分割できます。これには、動作モードを [Two 24-bit adders] または [Four 12-bit adders] に設定します。
- Use adder only
- ブロックを乗算器を使用せずに最高パフォーマンスになるようにハードウェアで最適化します。シミュレーションで乗算器を使用する命令が実行された場合は、エラーがレポートされます。
このブロックで使用されるその他のパラメーターについては、[Block Parameters] ダイアログ ボックスの共通オプション を参照してください。