CINT18 モードで複素乗算アルゴリズムを完全に実装するには両方の DSP58 の前置加算器と乗算器を連携動作させる必要があるため、有効なパイプライン コンフィギュレーションは限られます。DSPCPLX UNISIM では各パイプライン段をユーザーから見えるようにプログラムできます。ただし、無効な属性値を指定するとソフトウェア DRC が発生するため、属性の設定を変更する必要があります。次の 2 つの表に、複素数モードで入力のバランスがとれている場合と、プログラマブル ロジックで入力のバランスをとる必要がある場合の有効な属性値を示します。これらの表に示した以外の入力パイプラインの組み合わせはすべて無効で、オペランドが正しく並ばず無効な結果となります。その次の図は、複素 MACC の概略ブロック図です。
注記: *_A および *_B で表される共役入力は、これらが実数部および虚数部ではなく 2 つの複素入力に対するものであることを示します。また、ラベル A_RE、B_RE、A_IM、および B_IM は信号の物理的なソースを示しています。内部では、これらの信号は両方の DSP58 に入力されます。
AREG_RE | BREG_RE | ADREG | AREG_IM | BREG_IM | 説明 | CONJUGATE 入力 (RE、IM) に必要なレジスタ遅延 2 | レイテンシ (入力ピンから MREG 入力まで) |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 有効なケース、すべてのレジスタをバイパス | 0 | 0 |
1 | 1 | 0 | 1 | 1 | 有効なケース、バランスのとれたパイプライン 1 | 1 | 1 |
2 | 2 | 1 | 2 | 2 | 有効なケース、完全パイプライン モード | 1 | 2 |
|
AREG_RE | BREG_RE | ADREG | AREG_IM | BREG_IM | 説明 1 | CONJUGATE 入力 (RE、IM) に必要なレジスタ遅延 2 | レイテンシ (入力ピンから MREG 入力まで) |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | A_RE、B_RE、A_IM 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 0 | 1 (B_IM ピンから) |
0 | 1 | 0 | 0 | 0 | A_RE、B_IM、A_IM 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 0 | 1 (B_RE ピンから) |
0 | 1 | 0 | 0 | 1 | A_RE、A_IM 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 0 | 1 (B_RE および B_IM ピンから) |
1 | 0 | 0 | 1 | 0 | B_RE、B_IM 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 1 | 1 (A_RE および A_IM ピンから) |
1 | 0 | 0 | 1 | 1 | B_RE 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 1 | 1 (A_RE、A_IM および B_IM ピンから) |
1 | 1 | 0 | 1 | 0 | B_IM 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 1 | 1 (A_RE、B_RE、A_IM ピンから) |
1 | 2 | 0 | 1 | 0 | BREG_IM 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 1 | 1 (A_RE、B_RE、A_IM ピンから) |
1 | 0 | 0 | 1 | 2 | BREG_RE 入力は、ロジックで 1 クロック サイクル分のバランスをとる必要があります。 | 1 | 1 (A_RE、A_IM、B_RE ピンから) |
|
図 1. CINT18 モードの 18 × 18 複素乗算器および 58 + 58 複素アキュムレータの概略ブロック図
DSPCPLX 構成での CE の使用
次に、DSPCPLX 構成での CE の使用について説明します。
- バランスのとれたパイプライン (ケース 2)
- CEA1 と CEB1 (_RE/_IM) のみで正しく機能します。
- 完全パイプライン (ケース 3)
- 正しく機能させるには、CEA1、CEA2、CEB1 および CEB2 が必要です。
- ACOUT/BCOUT を外部に引き出して次の DSPCPLX にカスケード接続したパス
- ACASCREG と BCASCREG は、属性 の属性設定の説明の表に従って設定します。
- ACASCREG = 1
- 正しく機能させるには、CEA1 が必要です。
- ACASCREG = 2
- 正しく機能させるには、CEA2 が必要です。
- BCASCREG
- 正しく機能させるには、CEB2 が必要です。ただし BCASCREG=1 かつ BREG=2 の場合は CEB1 が必要です。