Multiplier

Features

Family Support

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

For information on the Fast Carry Chain associated with the Axcelerator device, click here.

Description

Port Description

Port Name

Size

Type

Req/Opt

Function

DataA

WIDTHA

Input

Req.

Input data

DataB

WIDTHB

Input

Req.

Input data

Clock

1

Input

Opt.

Clock

Mult

WIDTHA+WIDTHB

Output

Opt.

DataA*DataB

Mult0

WIDTHA+WIDTHB

Output

Opt.

Mult0 + Mult1 = DataA*DataB

Mult1

WIDTHA+WIDTHB

Output

Opt.

Parameter Description

Parameter

Family

Value

Function

WIDTHA A

500K, PA, Axcelerator

2-64

Word length of DataA

eX

2-14

Other

2-30

WIDTHB

Same as WIDTHA

Word length of DataB

REPRESENTATION

 

UNSIGNED SIGNED

Data representation

FFTYPE B

ALL except Flash

REGULAR TMR

CC

FF Type Used (Default, Triple Voting, Combinatorial)

CLK_EDGE

 

RISE FALL

Clock (if pipelined)

A. For some of the multiplier variations there are small deviations from the limits mentioned to ensure that the multiplier fits in the largest device of the selected family.

 

B. TMR: Triple Module Redundancy. Choosing this option makes SmartGen use TMR Flip-Flops which are used to avoid Single Event Upsets (SEUs) for Rad-hard Designs. Choosing this option causes the Sequential resource usage to be tripled in families where no TMR is implemented in silicon.
CC: When combinatorial option is chosen for the Sequential Type, the FF is implemented using two Combinatorial Cells instead of one Sequential Cell. This is useful when no Sequential resources are available in the designs.

This option is applicable only to the pipelined multipliers.

Functional Description

DataA

DataB

Mult1 A

m

n

m * n

A. If pipelined, the sum is correct (available) after <latency> cycles. Latency is a function of WIDTHA and WIDTHB, or the number of pipelined stages mentioned specifically (e.g. 1 or 2 pipelines).

Functional Description

DataA

DataB

Mult0/1 A

m

n

Mult1 + Mult2 = m * n

A. Mult1<0> is always 0

Parameter Rules A

Family

Variation

Parameter rules

All

All

WIDTHA Š WIDTHB

eX

BOOTHMULT/P

WIDTHA + WIDTHB <= 15 (signed) / 16 (unsigned)

BOOTHMULTP

For TMR restrictions for WIDTHA, WIDTHB

BOOTHMULT2

WIDTHA + WIDTHB <= 17 (signed) / 18 (unsigned)

SX/SX-A

BOOTHMULT/P

WIDTHA + WIDTHB <= 32

BOOTHMULT2

WIDTHA + WIDTHB <= 55

Axcelerator

ARRAYMULT

WIDTHA + WIDTHB <= 128

PARRAYMULT

WIDTHA + WIDTHB <= 128

FC_BOOTHMULT1

WIDTHA + WIDTHB <= 106

FC_BOOTHMULT1

WIDTHA + WIDTHB <= 106

500K, PA

All

WIDTHA + WIDTHB <= 106

Other

All

WIDTHA + WIDTHB <= 32

A. These are the most important parameter rules; additional rules may apply.

Implementation Parameters

Parameter

Value

Description

LPMTYPE

LPM_MULT

Multiplier category

LPM_HINT

BOOTHMULT

Booth multiplier

BOOTHMULT2

Booth multiplier without final Adder

BOOTHMULTP A

Pipelined booth multiplier

LPMTYPE

LPM_FC_MULT

Fast Carry multiplier category (Axcelera­tor) B

PARRAYMULT

Fast Carry array multipliers in parallel.

Each array multipliers consists of 1-bit Multipliers (MULT1); the rows of the array use fast carry chains, but there is regular routing between columns.

FCBOOTHMULT1

Booth-encoded Wallace-tree with Fast Carry final adder

FCBOOTHMULT2

Booth-encoded multiplier with n-bit Fast Carry adder tree

A. Available for SX, SX-A, eX, 500K and PA (ProASIC)

B. For information on multiplier area and performance please refer to the latest Actel application note available at http://www.actel.com

In the Architecture Comparison tables below, WIDTHA = WIDTHB.

Axcelerator Multiplier Architecture Comparison: Speed

Architecture/Speed

1 (fastest)

2

3 (slowest)

Parallel-2 Array Multiplier

 width <= 8 bit

 8 bit < width <= 10 bit

width > 10 bit

FC Booth-1

 8 bit < width <= 20 bit

 width <= 8 bit or width > 20 bit

 

FC Booth-2

 width > 20 bit

 10 bit < width <= 20 bit

width <= 10 bit

Axcelerator Multiplier Architecture Comparison:Area

Architecture/Speed

1 (smallest)

2

3 (largest)

Parallel-2 Array Multiplier

 always

 

 

FC Booth-1

 

 

always

FC Booth-2

 

always

 

Advanced Options

Click the Advanced button (available for PA, 500K, and Axcelerator devices) to specify pipeline stages. If you are using a PA or 500K device, you can insert (default setting) or omit the final Adder stage.

Omitting the Final Adder

You can choose not to instantiate the final adder in the multiplier and add up the two buses Mult0 and Mult1  to the final result later in the design flow. This is often the most efficient implementation when a lot of partial results get summed up in a large summation network. The figure below shows an example for Y = (A x B) + C + D using the multiplier with two outputs in combination with the Array-Adder.

Efficient implementation using the two-output multiplier in combination with the Array-Adder

Multiplier Pipelining

For ProASIC, ProASICPLUS, and Axcelerator devices you can specify the number of pipeline stages (1, 2, or 3). However, three pipeline stages increases performance only for high bitwidth. Click the Advanced button in the GUI to access pipelining.

Functional Description

Pipeline Stages

WidthB

 

 

w/ Final Adder

w/o Final Adder

1

>= 2

>= 5

2

>= 5

>= 7

3

>= 7

Not applicable

For ACT 2, ACT 3, 3200DX, MX, SX, SX-A, and eX  the multiplier architecture does not allow you to select the latency of the pipelined multiplier or the number of logic levels between the pipeline stages. Registers are automatically inserted between the major components of the architecture, primarily the multiplexor and adder cores, as shown in the figure below.

Booth Multiplier Architecture (Pipeline)

The number of pipeline stages is a function of the width of the DataB input. The number of logic levels per pipeline stage is a function of the width of the DataA input. Therefore, the number of logic levels per pipeline stage is equal to the number of logic levels of the first adder (WIDTHA + 1) plus 1 for the 4 to 1 multiplexor, as shown in the figure above.

Pipeline Stages as a Function of WidthB

WidthB Range

Pipeline Stages

2

0

3-4

1

5-8

2

9-16

3

Logic Levels per Pipeline Stage as a Function of WidthA

WidthA Range

Logic Levels

2-5

3

6-17

4

18-29

5

 

For more information on the Fast Carry-Chain cores available with the Axcelerator family, please refer to Fast Carry Chains (Axcelerator only).