3.3 Functional Description

Math blocks are arranged in rows in the FPGA fabric and can be cascaded in a chain, starting from the left-most block to the right-most block within a row.

The following figure shows the simplified block diagram of the Math block.

Figure 3-1. Simplified Functional Block Diagram of Math Block

The following table lists the ports of the Math block.

Table 3-1. Port List for Math Block
Port NameDirectionTypePolarityDescription
A[17:0]InputDynamicActive highInput data for operand A when USE_ROM = 0
ARSHFT17InputDynamicActive highArithmetic right-shift for operand E.

When asserted, a 17-bit arithmetic right-shift is performed on operand E

B[17:0]InputDynamicActive highInput data B to pre-adder with data D
B2[17:0]OutputDynamicActive highPipelined output of input data B. Result P must be floating when B2 is used.
BCOUT[17:0]OutputCascadeActive highCascade output of B2. Value of BCOUT is the same as B2. The entire bus must either be dangling or drive an entire B input of another MACC_PA or MACC_PA_BC_ROM block.
C[47:0]InputDynamicActive highInput data C

When DOTP = 1, connect C[8:0] to CARRYIN.

When SIMD = 1, connect C[8:0] to 0.

CLKInputDynamicRising edgeClock for A, B, C, CARRYIN, D, P, OVFL_CARRYOUT, ARSHFT17, CDIN_FDBK_SEL, PASUB, and SUB registers
CARRYINInputDynamicActive highCARRYIN for input data C
CDIN[47:0]InputCascadeActive highCascaded input for operand E

The entire bus must be driven by an entire CDOUT of another Math block. In Dot-product mode, the driving CDOUT must also be generated by a Math block in Dot-product mode.

CDIN_FDBK_SEL[1:0]InputDynamicActive highSelect CDIN, P, or 0 for operand E
CDOUT[47:0]OutputCascadeActive highCascade output of result P

Value of CDOUT is the same as P. The entire bus must either be dangling or drive an entire CDIN of another Math block in cascaded mode.

D[17:0]InputDynamicActive highInput data D to pre-adder with data B

When SIMD = 1, connect D[8:0] to 0.

OVFL_CARRYOUTOutputActive highOVERFLOW or CARRYOUT
P[47:0]OutputActive highResult data
PASUBInputDynamicActive highSubtract operation for pre-adder of B and D
ROM_ADDR[3:0]InputDynamicActive highAddress of ROM data for operand A when USE_ROM = 1
SUBInputDynamicActive highSubtract operation
Note: For information about asynchronous reset, synchronous reset, bypass, and enable signal details for each input/output register, see Table 5-17.