3.2.19.3.1 Error Location

The PMECC Error Location controller provides hardware acceleration for determining roots of polynomials over two finite fields: GF(2^13) and GF(2^14). It integrates 32 fully programmable coefficients. These coefficients belong to GF(2^13) or GF(2^14). The coefficient programmed in PMERRLOC{i} is the coefficient of X ^ i in the polynomial.

The search operation is started as soon as a write access is detected in the PMECC Error Location Enable (HSMC_ELEN) register and can be disabled by writing to the PMECC Error Location Disable (HSMC_ELDIS) register. Initialize HSMC_ELEN.ENINIT with the number of galois field elements to test.

Table 3-17. ENINIT Field Value for a Sector Size of 512 Bytes
Error Correcting CapabilityENINIT Value
24122
44148
84200
124252
244408
324512
Table 3-18. ENINIT Field Value for a Sector Size of 1024 Bytes
Error Correcting CapabilityENINIT Value
28220
48248
88304
128360
248528
328640

While the PMECC engine searches for roots, the BUSY field in the PMECC Error Location Status register (HSMC_ELSR) remains asserted. An interrupt is asserted at the end of the computation, and the DONE bit in the PMECC Error Location Interrupt Status register (HSMC_ELSIR) is set. The HSMC_ELISR.ERR_CNT field shows the number of errors. The PMECC Error Location x registers (HSMC_ERRLOCx) show the error position.