DS255 March 1, 2011 www.xilinx.com 3
Product Specification
LogiCORE IP Multiplier v11.2
CORE Generator Graphical User Interface Parameters
The Multiplier core GUI has several pages with fields to set parameter values for the particular instantiation
required. This section provides a description of each GUI field.
• Component Name: The name of the core component to be instantiated. The name must begin with a letter and
be composed of the following characters: a to z, 0 to 9, and “_”.
• Multiplier Type: Select between parallel and constant-coefficient multiplier options.
• Input Options: Select the required operand widths and whether the operands represent two’s complement
signed or unsigned data.
• Parallel Multiplier Options: These options are visible only when the multiplier type chosen is Parallel
Multiplier.
• Multiplier Construction: Allows the choice of LUTs or dedicated multiplier primitives to be selected for
the core implementation.
• Optimization Options:
- XtremeDSP slice and MULT18X18 multipliers: Speed or area optimization can be selected for
multiplier sizes up to 47x47. Speed optimization makes full use of multiplier primitives to provide the
highest performance implementation. Area optimization uses a mixture of slice logic and dedicated
multiplier primitives to reduce MULT18X18/XtremeDSP slice utilization, while still providing
reasonable performance. For sizes above 47x47, only optimization for speed is allowed.
- LUT-based multipliers: For FPGA devices with LUT6s, area and speed optimization is offered. Area
optimization allows reduced latency and LUT utilization, at the expense of achievable clock frequency.
The area optimization is most effective when both input operands are unsigned. Speed optimization
implements the same architecture for both LUT4 and LUT6 based FPGA devices.
• Constant-Coefficient Multiplier Options: These options are visible only when the multiplier type chosen is
Constant-Coefficient Multiplier.
• Coefficient: Enter the integer value of the coefficient within the limits of the range shown. Positive and
negative coefficients are supported. The input type (signed or unsigned) for the constant (B) port is
automatically configured by the GUI based on the integer constant entered. The user may select whether
the A port is signed or unsigned.
• Memory Options: Select if the multiplier should be implemented with distributed memory, block
memory, or using embedded multiplier blocks.
• Output Product Range: The GUI automatically configures the output product width to represent the full
product, based on the widths of the input operands.
• Use Custom Output Width: The number of product bits can be customized if only a portion of the full
product is required for an application by setting the MSB and LSB range.
• Use Symmetric Rounding: For XtremeDSP slice-based parallel multipliers, the product can be
symmetrically rounded towards infinity if required. This is the same behavior as the MATLAB® software
round function. The multiplier must fit on exactly one XtremeDSP slice (maximum signed operand widths
of 25x18 for Kintex-7, Virtex-7, Virtex-6 and Virtex-5, and 18x18 for Virtex-4 devices), and the LSB of the
product must lie within the full-range product width.
• Pipelining and Control Signals
:
• Pipeline Stages: Select the level of pipelining for the multiplier instance. The label on the right provides
feedback on the optimum number of pipeline stages for maximum performance. The core assumes that all
inputs are registered.
- Pipeline Stages = 0 implies that the core is combinatorial.
- Pipeline Stages = 1 implies that only the core output is registered.