New Multiplication
Started
16×16
?
MAC or MACS
?
MPYSAT=1
?
Clear Result:
RES1 = 00000h
RES0 = 00000h
Perform 16×16
MPY or MPYS
Operation
Yes
No
Yes
No
Yes
No
MPYFRAC=1
?
non-fractional
32-bit Saturation
Shift 64-bit result.
Calculate SUMEXT based on
MPYC and bit 15 of
unshifted RES1.
MPYSAT=1
?
Yes
No
Yes
No
Multiplication
completed
MPYSAT=1
?
Clear Result:
RES3 = 00000h
RES2 = 00000h
RES1 = 00000h
RES0 = 00000h
Yes
No
Yes
No
MPYFRAC=1
?
non-fractional
64-bit Saturation
MPYSAT=1
?
Yes
No
Yes
No
Perform 16×16
MAC or MACS
Operation
Perform
MAC or MACS
Operation
Perform
MPY or MPYS
Operation
MAC or MACS
?
32-bit Saturation
64-bit Saturation
Shift 64-bit result.
Calculate SUMEXT based on
MPYC and bit 15 of
unshifted RES3.
MPY32 Operation
281
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
32-Bit Hardware Multiplier (MPY32)
Figure 5-5. Multiplication Flow Chart