Forum Discussion

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

Move data fast inside memory

Hi.

I'm wonderng if any could expain for me how to solve my Project.

I'm an old amiga demo coder and would like to test my skills on a de2-115 board.

I have looked at the UP ip library.

The missing part is a dma controlled blitter.

I want to move an amount of data inside the memory from address a to address b length c.

I want to make a Component for qsys.

The cpu will only sett the addresses and length. And a start bit of this operaton.

I know how to make a simple Component that uses Avalon slave.

But i guess i mabie need data streaming?

I tryed to write to the addressbuss. But qsys did not like that idea.

Do you have any idea?

BR

Terje.

2 Replies

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

    There are several DMAs in QSys. The "normal" DMA, the Scatter-Gather DMA and modular sgdma (http://www.alterawiki.com/wiki/modular_sgdma).

    If you want to make your own DMA, you need at least one Avalon MM slave for control and one Avalon MM master for DMA-ing. I suggest you have a look at modular SGMDA, just to get the basic idea how does DMA work. Modular SGDMA is optimized for speed, so the implementation is quite complicated (with Avalon streaming bus and FIFOs), your DMA does not need them (at least at the beginning).