
16.1 Error Checking in the Processor

Figure 16-1 also gives values for the 8 check bits, 7:0. For instance, the 8-bit SECDED ECC code for check bit 6 is in column 6, near the right hand edge of Figure 16-1.
Figure 16-1 Check Matrix for Data ECC Code
1. Find any bits in Data(63:0) having a value of 1.
To determine this, the 16-bit hexadecimal value of 0x0000 0000 0000 0001 must be expanded to its 64-bit binary equivalent before locating the data bit(s) with a value of 1. In this case, the only 1-value in 0x0000 0000 0000 0001 is in column 0.
2. Find the check bits in column 0.
They are 0001 00112.
3. Take even parity of check bits 0001 00112.
4. This even parity value, 0001 00112, is sent out over the bus as ECC check bits, ECC(7:0).
The following example uses data with several 1-value bits: Data(63:0) = 0x0000 0000 0000 0043.
1. Expand the data to its binary equivalent in order to generate the ECC check bits.
0x0000 0000 0000 0043 has 1s in the last byte only. The last byte binary value is: 0x43 = 0100 00112.
column # 7654 3210
0x0043 = 0100 00112
Since only columns 0, 1, and 6 have 1s, they are the only columns that can generate the even parity bits.
2. Using Figure 16-1, generate even parity for the ECC check codes in columns 0, 1, and 6:
3. This parity value, 0011 11002, is sent out over the ECC(7:0) check bus.





Generated with CERN WebMaker
![]()