FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6359 Discussions

Using Avalon ST packet transfer with SGDMA

Altera_Forum
Honored Contributor II
931 Views

Hi,  

 

I am creating a component between custom hardware and the SGDMA controller. The descriptors of the SGDMA are setup to transfer a large number of bytes at a time (24000 bytes) from the custom hardware to a ddr2 memory stick.  

 

My question is regarding the the way in which to communicate from the custom component to the SGDMA controller using the Avalon Streaming Interface. The Streaming interface requires packet transfer, so I need to have the start-of-packet and end-of-packet signals in the component. But the SGDMA descriptor specifies a set transfer length (24000 bytes for each descriptor).  

 

In the component, if I set the end-of-packet signal before the total number of bytes (24000) for a transfer has been sent, does that terminate the transfer? Or will the SGDMA continue the same transfer at the next start-of-packet until the total number of bytes are transfered?  

 

Could I, say, use small packets of 64 bytes to transfer the total 24000 bytes? What would the burst length be? 

 

Also, do I need to use a burst transfer? 

 

Thanks for your help!
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
215 Views

If you send less than 24000 bytes before the end of packet, the transfer will end if you enabled the "use start/end of packet" option (don't remember the exact name). You can also set the length to 0 to disable size check. 

You should use burst transfer if you have a (DDR)SDRAM with a controller that supports it, and if you need the speed.
0 Kudos
Reply