4 ビットの ALUMODE は、2 段目の加算器/減算器/論理ユニットの動作を制御します。ALUMODE = 0000
では、加算動作 Z + (W + X + Y + CIN) が選択されます。CIN は CARRYIN マルチプレクサーの出力です (図 1 参照)。ALUMODE = 0011
では、減算動作 Z – (W + X + Y + CIN) が選択されます。ALUMODE = 0001
では –Z + (W + X + Y + CIN) – 1 が実装されます。ALUMODE = 0010
では –(Z + W + X + Y + CIN) – 1 が実装されます。これは、not (Z + W + X + Y + CIN) と等価です。2 の補数は、ビット単位で反転して 1 を加算することで負の値に変換できます (例: –k = not (k) + 1)。
DSP 演算 | OPMODE[8:0] | ALUMODE[3:0] | |||
---|---|---|---|---|---|
3 | 2 | 1 | 0 | ||
Z + W + X + Y + CIN | 任意の有効な OPMODE |
0
|
0
|
0
|
0
|
Z – (W + X + Y + CIN) | 任意の有効な OPMODE |
0
|
0
|
1
|
1
|
–Z + (W + X + Y + CIN) – 1 = not (Z) + W + X + Y + CIN | 任意の有効な OPMODE |
0
|
0
|
0
|
1
|
not (Z + W + X + Y + CIN) = –Z – W - X – Y – CIN - 1 |
任意の有効な OPMODE |
0
|
0
|
1
|
0
|
|