Forum Discussion

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

What is the difference between 3 types of DMA: Chaining DMA, SGDMA, mSGDMA?

What is the difference between 3 types of DMA?

1). chaining dma described in AN456 ( PCI Express High Performance Reference Design )

2). sgdma described in Embedded Peripherals IP

3). modular sgdma ( msgdma ) described in AN431 ( PCI Express to External Memory

Reference Design ) and in Altera Wiki

2 Replies

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

    With a well written driver software, and suffiecently large transfers, the SGDMA IP can be less CPU intensive compared to the DMA IP. The downside of SGDMA is that the software for the SGDMA can be much more complex, and understanding how to make the CPU and the SGDMA work together in parallel takes some time; there can be some risk of race conditions if you dont have experience with this type of software. The Modular SGDMA is reported to fix some architectural anomalies in the SGDMA, but I cant comment on these specifcally as the SGDMA has been working sufficently in my application.

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

    What is really "Chaining DMA" described in AN456 ( PCI Express High Performance Reference Design )?

    Is it a kind of SGDMA or an ordinary DMA?