How to verify ECC

I’m validating my DDR3 design. Everything looks great! It makes me happy.

However, when I short DQ1 to ground the linux kernel panics. With ECC enabled, that should not happen.

Can someone point me toward some documentation on how to test the ECC functionality of Cyclone V ECC memory?

Oh and I found the ECC demo on this very site, however it is from 8 years ago and I really don’t want to try to make it work with modern u-boot. I really don’t.


I know ECC is working. When I short D1 to ground, the kernel stays running. However, the linux kernel does not appear to deal with EDAC correctly on Cyclone V.

The kernel panics because the EDAC scrub code accesses an illegal memory location when trying to scrub the ECC errors.

This is a bad behavior.

I have asked the linux kernel EDAC guys for help, but they haven’t responded.

I’ve already monkeyed with the kernel for three months to get the PCIe NVMe controller working. I spent about two months monkeying with u-boot to boot from the NVMe controller. So, I have no real desire to debug the linux kernel EDAC code.

I’m going to put off fixing the kernel for a bit so I can spin my board. I might be able to get help from the linux guys at my company as well when they are less busy. Hopefully when I revisit this in the future, I’ll have better luck getting help.