Altera_Forum
Honored Contributor
10 years agoNios II DDR SDRAM read latency
Hi,
I’m trying to optimize RAM access from Nios II. when reading 10’000 successive words from ram using iord in a for-loop, it takes 25 clock cycles per read (without loop overhead). To me, this looks way too much; I would expect something around 10cc for random read access! I looked at many different posts and various documentation, but I can’t figure out if this is the best I can reach or if I’m doing something wrong. please give me some feedback, what minimal read latency is achievable, reading ddr sdram from nios ii. (Note: In practice I read single words, so DMA is no option.) Some additional infos:- I’m using a Cyclone III device with Nios II/f with 4kByte Instruction-Cache.
- The external RAM is a Micron DDR SDRAM (MT46V32M16BN-6IT:F).
- I use the Altera DDR SDRAM High Performance II Controller with Altmemphy.
- Memory clock is set to 90MHz and Nios - as well as all the other components in the sopc design - use the altmemddr_sysclk.
- I use Quartus 13.1.4 with Qsys (latest version to support Cyclone III).
- Compile optimization in Nios EDS is set to maximum (Level3).
- tCAS = 2cc
- tRAS = 42ns (4cc)
- tRCD = 18ns (2cc)
- tPR = 18ns (2cc)