
Enhanced Time Processing Unit (eTPU2)
MPC5644A Microcontroller Reference Manual, Rev. 6
928
Freescale Semiconductor
MDU Zero Flag – MZ
In multiply and multiply-accumulate operations, MDU zero flag is asserted if MACH and MACL are equal
to zero at the end of an operation. In divide operations, zero flag is asserted if MACL (result) is equal to 0.
MDU Overflow Flag – MV
In multiply operations, MV flag is negated and keeps negated in the end, because the result of a
multiplication can always fit in a 48-bit result (MACH and MACL concatenated). In a
multiply-accumulate operation, MV is asserted if the result size is wider than 48 bits. MV flag work in
both signed and unsigned operations.
In divide operations it is only asserted if a divide-by-zero operation was executed.
MDU Busy Flag (MB)
MB tests as true at the next microinstruction after the MDU start operation, and as false at the last
microcycle of any MDU operation execution.
24.5.8.4
Branch Conditions
Microengine allows conditional branch. There are five sets of flags that can be tested in a conditional
branch: ALU flags, MDU flags, P flags, Channel flags, and Semaphore flag (flag SMLCK).
When a thread starts to be executed, the values in MDU and ALU flags are not initialized. ALU flags are
described in
. MDU flags are described in
Section 24.5.8.3.10, MDU Flags
MDU and ALU flags are updated during execution of microinstructions.
P flags are actually the upper byte of P register, which optionally can work as user defined flags (see
Section 24.5.8.1.1, P Register
Channel flags Flags0, Flag1, MRLA, MRLB, TDLA, TDLB, PSS, PSTI and PSTO are obtained from the
selected channel (value in CHAN register), while channel flags, LSR, FM[0] and FM[1] are selected by
the serviced channel, regardless of the CHAN value
1
.
Flags TDLA/B, MRLA/B, LSR, FM[1:0] and PSS, are sampled at the beginning of a thread. Flag PSS does
not change during its execution while CHAN register is not written. When a write in CHAN register is
performed, all flags except LSR and FM[1:0] are updated according to the channel specified by CHAN
value. Flags MRLA/B and TDLA/B are reset when their respective latches in channel are cleared by
microcode.
1. Serviced channel does not change during execution of a thread, and it is the channel that requested a service (initial value of
CHAN register when a thread starts).
Table 24-71. Channel flags as branch condition
Flag
Description
Service or selected channel
Flag0
State Resolution flag
Reflects the selected channel (CHAN)
Flag1
State Resolution flag
Reflects the selected channel (CHAN)
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...