SWRZ154 August   2023 IWR1843AOP

 

  1.   1
  2. 1Introduction
  3. 2Device Nomenclature
  4. 3Device Markings
  5. 4Advisory to Silicon Variant / Revision Map
  6. 5Known Design Exceptions to Functional Specifications
    1.     MSS#03
    2.     MSS#04A
    3.     MSS#05A
    4.     MSS#13
    5.     MSS#17
    6.     MSS#18
    7.     MSS#19
    8.     MSS#20
    9.     MSS#21A
    10.     MSS#22
    11.     MSS#23
    12.     MSS#24
    13.     MSS#25
    14.     MSS#26
    15.     MSS#27
    16.     MSS#28
    17.     MSS#29
    18.     MSS#30
    19.     MSS#31
    20.     MSS#32
    21.     MSS#33
    22.     MSS#34
    23.     MSS#35
    24.     MSS#37B
    25.     MSS#38A
    26.     MSS#39
    27.     MSS#40
    28.     MSS#42
    29.     MSS#43A
    30.     MSS#44
    31.     MSS#45
    32.     ANA#08A
    33.     ANA#09A
    34.     ANA#10
    35.     ANA#11A
    36.     ANA#12A
    37.     ANA#13B
    38.     ANA#15
    39.     ANA#16
    40.     ANA#17A
    41.     ANA#18B
    42.     ANA#20
    43.     ANA#21B
    44.     ANA#22A
    45.     ANA#24A
    46.     ANA#27
    47.     PACKAGE#02A
  7. 6Trademarks
  8. 7Revision History

MSS#35

EDMA TPTC Generates an Incorrect Address on the Read Interface, Causing one or More Data Integrity Failures, Hangs, or Extra Reads

Revision(s) Affected:

Description:

Certain scenarios could lead to an incorrect read, hang, or data integrity issues in the EDMA TPTC block. Table 5-1 shows the various scenarios and the resulting effects of each scenario.

A scenario happens, if ALL conditions listed for that scenario are satisfied (true); that is, "AND" of all conditions.

A “hang” outcome means that one or more attempts of the hang causing scenarios can progressively lead to not receiving a "transfer completion" indication from the TPTC. The last transfer attempt which does not receive the completion indication can be any transfer – any scenario transfer within this advisory or even outside of this advisory.

Table 5-1 EDMA TPTC Scenario IDs and Condition Results
SCENARIO
ID
CONDITIONSDATA
INTEGRITY
FAILURES
HANGSEXTRA
READS
1AB-sync
BCNT > 1
ACNT not in [2,4,8,16,32]
(ACNT < 64) OR ((ACNT = 64) AND (SRCBIDX != ACNT))
Source Addressing crossing 4-KB boundary for any of the BCNT number of ACNT transfers.
Yes
(see Figure 5-4)
PossiblePossible
2AB-sync with BCNT=1 or A-sync
ACNT not in [2..24, 32]
ACNT <= 64
Source Addressing crossing 4-KB boundary for any of the BCNT number of ACNT transfers.
NoPossibleYes
3AB-sync with BCNT=1 or A-sync
ACNT in [2..24, 32]
Source Addressing crossing 4-KB boundary for any of the BCNT number of ACNT transfers.
NoNoYes
(see Figure 5-1)
4AB-sync
BCNT > 1
ACNT in [2,4,8,16,32]
SRCBIDX = ACNT
ACNT * BCNT <=64
Source Addressing crossing 4-KB boundary for any of the BCNT number of ACNT transfers.
NoNoYes
(see Figure 5-2)
5AB-sync
BCNT > 1
ACNT in [2,4,8,16,32]
SRCBIDX = ACNT
ACNT * BCNT <=64
Source Addressing does NOT cross 4-KB boundary for any of the BCNT number of ACNT transfers; that is, NOT of
Source Addressing crosses 4-KB boundary for merged source array of size ACNT * BCNT.
NoNoYes
(see Figure 5-3)

Source Addressing crossing 4-KB boundary cross condition [1] in Table 5-1 is defined as follows:
[X(i) = LSB_12bits(SRC_ADDR + i * SRC_BIDX)] + ACNT > 0x1000
where 0 <= i < BCNT

Source Addressing crossing 4-KB boundary cross condition [2] in Table 5-1 is defined as follows:
LSB_12bits(SRC_ADDR) + (ACNT * BCNT) > 0x1000

For the and expressions above, note that the SRC_ADDR is candidate source address considering the C-dimension. If CCNT > 1, then, the SRC_ADDR would be every candidate source address for all CCNTs depending on the type of transfer and the SRCCIDX.

For each extra read in Scenario ID #3 for which Condition [1] is applicable, each index i above that satisfies the condition results in extra read from starting address SRC_ADDR + (i + 1) * SRCBIDX and of length equal to the distance from the start address to the boundary [that is, 0x1000 – X(i)]. Note: length < ACNT.

GUID-DBC74FEE-DBBC-4E30-A86C-66695A4C69E0-low.pngFigure 5-1 Scenario ID #3 – Extra Reads

For each extra read Scenario ID #4 in for which Condition [1] is applicable, there is an extra read from starting address SRC + BCNT * ACNT (=SRCBIDX) of length equal to the distance of the start address to the boundary [that is, length is 0x1000 – X(i)], where i is the index of one and only 4-KB boundary crossing condition. Note: length < ACNT.

GUID-40D12C10-3926-4493-911E-882E06CB78CF-low.pngFigure 5-2 Scenario ID #4 – Extra Reads

For the extra read Scenario ID #5 in for which Condition [2] is applicable, there is an extra read from starting address SRC + BCNT * ACNT (=SRCBIDX) of length equal to the distance of the start address and is of length ACNT.

GUID-643412C7-02A7-4AA8-9CFB-AC650F1A61F0-low.pngFigure 5-3 Scenario ID #5 – Extra Reads

 

GUID-59DC284B-2C40-46B8-96B8-39AA964BC35D-low.pngFigure 5-4 Scenario ID #1 – Data Integrity Failure

Workaround(s):

Workaround #1 - ALL SCENARIO IDs (see Table 5-1)

Prevent one or more of the conditions necessary for the problematic scenarios to happen.

Workaround #2 - Scenario ID #3, Scenario ID #4, and Scenario ID #5 (see Table 5-1)– EXTRA READS

For Scenario ID #3, Scenario ID #4, and Scenario ID #5– EXTRA READS, another workaround besides avoiding the 4-KB boundary cross conditions, is to ensure that buffers involved in this kind of transfer are positioned so that extra reads stay within the physical memory boundaries. If the extra reads go to Reserved space or space blocked by the Memory Protection Unit (MPU), the TPTC generates a bus error interrupt to the processor.