This reference design implements an Error Correction Code (ECC) module for the LatticeEC™ and LatticeSC™ FPGA families that can be applied to increase memory reliability in critical applications. The ECC module provides Single Error Correction - Double Error Detection (SECDED) capability based on a class of optimal minimum oddweight error parity codes that provides better performance than typical Hamming-based SECDED codes. Several architecture options are identified that allow the user to optimally tailor the speed, resource utilization, and latency of the module implementation to their specific application requirements.
| Device | Configuration | Resource Utilization (Slices/LUTs/ Regs) | fMAX |
|---|---|---|---|
| LFEC20, -5 | Non-pipelined | 267/388/350 | 130MHz |
| LFEC20, -5 | Pipelined | 329/378/496 | 215MHz |
| LFEC20, -5 | Non-registered, logic only | 120/237/0 | - |