
Enhanced Time Processing Unit (eTPU2)
MPC5644A Microcontroller Reference Manual, Rev. 6
Freescale Semiconductor
939
BINV also selects between
adc
or
sbc
enhanced ALU operation, using inverted C flag as carry-in besides
BS inversion for
sbc
. Note that BINV does not invert carry in fixed-carry operations (see
Section Table 24-87., ALU Carry-In Control
).
When BINV = 0, T4BBS = 111 and CIN = 0, the value assigned to BS is 0x800000, instead of 0x0. See
Section , Generating “max” constant
, for more details.
24.5.9.2.5
Carry-in Control
) controls the carry-in for addition/subtraction operations. Functionality of
CIN field depends on the arithmetic operation selected by ALUOP. When ALUOP is not available in
microinstruction, the operation selected is
add
. For carry-in control in MDU operations, see
Generating “max” constant
When T4BBS = 111, CIN = 0 and BINV = 0, BS is assigned to 0x800000 (called “max constant”) instead
of 0x000000. This is an exception for CIN and BINV fields: when “max constant” is selected, the carry in
is 0 and B-source (“max constant” itself) is not inverted, neither the carry out.
“Max constant” is the value which, added to a time base value minus 1, gives the farthest wrapped time
base value that satisfies a channel greater-equal comparison. See
Section 24.5.5, Enhanced Channels
, for
more information.
24.5.9.2.6
Shift operations
There are three types of shift operations: ALU, post-ALU and Shift Register. ALU shift operations are
covered in
Section 24.5.9.2.10, ALU/MDU Operation Selection
. Post-ALU and Shift Register are covered
in the following sections.
Table 24-86. B-Source Inversion – BINV
BINV
Meaning
0
invert B-source
1
1
Except on max-constant selection, see
1
keep B-source bus unchanged
Table 24-87. ALU Carry-In Control
Operation
CIN = 0
CIN = 1
add
(addition)
carry-in used is 1
1
1
Except on max-constant selection, see
Section , Generating “max” constant
.
carry-in used is 0
adc
(addition with carry)
2
2
Selected by ALUOP = 11000 and BINV = 1
carry-in used is C flag
sbc
(subtraction with borrow)
3
3
Selected by ALUOP = 11000 and BINV = 0
carry-in used is inverted C flag
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...