- 加算器入力 P0 に積 M、PCIN、内部入力 D、0 のいずれを入力するかは、FPOPMODE[1:0] で選択します。D が乗算器で使用する binary16 データの場合、binary32 加算器には使用できません。
- 加算器入力 P1 に P、PCIN、C、0 のいずれを入力するかは、FPOPMODE[4:2] で選択します。
- P は加算器出力です。これを P1 にループバックすると、P レジスタはアキュムレータとなります。または、プログラマブル ロジック (PL) リソースを使用して P を C にループバックすると、最大 4 レジスタ長のアキュムレータ チェーンを構成して最大 4 つの独立したスレッドを時間インターリーブできます。たとえば A からの 1 つの入力要素を、B 入力の係数を用いて 4 つのリニア フィルターで処理できます。4 つのフィルターからの結果は、4 つのアキュムレータ ループでシフトされます。4 つのフィルターは、入力 B ではすべてのサイクルでラウンドロビン方式のコンテキスト スイッチを実行しますが、A の入力要素は 4 サイクルごとに変化するため、消費電力が抑えられます。
- PCIN は、カスケード接続した下位の DSP58 の P 出力です。
- C は加算器への外部入力です。FPOPMODE[1:0] と合わせて、加算器を乗算器から独立して使用して P = C + D を計算できます。
- 入力 0 は、P0 をそのまま P へ渡すために使用します。たとえば積の総和 (ベクトル ドット積) 計算では、アキュムレータを最初の積に初期化する場合に使用します。FPOPMODE[4] は 1 本のピンでアキュムレータを初期化します。
次の表に、P1 と P0 の選択方法を示します。
表 1. FPOPMODE[4:2] による P1 の選択
FPOPMODE[4] |
FPOPMODE[3] |
FPOPMODE[2] |
P1 |
1 |
0 |
X |
P |
1 |
1 |
0 |
C |
1 |
1 |
1 |
PCIN |
0 |
X |
X |
0 |
表 2. FPOPMODE[1:0] による P0 の選択
FPOPMODE[1] |
FPOPMODE[0] |
P0 |
0 |
0 |
0 |
0 |
1 |
M |
1 |
0 |
PCIN |
1 |
1 |
D |