cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Newbie
Newbie
289 Views
Registered: ‎04-04-2020

DMA and MIG block

Jump to solution

I have two general questions-

1. Why do we need to configure the AXI DMA core in SDK? This is not required for other blocks such as BRAM controller, MIG, etc.

2. What is the difference between DMA and Memory Interface Generator(MIG) blocks? How to decide which one to use?

Thanks in advance

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
204 Views
Registered: ‎01-09-2019

Re: DMA and MIG block

Jump to solution

Hello @aryanlall 

I am going to start with your second question:

2. What is the difference between DMA and Memory Interface Generator(MIG) blocks? How to decide which one to use?

DMA is a concept called Direct Memory Access which something like our AXI DMA IP will do in order to access a portion of memory independent of a processor.  The MIG is a controller to handle the protocol requirements of DDR4/3/etc. in order to allow for our FPGA to talk over I/O to a memory device.  The AXI DMA IP will take requests for accessing a portion of memory and send the appropriate AXI commands to either send or receive large amounts of memory.  The MIG will then take those AXI commands and convert that to something a DDR device can read keeping compliant with all JEDEC protocol requirements.  Usually the MIG and AXI DMA are used in tandem in a design, not one or the other.

1. Why do we need to configure the AXI DMA core in SDK? This is not required for other blocks such as BRAM controller, MIG, etc.

The AXI DMA IP has to be programmed in order to know where and how you will store/receive these large chunks of data.  In the case of BRAM or MIG it is only taking the addresses and data it is given, and sending that on to the respective memory type.  With AXI DMA you are giving explicit numbers of bytes to transfer, the type of transfer, where and what kind of data is being moved, all through the use of a chain of Buffer Descriptors to properly handle each transaction in the appropriate order.

Does that answer your questions adequately?

 

Thanks,
Caleb
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

2 Replies
Highlighted
Moderator
Moderator
205 Views
Registered: ‎01-09-2019

Re: DMA and MIG block

Jump to solution

Hello @aryanlall 

I am going to start with your second question:

2. What is the difference between DMA and Memory Interface Generator(MIG) blocks? How to decide which one to use?

DMA is a concept called Direct Memory Access which something like our AXI DMA IP will do in order to access a portion of memory independent of a processor.  The MIG is a controller to handle the protocol requirements of DDR4/3/etc. in order to allow for our FPGA to talk over I/O to a memory device.  The AXI DMA IP will take requests for accessing a portion of memory and send the appropriate AXI commands to either send or receive large amounts of memory.  The MIG will then take those AXI commands and convert that to something a DDR device can read keeping compliant with all JEDEC protocol requirements.  Usually the MIG and AXI DMA are used in tandem in a design, not one or the other.

1. Why do we need to configure the AXI DMA core in SDK? This is not required for other blocks such as BRAM controller, MIG, etc.

The AXI DMA IP has to be programmed in order to know where and how you will store/receive these large chunks of data.  In the case of BRAM or MIG it is only taking the addresses and data it is given, and sending that on to the respective memory type.  With AXI DMA you are giving explicit numbers of bytes to transfer, the type of transfer, where and what kind of data is being moved, all through the use of a chain of Buffer Descriptors to properly handle each transaction in the appropriate order.

Does that answer your questions adequately?

 

Thanks,
Caleb
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

Highlighted
Newbie
Newbie
183 Views
Registered: ‎04-04-2020

Re: DMA and MIG block

Jump to solution

Yes, that explains it very well. Thank you so much.

0 Kudos