Adder\Subtractor

Features

Family Support

ACT 1, ACT 2, ACT 3, 3200DX, MX, SX, SX-A, eX, 500K, PA, Axcelerator, ProASIC3/E, Fusion

Description

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
(Addsub = 0)

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.