Visible to Intel only — GUID: lad1662013853596
Ixiasoft
Visible to Intel only — GUID: lad1662013853596
Ixiasoft
26.3.2.8.4. ECC Encoder Bypass
As described in ECC Block Diagram for M20K Memory in Figure 85, for M20K blocks, 8 parity bits are generated through the ECC encoder based on 32-bit input data width, resulting in up to a total of 40 bits of data width. In On-Chip Memory II IP, user can inject and flip the parity bits by enabling ECC Encoder Bypass feature in GUI. This feature dynamically flips the parity value generated in the encoder of M20K blocks to observe the ECC behavior through simulation.
By default, the encoder bypass is disabled, eccencbypass_ena bit of the CONTROL register is 0. To enable the encoder bypass, you are required to set eccencbypass_ena bit to 1 through the AXI-4 lite interface. The 8 parity bits can be injected to M20K through PARITY_RAM0 register.
The built-in ECC encoder values are XOR-ed with the 8 parity bits inputs to generate a new set of encoder value. When the ECC Encoder Bypass enable is low, the encoder generates the parity bits according to the data input during a write process.
Parity Bit Sequence | ECC Feature | Is the ECC Decoder able to Recognize and Correct the Data Bit? |
---|---|---|
00000001 | Single-error Correction | Yes |
00000011 | Double-adjacent-error Correction | Yes |
00000111 | Triple-adjacent-error Correction | Yes |
00000101 | Triple-adjacent-error Correction | Yes |
00010011 | Non-adjacent double/triple Correction/Detection | No guarantee |
Parity [7:0] | ECC Status [1:0] | |||
---|---|---|---|---|
Internal Parity | User Parity Input | New Parity | Correctable error (e) | Uncorrectable error (ue) |
1010 0011 | 0000 0000 | 1010 0011 | 0 | 0 |
1010 0011 | 0000 0001 | 1010 0010 | 1 | 0 |
1010 0011 | 0000 0011 | 1010 0000 | 1 | 0 |
1010 0011 | 0000 0111 | 1010 0100 | 1 | 0 |
1010 0011 | 0000 0010 | 1010 0001 | 1 | 0 |
1010 0011 | 0000 0110 | 1010 0101 | 1 | 0 |
1010 0011 | 0000 1110 | 1010 1101 | 1 | 0 |
1010 0011 | 0010 1001 | 1000 1010 | X | X28 |
1010 0011 | 1111 1111 | 0101 1100 | X28 | X28 |