Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
17 years ago

Avalon MM preformance

I just started to play with NIOS2 and its parts, and after I could get my_first_niosII.. to work, I was curious about how is the speed of pheriperials, for example the uC like PIO. This one is very slow, but I do assume that the vendor (Altera?) has put many wait states. So I created own new component as some kind of fast PIO. It was a bit faster, but not really fast. I was driving the NIOS/f on 125 Mhz, and I could get around one fourth / fifth of this speed on the bus. I've tried in burst mode too, but really could not reach better result.

Perhaps I'm too greenhorn yet to NIOS, so guys I would appreciate very much if some of you could explain me what kind of steps I need to do to get faster PIO like stuff. Target is not memory something, even not INT driven source, etc. Just simple high speed parallel data exchange.

2 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Exchanging data through an Avalon MM interface is not the fastest way. The CPU looses a lot of cycles fetching the data and writing it back. If you need a fast parallel interface, you should rather use an Avalon Stream interface.

    Have a look at the SGDMA component to read/write data from memory to an Avalon stream.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thank You for the answer! Really I'm not much surprised, I was expecting some similar reply.