Forum Discussion
3 Replies
- Altera_Forum
Honored Contributor
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.
- Altera_Forum
Honored Contributor
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 - Altera_Forum
Honored Contributor
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....