
www.ti.com
Usage Notes and Known Design Exceptions to Functional Specifications
Advisory FPU: FPU Register Read Following MPYF32, ADDF32, SUBF32, or MACF32
Revision(s) Affected 0, A, B
Details This advisory applies when a multi-cycle (2p) FPU instruction is followed by a FPU-to-
CPU register transfer. If the FPU-to-CPU read instruction source register is the same as
the 2p instruction destination, then the read may be of the value of the FPU register
before the 2p instruction completes. This occurs because the 2p instructions rely on
data-forwarding of the result during the E2 phase of the pipeline. If a pipeline stall
happens to occur in the E3 phase, the result does not get forwarded in time for the read
instruction.
The 2p instructions impacted by this advisory are MPYF32, ADDF32, SUBF32, and
MACF32. The destination of the FPU register read must be a CPU register (ACC, P, XT,
XAR0…XAR7). This advisory does not apply if the register read is an FPU-to-FPU
register transfer.
In the example below, the 2p instruction, MPYF32, uses R6H as its destination. The
FPU register read, MOV32, uses the same register, R6H, as its source and a CPU
register as the destination. If a stall occurs in the E3 pipeline phase, then the MOV32 will
read the value of RH6 before the MPYF32 completes.
Example of Problem:
MPYF32 R6H, R5H, R0H || MOV32 *XAR7++, R4H ; 2p FPU instruction that writes
; to R6H
F32TOUI16R R3H, R4H ; delay slot
ADDF32 R2H, R2H, R0H || MOV32 *--SP, R2H ; alignment cycle
MOV32 @XAR3, R6H ; FPU register read of R6H
Workaround(s) Treat MPYF32, ADDF32, SUBF32, and MACF32 in this scenario as 3p-cycle
instructions. Three NOPs or non-conflicting instructions must be placed in the delay slot
of the instruction.
The C28x code generation tools V6.0.5 and later check for this scenario.
Example of Workaround:
MPYF32 R6H, R5H, R0H || MOV32 *XAR7++, R4H ; 3p FPU instruction that writes
; to R6H
F32TOUI16R R3H, R4H ; delay slot
ADDF32 R2H, R2H, R0H || MOV32 *--SP, R2H ; delay slot
NOP ; alignment cycle
MOV32 @XAR3, R6H ; FPU register read of R6H
25
SPRZ357J–August 2011–Revised July 2014 F28M35x Concerto™ MCU Silicon Errata
Submit Documentation Feedback
Copyright © 2011–2014, Texas Instruments Incorporated
Comentarios a estos manuales