Hi
When enable the error PMEM detection logic(EVE register EVE_PMEM_ED_CTL ), the status register ( EVE_PMEM_ED_STAT )will show detected PMEM error immediately??
thanks
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Below are quoted from TRM, and literally speaking, the corresponding bit should be set when and only when the error happens.
8.1.3.3.6 Memory Error Detection
EVE supports parity-based error detection for all internal data memories (including DMEM, WBUF,
IBUFLA, IBUFLB, IBUFHA, and IBUFHB) on the minimum access size granularity of 8 bits (that is, there is
1 bit of parity per byte of memory). EVE subsystem also implements double bit error detection for program
cache SRAM through a distance 3, 10-bit Hamming code. The 10-bit Hamming code is also applied to the
tag and address for a particular cache line.
When parity is enabled, write accesses to any memory cause the parity/encoding bit(s) to be calculated
for the specific write data (along with tag and address value for program cache) and written to the
corresponding encoding location. For all read accesses from any data memory, the parity bit is read and
compared against previously calculated parity for the current pattern in the memory. For program cache,
only ARP32 program fetches perform stored versus expected encoding comparison (accesses through
program cache OCP debug target port do not result in code calculation). If a mismatch occurs the error
details are recorded in parity error MMR (different for each memory - IBUF, WBUF, DMEM) and the
associated interrupt is asserted. At the same time, an OCP error response is generated.
Hi Xu,
we don't understand the meaning : For program cache, only ARP32 program fetches perform stored versus expected encoding comparison(accesses through program cache OCP debug target port do not result in code calculation)---For PMEM, is it some special configuration to set ?
Thanks!
literally understanding, "accesses through
program cache OCP debug target port do not result in code calculation" means, when APR32 is under debugging through jtag, the debug read to program cache would NOT trigger the parity code comparison. This feature only works under normal program run instead of under debug, which is totally make sense.
Hi,
One difference between DMEM, WBUF, IBUF as compared to PMEM is the later (PMEM) support 2 bits error detection ( hamming distance based) whereas others support 1 bit parity based error correction. But I am not sure why the error occurs, can you provide more information about which access to memory is resulting into the error?
Regards,
Anshu