Spartan-3E FPGA Family: Functional Description
DS312 (v4.1) July 19, 2013
Product Specification
46
Multiplier/Block RAM Interaction
Each multiplier is located adjacent to an 18 Kbit block RAM
and shares some interconnect resources. Configuring an
18 Kbit block RAM for 36-bit wide data (512 x 36 mode)
prevents use of the associated dedicated multiplier.
The upper 16 bits of the ‘A’ multiplicand input are shared
with the upper 16 bits of the block RAM’s Port A Data input.
Similarly, the upper 16 bits of the ‘B’ multiplicand input are
shared with Port B’s data input. See also
Figure 48,Table 27 defines each port of the MULT18X18SIO primitive.
Table 27: MULT18X18SIO Embedded Multiplier Primitives Description
Signal Name
Direction
Function
A[17:0]
Input
The primary 18-bit two’s complement value for multiplication. The block multiplies by this value
asynchronously if the optional AREG and PREG registers are omitted. When AREG and/or
PREG are used, the value provided on this port is qualified by the rising edge of CLK, subject
to the appropriate register controls.
B[17:0]
Input
The second 18-bit two’s complement value for multiplication if the B_INPUT attribute is set to
DIRECT. The block multiplies by this value asynchronously if the optional BREG and PREG
registers are omitted. When BREG and/or PREG are used, the value provided on this port is
qualified by the rising edge of CLK, subject to the appropriate register controls.
BCIN[17:0]
Input
The second 18-bit two’s complement value for multiplication if the B_INPUT attribute is set to
CASCADE. The block multiplies by this value asynchronously if the optional BREG and PREG
registers are omitted. When BREG and/or PREG are used, the value provided on this port is
qualified by the rising edge of CLK, subject to the appropriate register controls.
P[35:0]
Output
The 36-bit two’s complement product resulting from the multiplication of the two input values
applied to the multiplier. If the optional AREG, BREG and PREG registers are omitted, the
output operates asynchronously. Use of PREG causes this output to respond to the rising edge
of CLK with the value qualified by CEP and RSTP. If PREG is omitted, but AREG and BREG
are used, this output responds to the rising edge of CLK with the value qualified by CEA, RSTA,
CEB, and RSTB. If PREG is omitted and only one of AREG or BREG is used, this output
responds to both asynchronous and synchronous events.
BCOUT[17:0]
Output
The value being applied to the second input of the multiplier. When the optional BREG register
is omitted, this output responds asynchronously in response to changes at the B[17:0] or
BCIN[17:0] ports according to the setting of the B_INPUT attribute. If BREG is used, this output
responds to the rising edge of CLK with the value qualified by CEB and RSTB.
CEA
Input
Clock enable qualifier for the optional AREG register. The value provided on the A[17:0] port is
captured by AREG in response to a rising edge of CLK when this signal is High, provided that
RSTA is Low.
RSTA
Input
Synchronous reset for the optional AREG register. AREG content is forced to the value zero in
response to a rising edge of CLK when this signal is High.
CEB
Input
Clock enable qualifier for the optional BREG register. The value provided on the B[17:0] or
BCIN[17:0] port is captured by BREG in response to a rising edge of CLK when this signal is
High, provided that RSTB is Low.
RSTB
Input
Synchronous reset for the optional BREG register. BREG content is forced to the value zero in
response to a rising edge of CLK when this signal is High.
CEP
Input
Clock enable qualifier for the optional PREG register. The value provided on the output of the
multiplier port is captured by PREG in response to a rising edge of CLK when this signal is High,
provided that RSTP is Low.
RSTP
Input
Synchronous reset for the optional PREG register. PREG content is forced to the value zero in
response to a rising edge of CLK when this signal is High.
Notes:
1.
The control signals CLK, CEA, RSTA, CEB, RSTB, CEP, and RSTP have the option of inverted polarity.