Parameterized word length
Optional carry-in and carry-out signals
Multiple gate level-implementations (speed/area tradeoffs)
Behavioral simulation model in VHDL and Verilog
ACT 1, ACT 2, ACT 3, 3200DX, MX, SX, SX-A, eX, 500K, PA, Axcelerator, ProASIC3/E, Fusion
Port Description |
Port Name |
Size |
Type |
Req/Opt |
Function |
DataA |
WIDTH |
Input |
Req. |
Input Data |
DataB |
WIDTH |
Input |
Req. |
Input Data |
Cin |
1 |
Input |
Opt. |
Carry-in |
Sum |
WIDTH |
Output |
Req. |
Sum |
Cout |
1 |
Output |
Opt. |
Carry-out |
Addsub |
1 |
Input |
Req. |
Addition (AddSub = 1) or subtraction |
Parameter Description |
Parameter |
Family |
Value |
Function |
WIDTH |
500K, PA |
2-128 |
Word length of DataA, DataB and Sum |
Axcelerator |
2-156 |
||
All others |
2-32 |
||
MAXFANOUT |
500K, PA |
0 |
Automatic choice |
2-16 |
Manual setting of Max. Fanout | ||
CI_POLARITY |
ALL |
0 1 2 |
Carry-in polarity (active low, active high, and not used) |
CO_POLARITY |
ALL |
0 1 2 |
Carry-out polarity (active low, active high, and not used) |
A. The Brent-Kung Adder/Subtractor extends the ranges from 32 to 128 bit for SX, SX-A and from 20 to 128 bit for 500K
Implementation Parameters |
Parameter |
Family |
ValueJK |
Description |
LPMTYPE |
All |
LPM_ADD_SUB |
Adder category |
LPM_HINT |
500K, PA |
SKADDSUB |
Sklansky model |
FBKADDSUB |
Fast Brent-Kung model | ||
BKADDSUB |
Compact Brent-Kung model | ||
ALL |
FADDSUBA |
Very fast carry select model | |
MFADDSUBA |
Fast carry select model | ||
RIPADDSUB |
Ripple carry model | ||
LPMTYPE |
Axcelerator |
LPM_FC_ADD_SUB |
Fast carry chain Adder category |
LPM_HINT |
FC_FADDSUB |
Fast carry chain carry select model | |
FC_RIPADDSUB |
Fast carry chain ripple carry model |
A. FADDSUB and MFADDSUB are not recommended for ProASIC3/E, ProASICPLUS, or ProASIC devices.
Functional Description |
DataA |
DataB |
Addsub |
Sum |
CoutA |
m[width-1 : 0] |
n[width-1 : 0] |
(m + n + Cin )[width-1 : 0] |
(m + n + Cin)[width] |
m[width-1 : 0] |
m[width-1 : 0] |
n[width-1 : 0] |
(m - n - Cin) [width-1 : 0] |
(m - n - Cin)[width] |
m[width-1 : 0] |
A. Cin and Cout are assumed to be active high. |