Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20735 Discussions

Can I pass multi inputs for SGDMA?

Altera_Forum
Honored Contributor II
879 Views

Hi all, 

 

I just wonder that I can pass multiple inputs/outputs for SGDMA (Sink/Source). Because I build a custom SGDMA protocols that connect to mm_to_st and st_to_mm. 

 

Thank you, 

Sean
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
231 Views

Take a look at the ST multiplexer and demultiplexer cores. For the MM-->ST it should be easy to tag the data with a channel number and let the demultiplexer route it to the appropriate streaming output. For the ST-->MM direction you might be able to use the multiplexer, if not then you would have to create your own that does something similar.

0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Thanks BadOmen. Do you have any sample with this ST multiplexer that I can take a look at it? I'm successful using Avalon-ST with only 1 input and 1 output.  

 

So my design like this: 

SDRAM ---> mm_to_st ---> A ---> B ---> C ---> st_to_mm ---> SDRAM 

 

Thanks, 

Sean
0 Kudos
Altera_Forum
Honored Contributor II
231 Views

Unfortunately I don't have an example. If you need to see how to implement these by hand you can take a look at the "one_to_two_demux" and "two_to_one_mux" cores in this design: http://www.altera.com/support/examples/design-entry-tools/qsys/exm-qsys-tut.html 

 

By the way, if your output after all the streaming stuff is equal in length to the input you might find this mSGDMA easier to work with since it exposes ST ports between the read and write masters so that you can do the data movement as a single MM to MM transfer: http://www.altera.com/support/examples/nios2/exm-modular-scatter-gather-dma.html If you turned on packet support and coded a channel number at the beginning of the buffer that would be an easy way to route the ST datagram through your custom ST components. Food for thought....
0 Kudos
Reply