Errata Sheet - Infineon
Errata Sheet - Infineon
Errata Sheet - Infineon
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Errata</strong> <strong>Sheet</strong><br />
Functional Deviations<br />
cases detailed above which may lead to incorrect behaviour, one NOP<br />
instruction should be inserted prior to the load or store instruction using circular<br />
addressing mode.<br />
...<br />
LDA a8, 0xD000000E ; Address of un-aligned load<br />
LDA a12, 0xD0000820 ; Circular Buffer Base<br />
LDA a13, 0x00180014 ; Circular Buffer Limit and Index<br />
...<br />
ld.w d6, [a8] ; Un-aligned load, split 16+16<br />
add d4, d3, d2 ; Optional IP instruction<br />
nop<br />
; Bug workaround<br />
st.d [a12/a13+c], d0/d1 ; Circular Buffer wrap, 32+32<br />
...<br />
CPU_TC.109 Circular Addressing Load can overtake conflicting Store in<br />
Store Buffer<br />
In a specific set of circumstances, a load instruction using circular addressing<br />
mode may overtake a conflicting store held in the TriCore1 CPU store buffer.<br />
The problem occurs in the following situation:<br />
• The CPU store buffer contains a byte store instruction, st.b, targeting the<br />
base address + 0x1 of a circular buffer.<br />
• A word load instruction, ld.w, is executed using circular addressing mode,<br />
targetting the same circular buffer as the buffered byte store.<br />
• This word load is only half-word aligned and encounters the circular buffer<br />
wrap-around condition such that the second, wrapped, access of the load<br />
instruction to the bottom of the circular buffer targets the same address as<br />
the byte store held in the store buffer.<br />
Additionally, one of the following further conditions must also be present for the<br />
problem to occur:<br />
• The circular buffer base address for the word load is double-word but not<br />
quad-word (128-bit) aligned - i.e. the base address has bits (3:0) = 0x8 with<br />
the conflicting byte store having address bits (3:0) = 0x9, OR,<br />
• The circular buffer base address for the word load is quad-word (128-bit)<br />
aligned and the circular buffer size is an odd number of words - i.e. the base<br />
TC1767, EES-AD, ES-AD, AD 16/73 Rel. 1.4, 11.12.2009