
Enhanced Time Processing Unit (eTPU2)
MPC5644A Microcontroller Reference Manual, Rev. 6
924
Freescale Semiconductor
C-flag. Note that if AS is 8-bit or 16-bit, its sign is taken into account and copied to C only if sign-extension
is performed.
summarizes flag updating for Absolute Value operation.
This operation is independent of B-source. Instruction fields T4BBS, BINV and CINV are ignored in this
operation. The Absolute Value operation size is the minor between A-source size and Destination size.
24.5.8.3
MAC and Divide Unit (MDU)
MDU is an autonomous resource in the microengine which can carry out sequential multiply,
multiply-accumulate, fractional multiplication and divide operations, selected through the
microinstruction fields ALUOP or ALUOPI. The unit supports signed and unsigned multiply and
fractional multiplication of any combination of 8, 16 or 24-bit operands
1
, and also signed and unsigned
24-bit multiply-accumulate. Divide operation is unsigned, and both operands are always 24-bit wide.
Depending on the size of operands and the type of operation, MDU can take more than one microcycle to
execute the operation, but microengine continues to execute microinstructions in parallel. When the
microcode issues an END command, any MDU executing operation terminate immediately and is left
incomplete. When selecting an operation that uses MDU, the result is always placed in MACH and MACL
registers, and the register selected as destination does not have its value changed (
Selecting sources and destination
). During calculations, MACH and MACL holds temporary values and
should not be written, otherwise the result is unpredictable. One must not start an MDU operation while
MDU is already busy: the result is unpredictable for both the ongoing operation and the started one.
MDU Operations update its own set of five flags, described in
Section 24.5.8.3.10, MDU Flags
operations never update C, N, V and Z flags. CIN and BINV microinstruction fields affect MDU
operations according to
Table 24-69. ALU Flags in Absolute Value operation
Operation size
V, N
1
1
V, N can be 1 on 8- and 16-bit Absolute Value, because the operand sign is always taken from bit 23.
V, N can also be 1 in 23-bit Absolute Value (or 8-bit and 16-bit with sign extension), if the operand is
0x800000 (0x80, 0x8000).
C
Z
8
alu_output[[7]
AS[23]
alu_output[7:0] == 0
16
alu_output[15]
alu_output[15:0] == 0
23
alu_output[23]
alu_output[23:0] == 0
1. There is no distinct selection of 24-bit fractional multiplication, for it works exactly as a 24-bit ordinary multiplication.
Table 24-70. CIN and BINV with MDU operations
B-source operand
BINV
CIN
Operation performed
signed
1
1
AS mdu_op BS
0
0
AS mdu_op (-BS)
1
0
reserved
0
1
reserved
Summary of Contents for MPC5644A
Page 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Page 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Page 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Page 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Page 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Page 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Page 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...