SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The EVE error detection includes two basic modes of operation by setting the EN bit in the EVE_<MEMORY>_ED_CTRL (EVE_PMEM_ED_CTL, EVE_DMEM_ED_CTL, EVE_WBUF_ED_CTL and EVE_IBUF_ED_CTL) register, as listed in Table 8-7.
Mode | Description |
---|---|
EN | Error detection logic is enabled. Writes update parity. Reads check parity. |
DIS | Error detection logic is disabled and can be clock gated. Writes do not modify parity. Reads do not check parity. |
No parity valid bit exists in addition to a parity state bit. After an existing reset, the ED logic is in disabled state. In this mode the parity RAMs are clock gated to minimize power consumption (though state must be retained). When transitioning to enable state, the underlying SRAM + Parity is in a state that may result in parity mismatch.
For ARP32 program cache, the program cache automatically goes through an Invalidate All sequence; during this time the ARP32 program cache fetch path is stalled. After all lines are invalidated, any subsequent ARP32 request is serviced as cache miss. The newly fetched cacheline is written to PMEM along with valid hamming code bits, and subsequent cache hits check the parity for each instruction fetch. For debug and configuration accesses, the parity and encoding bits are not checked. Debug software uses the tag state to produce an appropriate visual for debug purposes.
For data memory (DMEM, WBUF, and IBUF), it is possible (though not recommended for functional and nontest software) for ARP32, VCOP, or DMA to read a memory location for which the parity bit is not set. After enabling EVE_<DMEM, WBUF, or IBUF>_ED_CTL for the corresponding memory, software must initialize all of the memory, which results in setting a valid parity bit. After this, any parity mismatch results in error signaling, as summarized in the previous sections.