SPRZ580A December   2024  – October 2025 AM62D-Q1

 

  1.   1
  2.   Abstract
  3. 1Usage Notes and Advisories Matrices
    1. 1.1 Devices Supported
  4. 2Silicon Usage Notes and Advisories
    1. 2.1 Silicon Usage Notes
      1.      i2351
      2.      i2330
      3.      i2372
    2. 2.2 Silicon Advisories
      1.      i2049
      2.      i2062
      3.      i2087
      4.      i2134
      5.      i2189
      6.      i2196
      7.      i2199
      8.      i2208
      9.      i2249
      10.      i2278
      11.      i2279
      12.      i2310
      13.      i2311
      14.      i2312
      15.      i2366
      16.      i2371
      17.      i2120
      18.      i2137
      19.      i2253
      20.      i2383
      21.      i2401
      22.      i2407
      23.      i2409
      24.      i2410
      25.      i2376
      26.      i2399
      27.      i2413
      28.      i2414
      29.      i2417
      30.      i2419
      31.      i2420
      32.      i2421
      33.      i2422
      34.      i2423
      35.      i2431
      36.      i2435
      37.      i2160
      38.      i2436
      39.      i2482
      40.      i2464
      41.      i2487
      42.      i2493
  5.   Trademarks
  6.   Revision History

i2087


C71x: MMA HWA_STATUS Reports Errors Before Application Starts

Details:

Due to uninitialized internal state, the Matrix Math Accelerator (MMA) attached to the C71x may report errors in the FirstErrorCode and LastErrorCode fields of the HWA_STATUS register after power-on. Because these fields are sticky, any subsequent HWARCV instruction may throw a C71x exception.

Workaround(s):

After power-on, a short instruction sequence running on the C71x can initialize the internal MMA state before the first execution of normal MMA operation. Only one execution of the sequence is required.

The sequence generates a valid HWA_CONFIG and HWA_OFFSET value, loads it into the MMA, then clears the sticky error codes.

The sequence, in C71x assembly code is:

PROT 
    MVK32 .M2 0x0,B0 ; clear low word of VB0 
    VDUPW .C2 B0,VB0 ; duplicate word across VB0 
    HWAOPEN .L2 VB0,VB0,0 ; clear HWA_CONFIG and HWA_OFFSET 
    HWACLOSE .S1 0 ; clear any error conditions