The Hard Multiplier Accumulator for SmartFusion2, IGLOO2, and RTG4 supports normal (Figure 1) and
dot product (Figure 2) multiplication. Blue registers indicate control signals; brown registers are for data.
Figure 1 • Normal Multiplier Accumulator
Figure 2 • Dot Product Multiplier Accumulator
Key Features
The Hard Multiplier Accumulator supports two operating modes: Normal and Dot Product.
•A structural netlist is generated in either Verilog or VHDL
•Individual inputs and outputs can be optionally registered with:
– A common rising edge clock
– Independent active-low asynchronous and synchronous clear controls
– Independent active-high enable controls
•An additional cascade output CDOUT can be enabled. This is the sign-extended 44 bit copy of
output P
•An additional Carry In input can be enabled
3
Page 4
•An additional Carry Out or Overflow output can be enabled.
• Normal Mode Features:
– Configurable operand widths for A0 and B0 between 2 and 18
– Configurable operand width for C between 2 and 44
– Optional as signment of operand A0 to an 18 bit two's complement constant
– Optional assignment of operand C to a 44 bit two’s complement constant
– Option to select between Multiplier followed by Adder, Subtractor or dynamic AddSub
– Optional Arithmetic Right Shift by 17 bits of the feedback input
•Dot Product Mode Features:
– Configurable operand widths for A0, B0, A1, B1 between 2 and 9.
– Configurable operand width for C between 2 and 35.
– Optional assignment of operand A0 and A1 to a 9 bit two's complement constant
– Optional assignment of Operand C to a 35 bit two’s complement constant
4
Page 5
1 – SmartDesign
The Hard Multiplier Accumulator for SmartFusion2, IGLOO2, and RTG4 is available for download from
the Libero® SoC IP Catalog via the web repository. Once listed in the Catalog you can double-click the
macro to configure it in SmartDesign. For information on using SmartDesign to configure, connect, and
generate cores, see the Libero SoC online help.
Figure 1-1 • Hard Multiplier Accumulator Configuration Options - Normal Mode
After configuring and generating the macro instance, you can simulate basic functionality. The macro can
then be instantiated as a component of a larger design.
6
Page 7
2 – Core Parameters
Table 2-1 lists the Normal mode Hard Multiplier Accumulator settings; Table 2-2 lists the Dot Product
mode settings.
Table 2-1 • Hard Multiplier Accumulator Normal Mode Configuration Description
NameValid RangeDescription
Multiplier Functions
FunctionMultiplier
Accumulator
(Adder)
Multiplier
Accumulator
(Subtractor)
Multiplier
Accumulator
(Adder/Subtractor)
Input Port A0
Use ConstantSets input port A0 to constant
17
Constant Value (Hex) -2
Width2 to 18Width of input port A0; if shorter than 18 bits it is sign-extended. For
Register PortRegisters input port A0 (if A0 is not set to constant)
Input Port B0
Width2 to 18Width of input port B0; if shorter than 18 bits it is sign-extended. For
to (217 - 1)Two's complement value of A0, if A0 is constant. Values shorter than
The Multiplier Accumulator with Adder/Subtractor exposes the SUB
control signal, which enables you to dynamically toggle between an
add or subtract operation.
18 bits are padded with zeros. Negative values must be a full 18 bits
wide. For example, 0x1FFFF means +131071 (2
means -1
example, if the width is 8, a value of 0x7F means +127 and a value of
0xFF means -1
example, if the width is 8, a value of 0x7F means +127 and a value of
0xFF means -1.
17
- 1), while 0x3FFFF
Register PortRegisters input port B0
Input Port C
Use ConstantSets input port C to constant
43
Constant Value (Hex) -2
Width2 to 44Width of input port C; if shorter than 44 bits it is sign-extended. For
Carry InCarry in for C (if C is not set to constant)
to (243 - 1)Two's complement value of C, if C is constant. Values shorter than 44
bits are padded with zeros. Negative values must be a full 44 bits wide.
example, If the width is 8, a value of 0x7F means +127 and a value of
0xFF means -1.
7
Page 8
Table 2-1 • Hard Multiplier Accumulator Normal Mode Configuration Description (continued)
NameValid RangeDescription
Register PortRegisters input port C and Carry In (if C is not set to constant)
Input Port ARSHFT17
Right Shift of
Feedback input is arithmetic right-shifted by 17 if selected
Feedback Input
Register PortRegisters ARSHFT17 control signal
Input Port SUB
Register PortRegisters control input port SUB when Multiplier Accumulator with
Adder/Subtractor option is selected
Output Port P
Register PortAlways SelectedRegisters output port P, CDOUT and Overflow/CarryOut
Overflow/CarryOutNone, Overflow,
Select the output port function to include in the module interface
Width2 to 9Width of input port B0; if shorter than 9 bits it is sign-extended. For
example, if the width is 8, a value of 0x7F means +127 and a value of
0xFF means -1.
Register PortRegisters input port B0
Input Port B1
Width2 to 9Width of input port B1; if shorter than 9 bits it is sign-extended. For
example, if the width is 8, a value of 0x7F means +127 and a value of
0xFF means -1.
Register PortRegisters input port B1
Input Port C
Use ConstantSets input port C to constant
35
Constant Value (Hex) -2
to (235 - 1)Two's complement value of C, if C is constant. Values shorter than 35
bits are padded with zeros. Negative values must be a full 35 bits wide.
Width 2 to 35Width of input port C; if shorter than 35 bits it is sign-extended. For
example, if the width is 8, a value of 0x7F means +127 and a value of
0xFF means -1.
Carry InCarry in for C (if C is not set to constant)
Register PortRegisters input port C and Carry In (if C is not set to constant)
Output Port P
Register PortAlways selectedRegisters output port P, CDOUT, and Overflow/CarryOut
Overflow/CarryOutNone, Overflow,
Select the output port function to include in the module interface
CarryOut
9
Page 10
3 – Port Description
The figures below display the Hard Multiplier Accumulator input and output ports for Normal mode
(Figure 3-1) and Dot Product mode (Figure 3-2). Only a subset of the ports is used in any given Hard
Multiplier Accumulator configuration.
Figure 3-1 • Hard Multiplier Accumulator Ports, Normal Mode
Figure 3-2 • Hard Multiplier Accumulator Ports, Dot Product Mode
10
Page 11
Table 3-1 lists the Hard Multiplier Accumulator port signals fo r Normal mode.
Table 3-1 • Hard Multiplier Accumulator Ports - Normal Mode
SignalDirectionDescription
A0 InputInput data A0, 2- 18 bits wide
B0 InputInput data B0, 2- 18 bits wide
CInputInput data C, 2- 44 bits wide
CLKInputInput clock for all registers
A0_ACLR_NInputAsynchronous reset for data A0 registers
A0_SCLR_NInputSynchronous reset for data A0 registers
A0_ENInputEnable for data A0 registers
B0_ACLR_NInputAsynchronous reset for data B0 registers
B0_SCLR_NInputSynchronous reset for data B0 registers
B0_ENInputEnable for data B0 registers
C_ACLR_NInputAsynchronous reset for data C, Carry In registers
C_SCLR_NInputSynchronous reset for data C, Carry In registers
C_ENInputEnable for data C, Carry In registers
CARRYINInputCarry In input for operand C
ARSHFT17_ACLR_N InputAsynchronous reset for ARSHF T17 register
ARSHFT17_SCLR_N InputSynchronous reset for ARSHF T17 register
ARSHFT17_ENInputEnable for ARSHFT17 register
SUB_ACLR_NInputAsynchronous reset for input control SUB registers
SUB_SCLR_NInput Synchronous reset for input control SUB registers
SUB_ENInputEnable for input control SUB registers
SUBInputInput control signal to select between add or subtract operation
P_ACLR_NInputAsynchronous reset for result P, CDOUT, Overflow/Carryout registers
P_SCLR_NInputSynchronous reset for result P, CDOUT, Overflow/Carryout registers
P_ENInputEnable for result P, CDOUT, Overflow/Carryout registers
POutputPn = Pn-1 + CARRYIN + C + (A0 * B0) when SUB = 0
Pn = Pn-1 + CARRYIN + C - (A0 * B0) when SUB = 1
OVERFLOWOutputWhen high, indicates that the result exceeded the width of output P.
OVERFLOW = (P[45] ^ P[44]) | (P[44] ^ P[43])
11
Page 12
Table 3-1 • Hard Multiplier Accumulator Ports - Normal Mode (continued)
SignalDirectionDescription
CARRYOUTOutputThis bit can be used to extend the adder in the fabric.
CARRYOUT = C[43] ^ D[43] ^ P[44]
CDOUTOutput
Cascade
Cascade output of result P. CDOUT is a copy of P, sign-extended to 44
bits. The entire bus must either be dangling or drive an entire CDIN of
another MATH block in Normal mode.
Table 3-2 lists the Hard Multiplier Accumulator port signals fo r Dot Product mode.
A0InputInput data A0, 2- 9 bits wide
B0InputInput data B0, 2- 9 bits wide
A1InputInput data A1, 2- 9 bits wide
B1InputInput data B1, 2- 9 bits wide
CInputInput data C, 2- 35 bits wide
CLKInputInput clock for all registers
A0_ACLR_N InputAsynchronous reset for data A0 registers
A0_SCLR_N InputSynchronous reset for data A0 registers
A0_ENInputEnable for data A0 registers
B0_ACLR_N InputAsynchronous reset for data B0 registers
B0_SCLR_N InputSynchronous reset for data B0 registers
B0_ENInputEnable for data B0 registers
A1_ACLR_N InputAsynchronous reset for data A1 registers
A1_SCLR_N InputSynchronous reset for data A1 registers
A1_ENInputEnable for data A1 registers
B1_ACLR_N InputAsynchronous reset for data B1 registers
B1_SCLR_N InputSynchronous reset for data B1 registers
B1_ENInputEnable for data B1 registers
C_ACLR_NInputAsynchronous reset for data C, Carry In registers
C_SCLR_NInputSynchronous reset for data C, Carry In registers
C_ENInputEnable for data C, Carry In registers
CARRYINInputCarry In input for operand C
P_ACLR_NInputAsynchronous reset for result P, CDOUT, Overflow/Carryout registers
P_SCLR_NInputSynchronous reset for result P, CDOUT, Overflow/Carryo ut registe r s
P_ENInputEnable for result P, CDOUT, Overflow/Carryout registers
POutputPn = Pn-1 + CARRYIN + C + (A0 * B0) + (A1*B1)
OVERFLOW OutputWhen high, indicates that the result exceeded the width of output P.
OVERFLOW = (P[36] ^ P[35]) | (P[35] ^ P[34])
CARRYOUT OutputThis bit can be used to extend the adder in the fabric.
CARRYOUT = C[34] ^ D[34] ^ P[35]
CDOUTOutput
Cascade
Cascade output of result P. CDOUT is a sign-extended copy of P. The entire bus
must either be dangling or drive an entire CDIN of another MATH block in Dot
Product mode.
13
Page 14
A – Product Support
Microsemi SoC Products Group backs its products with various support services, including Customer
Service, Customer Technical Support Center, a website, electronic mail, and worldwide sales offices.
This appendix contains information about contacting Mi crosemi SoC Products Group and using these
support services.
Customer Service
Contact Customer Service for non-technical product support, such as product pricing, product upgrades,
update information, order status, and authorization.
From North America, call 800.262.1060
From the rest of the world, call 650.318.4460
Fax, from anywhere in the world, 408.643.6913
Customer Technical Support Center
Microsemi SoC Products Group staffs its Customer Technical Support Center with highly skilled
engineers who can help answer your hardware, software, and design questions about Microsemi SoC
Products. The Customer Technical Support Center spends a great deal of time creating application
notes, answers to common design cycle questions, documentation of known issues, and various FAQs.
So, before you contact us, please visit our online resources. It is very likely we have already answered
your questions.
Technical Support
Visit the Customer Support website (www.microsemi.com/soc/support/search/default.aspx) for more
information and support. Many answers available on the searchable web resource include diagrams,
illustrations, and links to other resources on the website.
Website
You can browse a variety of technical and non-technical information on the SoC home page, at
www.microsemi.com/soc.
Contacting the Customer Technical Support Center
Highly skilled engineers staff the Technical Support Cen te r. The Technical Support Center can be
contacted by email or through the Microsemi SoC Products Group website.
Email
Y ou can communicate your technical questions to our email address and receive answers back by email,
fax, or phone. Also, if you have design problems, you can email your design files to receive assistance.
We constantly monitor the email account throughout the day. When sending your request to us, please
be sure to include your full name, company name, and your contact information for efficient processing of
your request.
The technical support email address is soc_tech@microsemi.com.
14
Page 15
My Cases
Microsemi SoC Products Group customers may submit and track technical cases online by going to My
Cases.
Outside the U.S.
Customers needing assistance outside the US time zones can either contact technical support via email
(soc_tech@microsemi.com) or contact a local sales office. Sales office listings can be found at
For technical support on RH and RT FPGAs that are regulated by International Traffic in Arms Regulations
(ITAR), contact us via soc_tech_itar@microsemi.com. Alternatively, within My Cases, select Yes in the ITAR
drop-down list. For a complete list of ITAR-regulated Microsemi FPGAs, visit the ITAR web page.
Microsemi Corporation (Nasdaq: MSCC) offers a comprehensive portfolio of semiconductor
and system solutions for communications, defense and security, aerospace, and industrial
markets. Products include high-performance and radiation-hardened analog mixed-signal
integrated circuits, FPGAs, SoCs, and ASICs; power management products; timing and
synchronization devices and precise time solutions, setting the world's standard for time; voice
processing devices; RF solutions; discrete components; security technologies and scalable
anti-tamper products; Power-over-Ethernet ICs and midspans; as well as custom design
Microsemi Corporat e Headquarters
One Enterprise, Aliso Viejo,
CA 92656 USA
Within the USA: +1 (800) 713-4113
Outside the USA: +1 (949) 380-6100
Sales: +1 (949) 380-6136
Fax: +1 (949) 215-4996
capabilities and services. Microsemi is headquartered in Aliso Viejo, Calif. and has
approximately 3,400 employees globally. Learn more at www.microsemi.com.
Microsemi makes no warranty, representation, or guarantee regarding the information contained herein or
the suitability of its products and services for any particular purpose, nor does Microsemi assume any
liability whatsoever arising out of the application or use of any product or circuit. The products sold
hereunder and any other products sold by Microsemi have been subject to limited testing and should not
be used in conjunction with mission-critical equipment or applications. Any performance specifications are
believed to be reliable but are not verified, and Buyer must conduct and complete all performance and
other testing of the products, alone and together with, or installed in, any end-products. Buyer shall not rely
on any data and performance specifications or parameters provided by Microsemi. It is the Buyer's
responsibility to independently determine suitability of any products and to test and verify the same. T he
information provided by Microsemi hereunder is provided "as is, where is" and with all faults, and the entire
risk associated with such information is entirely with the Buyer. Microsemi does not grant, explicitly or
implicitly, to any party any patent rights, licenses, or any other IP rights, whether with regard to such
information itself or anything described by such information. Information provided in this document is
proprietary to Microsemi, and Microsemi reserves the right to make any changes to the information in this
document or to any products and services at any time without notice.
5-02-00369-1/04.15
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.