Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12603 Discussions

MAX 10 EMIF DDR3 low transfer rate

DR123
Beginner
631 Views

Hi,

I’m working with a MAX 10 device (DECA development board) to transfer data from a FIFO to the DDR3. I’m using a Scatter Gather DMA and a EMIF DDR3 controller to transfer the data. The DMA works with a 150 MHz clock, as the Avalon MM bus of the EMIF interface. The data are correctly transferred, but it seems that are not transferred at the maximum throughput. As you can see from the image, the “avl_ready” signal from the DDR3 is always high, while the “m_write_waitrequest” that goes to the DMA is high for 4 clock cycles and low only for one for each data actually written in the DDR3. I think that the Platform Designer puts some logic between the DMA and the EMIF, because I think that the m_write_waitrequest signal should be the opposite of the avl_ready signal and transfer one data per clock cycle when avl_ready is low.

Why it happens?

0 Kudos
2 Replies
DR123
Beginner
479 Views

Sorry in the last sentence is "avl_ready is high" and not "avl_ready is low".

0 Kudos
Deshi_Intel
Moderator
479 Views

HI,

 

To isolate your issue to find the bottleneck, you can start with small design first then only slowly add more design block into it.

 

For instance :

  1. Create DDR3 only design and test the performance
  2. Then upgrade to DDR3 + DMA design (without using QSYS)
  3. Then upgrade to DDR3 + DMA design (with using QSYS)

 

Thanks.

 

Regards,

dlim

0 Kudos
Reply