UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor rhodriross
Visitor
5,431 Views
Registered: ‎04-07-2015

ECC <72 bits

Hi,

 

Does anybody have any suggestions for implementing ECC on external DDR3 on address widths less than 72 bit, preferably 32 bit.

I see the option to include ECC using the MIG however thats using a width of 72 bits.

 

Does anybody know if I can use the LogiCore ECC IP block on the front end of my MIG generated memory controller?

 

Thanks,

Rhodri

0 Kudos
5 Replies
Xilinx Employee
Xilinx Employee
5,429 Views
Registered: ‎07-11-2011

Re: ECC <72 bits

Hi,

 

MIG supports ECC only for X72 data width, other data widths do not have this feature.

---------------------------------------------------------------------------------------------
Please do google search before posting, you may find relavant information.
Mark the post - "Accept as solution" and give kudos if information provided is helpful and reply oriented
0 Kudos
Visitor rhodriross
Visitor
5,426 Views
Registered: ‎04-07-2015

Re: ECC <72 bits

Thanks for the quick reply,

 

Do you have any suggestions on how I can achieve ECC on external RAM using a datawidth of 32 bit?

0 Kudos
Instructor
Instructor
5,397 Views
Registered: ‎08-14-2007

Re: ECC <72 bits

Just to be clear, a "72-bit" data width for ECC means 72 total bits including 8-bit ECC (Hamming code) and 64-bit data.  Do you want 32 bit data plus ECC or 32 bits including the ECC?

-- Gabor
0 Kudos
Visitor rhodriross
Visitor
5,387 Views
Registered: ‎04-07-2015

Re: ECC <72 bits

Hi Gabor,

 

The specifiation isn't set in stone however I believe that using 72 bits is going to use up too many pins and use too much board space. I was wondering if you knew of any solution using either 32-bit plus ECC bits or even 16-bit plus ECC bits.

Any help would be appreciated.

 

Thanks,

 

Rhodri

0 Kudos
Instructor
Instructor
5,380 Views
Registered: ‎08-14-2007

Re: ECC <72 bits

My thought is that you can do this two ways:

 

1) edit the MIG source to add ECC for smaller data width, for example 32 + 7 bits.  This places the ECC "under the hood" so your application code doesn't deal with it.  The down side is that you'd probably spend a long time getting acquainted with code you'd really rather get as a black box.

 

2) Use "end to end" ECC by creating a non-ECC memory of say 40 bits and doing the ECC in wrapper code.  Usually the user side data interface is 4 times the size of the memory, so you'd instantiate 4 copies of the ECC generator / checker if you wanted 32-bit data.  This approach probably rules out scrubbing, although I'm not sure if the MIG ECC does scrubbing, either.

 

[Edit] I see you also asked about the Logicore ECC.  It looks like this would be usable in your wrapper, since it can be configured for your desired data width.  It just adds a little latency (looks like 3 clocks from the block diagram).  Again, you'd need to instantiate multiple copies of this if they go in the user application-side interface to MIG.

-- Gabor