TC1796
System Units (Vol. 1 of 2)
System Control Unit
User’s Manual
5-37
V2.0, 2007-07
SCU, V2.0
5.5
SRAM Parity Control
In TC1796, several on-chip memory blocks are equipped with a parity error detection
logic. Each memory block as defined in
provides a parity error detection logic.
This logic asserts a parity error signal when a parity error is detected in the related
memory block. An active parity error signal sets a parity error flag, PFLx (x = 0-6). If
enabled by the specific parity enable control bit PENx, a non-maskable (NMI) is
generated.
The bits PENx (parity error x enable) and PFLx (parity error flag) are located in the
registers SCU_PETCR and SCU_PETSR respectively.
After a Boot ROM exit, the parity logic is generally enabled (initial value of
SCU_STAT.PARAV = 1), but all specific parity enable control bits PENx are cleared
(parity disabled). During normal operation of the TC1796, the SRAM parity error logic
can be generally disabled only once (PARAV clear) when the SCU_CON.RPARAV bit is
written with 1. Note that if PARAV = 0, the SRAM parity error logic cannot be enabled
anymore except by a power-on reset operation.
Before the parity logic of an SRAM memory block can be used the first time after a
power-on reset operation (before setting its SCU_PETCR.PENx enable bit), the
corresponding memories must be completely initialized by writing every memory location
of it once (exceptions: MultiCAN module memories, Program Cache Tag RAM, and
ICACHE). Otherwise, unpredictable parity errors may occur after setting its
SCU_PETCR.PENx enable bit.
Furthermore, before setting any SCU_PETCR.PENx enable bit after a power-on reset,
register SCU_PETSR should be read once to clear parity error flags, that could have
been set by parity logic tests during the Boot ROM code execution.
shows the functionality of the SRAM parity error control in the SCU.
Table 5-5
On-chip SRAM with Parity Error Detection
Module
Memory Block
Parity Error
Flag
Parity
Enable Bit
DMI
Data Memory (LDRAM, DPRAM)
PFL0
PEN0
PMI
Code Scratchpad RAM & Instruction Cache
(SPRAM, ICACHE)
PFL1
PEN1
Program Cache Tag RAM
PFL2
PEN2
DMU
Data Memory (SBRAM, SRAM)
PFL3
PEN3
PCP
Parameter RAM (PRAM)
PFL4
PEN4
Code Memory (CMEM)
PFL5
PEN5
CAN
Module memories
PFL6
PEN6