cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
pvanecek
Contributor
Contributor
3,041 Views
Registered: ‎12-07-2010

Virtex-6 DDR3 User Interface vs Native speeds

Jump to solution

Hello, I have a quick turn around on a design using 204-pin SODIMM DDR3 RAM on a Virtex-6 and I am trying to see if I should direct my efforts on the MIG's User Interface or Native data access.

 

My application requires us to read a large amount of data previously stored in the DDR3 RAM. I was planning on having my application read at burst of 8, increment the address by 8 and then read again, continuously. Can anyone give me an estimate on the maximum data rate possible with the UI, or should I be concentrating on the Native? My concern is that the user interface may be slow because it is meant for both read and write operations, while I will only be sending reads.

 

Some background on my setup: I am using a Virtex 6 FPGA, speed grade -1, with SODIMM DDR3 operating at 400 Mhz. I am using ISE 12.1 and MIG 3.4. I'll be sending the sys_clk with a 200Mhz signal (half the DDR3 clock speed, per UG406) and a 200Mhz on the clk_ref. Maximum data rate from the DDR3 should be 800 MTs (2 x 400Mhz), which would be great if I could get it, but I need a minimum of 200 MTs.

 

Thank you,

Peter.

0 Kudos
1 Solution

Accepted Solutions
jschmitz
Xilinx Employee
Xilinx Employee
3,169 Views
Registered: ‎10-23-2007

Both the native and UI interface will provide good performance for streaming reads.  They should have basically the same performance.

 

The native interface provides the lowest possible latency and has no buffering.  When writing, you are expected to provide the data at exactly the correct time.  When reading, the data comes out with no buffering.  You need to be ready to grab the data as it appears.  It won't be held anywhere.  Additionally, the native interface will at times provide the data out of order depending on the reordering it did on the memory bus.  It will provide a tag that indicates which read command it corresponds to, but it will not be guaranteed to be in order.  Some systems can tolerate this but others cannot.

 

It sounds like your application is better suited to the UI interface but you have the choice to best match your needs.

 

View solution in original post

0 Kudos
1 Reply
jschmitz
Xilinx Employee
Xilinx Employee
3,170 Views
Registered: ‎10-23-2007

Both the native and UI interface will provide good performance for streaming reads.  They should have basically the same performance.

 

The native interface provides the lowest possible latency and has no buffering.  When writing, you are expected to provide the data at exactly the correct time.  When reading, the data comes out with no buffering.  You need to be ready to grab the data as it appears.  It won't be held anywhere.  Additionally, the native interface will at times provide the data out of order depending on the reordering it did on the memory bus.  It will provide a tag that indicates which read command it corresponds to, but it will not be guaranteed to be in order.  Some systems can tolerate this but others cannot.

 

It sounds like your application is better suited to the UI interface but you have the choice to best match your needs.

 

View solution in original post

0 Kudos