5.3.1.1 Port List

The following table lists the MACC_PA ports.

Table 5-12. MACC_PA Pin Descriptions
Port NameDirectionType 1PolarityDescription
DOTPInputStaticActive highDOTP mode

When DOTP = 1, MACC_PA block performs DOTP of two pairs of 9-bit operands.

• SIMD must not be 1

• C[8:0] must be connected to CARRYIN.

SIMDInputStaticActive highSIMD mode

When SIMD = 1, MACC_PA block performs dual-independent multiplication of two pairs of 9-bit operands.

DOTP must not be 1

ARSHFT17 must be 0

D[8:0] must be 0

C[17:0] must be 0

E[17:0] must be 0. For more information about how operand E is obtained from P, CDIN, or 0, see Table 3-3.

OVFL_CARRYOUT_SELInputStaticActive highGenerate OVERFLOW or CARRYOUT with result P. OVERFLOW when OVFL_CARRYOUT_SEL = 0 CARRYOUT when OVFL_CARRYOUT_SEL = 1
CLKInputDynamicRising edgeClock for A, B, C, CARRYIN, D, P, OVFL_CARRYOUT, ARSHFT17, CDIN_FDBK_SEL, PASUB, and SUB registers.
AL_NInputDynamicActive lowAsynchronous load for A, B, P, OVFL_CARRYOUT, ARSHFT17, CDIN_FDBK_SEL, PASUB, and SUB registers. Connect to 1 if not registered.

When asserted, A, B, P, and OVFL_CARRYOUT registers are loaded with zero, while the ARSHFT17, CDIN_FDBK_SEL, PASUB, and SUB registers are loaded with the complementary value of the respective _AD_N.

A[17:0]InputDynamicActive highInput data A
A_BYPASSInputStaticActive highBypass data A registers. Connect to 1 if not registered. For more information, see Table 5-14.
A_SRST_NInputDynamicActive lowSynchronous reset for data A registers. Connect to 1 if not registered. For more information, see Table 5-14.
A_ENInputDynamicActive highEnable for data A registers. Connect to 1 if not registered. For more information, see Table 5-14.
B[17:0]InputDynamicActive highInput data B to pre-adder with data D.
B_BYPASSInputStaticActive highBypass data B registers. Connect to 1 if not registered. For more information, see Table 5-14.
B_SRST_NInputDynamicActive lowSynchronous reset for data B registers. Connect to 1 if not registered. For more information, see Table 5-14.
B_ENInputDynamicActive highEnable for data B registers. Connect to 1 if not registered. For more information, see Table 5-14.
D[17:0]InputDynamicActive highInput data D to pre-adder with data B.

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

D_BYPASSInputStaticActive highBypass data D registers. Connect to 1 if not registered. For more information, see Table 5-15.
D_ARST_NInputDynamicActive lowAsynchronous reset for data D registers. Connect to 1 if not registered. For more information, see Table 5-15.
D_SRST_NInputDynamicActive lowSynchronous reset for data D registers. Connect to 1 if not registered. For more information, see Table 5-15.
D_ENInputDynamicActive highEnable for data D registers. Connect to 1 if not registered. For more information, see Table 5-15.
CARRYINInputDynamicActive highCARRYIN for input data C.
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.

C_BYPASSInputStaticActive highBypass CARRYIN and C registers. Connect to 1 if not registered. For more information, see Table 5-15.
C_ARST_NInputDynamicActive lowAsynchronous reset for CARRYIN and C registers. Connect to 1 if not registered. For more information, see Table 5-15.
C_SRST_NInputDynamicActive lowSynchronous reset for CARRYIN and C registers. Connect to 1 if not registered. For more information, see Table 5-15.
C_ENInputDynamicActive highEnable for CARRYIN and C registers. Connect to 1 if not registered. For more information, see Table 5-15.
CDIN[47:0]InputCascadeActive highCascaded input for operand E.

The entire bus must be driven by an entire

CDOUT of another MACC_PA or MACC_PA_BC_ROM block. In DOTP mode, the driving CDOUT must also be generated by a MACC_PA or MACC_PA_BC_ROM block in DOTP mode. For more information about how CDIN is propagated to operand E, see Table 3-3.

P[47:0]OutputActive highResult data. For more information, see Table 3-4.
OVFL_CARRYOUTOutputActive highOVERFLOW or CARRYOUT. For more information, see Table 3-4.
P_BYPASSInputStaticActive highBypass P and OVFL_CARRYOUT registers. Connect to 1 if not registered. For more information, see Table 5-14.
P_SRST_NInputDynamicActive lowSynchronous reset for P and OVFL_CARRYOUT registers. Connect to 1 if not registered. For more information, see Table 5-14.
P_ENInputDynamicActive highEnable for P and OVFL_CARRYOUT registers. Connect to 1 if not registered. For more information, see Table 5-14.
CDOUT[47:0]OutputCascadeActive highCascade output of result P. For more information, see Table 3-4.

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

PASUBInputDynamicActive highSubtract operation for pre-adder of B and D.
PASUB_BYPASSInputStaticActive highBypass PASUB register. Connect to 1 if not registered. For more information, see Table 5-13.
PASUB_AD_NInputStaticActive lowAsynchronous load data for PASUB register. For more information, see Table 5-13.
PASUB_SL_NInputDynamicActive lowSynchronous load for PASUB register. Connect to 1 if not registered. For more information, see Table 5-13.
PASUB_SD_NInputStaticActive lowSynchronous load data for PASUB register. For more information, see Table 5-13.
PASUB_ENInputDynamicActive highEnable for PASUB register. Connect to 1 if not registered. For more information, see Table 5-13.
CDIN_FDBK_SEL[1:0]InputDynamicActive highSelect CDIN, P or 0 for operand E. For more information, see Table 3-3.
CDIN_FDBK_SEL_BYPASSInputStaticActive highBypass CDIN_FDBK_SEL register. Connect to 1 if not registered. For more information, see Table 5-13.
CDIN_FDBK_SEL_AD_N [1:0]InputStaticActive lowAsynchronous load data for CDIN_FDBK_SEL register. For more information, see Table 5-13.
CDIN_FDBK_SEL_SL_NInputDynamicActive lowSynchronous load for CDIN_FDBK_SEL register. Connect to 1 if not registered. For more information, see Table 5-13.
CDIN_FDBK_SEL_SD_N [1:0]InputStaticActive lowSynchronous load data for CDIN_FDBK_SEL register. For more information, see Table 5-13.
CDIN_FDBK_SEL_ENInputDynamicActive highEnable for CDIN_FDBK_SEL register. Connect to 1 if not registered. For more information, see Table 5-13.
ARSHFT17InputDynamicActive highArithmetic right-shift for operand E.

When asserted, a 17-bit arithmetic right-shift is performed on operand E. For information on how operand E is obtained from P, CDIN or 0, see Table 3-3.

When SIMD = 1, ARSHFT17 must be 0.

ARSHFT17_BYPASSInputStaticActive highBypass ARSHFT17 register. Connect to 1 if not registered. For more information, see Table 5-13.
ARSHFT17_AD_NInputStaticActive lowAsynchronous load data for ARSHFT17 register. For more information, see Table 5-13.
ARSHFT17_SL_NInputDynamicActive lowSynchronous load for ARSHFT17 register. Connect to 1 if not registered. For more information, see Table 5-13.
ARSHFT17_SD_NInputStaticActive lowSynchronous load data for ARSHFT17 register. For more information, see Table 5-13.
ARSHFT17_ENInputDynamicActive highEnable for ARSHFT17 register. Connect to 1 if not registered. For more information, see Table 5-13.
SUBInputDynamicActive highSubtract operation.
SUB_BYPASSInputStaticActive highBypass SUB register. Connect to 1 if not registered. For more information, see Table 5-13.
SUB_AD_NInputStaticActive lowAsynchronous load data for SUB register. For more information, see Table 5-13.
SUB_SL_NInputDynamicActive lowSynchronous load for SUB register. Connect to 1 if not registered. For more information, see Table 5-13.
SUB_SD_NInputStaticActive lowSynchronous load data for SUB register. For more information, see Table 5-13.
SUB_ENInputDynamicActive highEnable for SUB register. Connect to 1 if not registered. For more information, see Table 5-13.
Note: (1) Static inputs are defined at design time and need to be tied to 0 or 1.
Note: SUM[49:0] is defined similarly to P[47:0] as listed in Table 3-4, except that SUM is a 50-bit quantity so that overflow does not occur. SUM[48] is the carry out bit of a 48-bit final adder that produces P[47:0].
Table 5-13. Truth Table for Control Registers ARSHFT17, CDIN_FDBK_SEL, PASUB, and SUB
AL_N_AD_N_BYPASSCLK_EN_SL_N_SD_NDQn+1
0AD_N0XXXXX!AD_N
1X0Not risingXXXXQn
1X00XXXQn
1X010SD_NX!SD_N
1X011XDD
XX1X0XXXQn
XX1X10SD_NX!SD_N
XX1X11XDD
Table 5-14. Truth Table for Data Registers A, B, P, and OVFL_CARRYOUT
AL_N_BYPASSCLK_EN_SRST_NDQn+1
00XXXX0
10Not risingXXXQn
100XXQn
1010X0
1011DD
X1X0XXQn
X1X10X0
X1X11DD
Table 5-15. Truth Table for Data Registers C, CARRYIN, and D
_ARST_N_BYPASSCLK_EN_SRST_NDQn+1
00XXXX0
10Not risingXXXQn
100XXQn
1010X0
1011DD
X1X0XXQn
X1X10X0
X1X11DD