Hi,I was thinking about routing the the avalon streaming output from a TSE mac to several different avalon streaming inputs. The obvious choice is to use an avalon streaming de-multiplexer block; however I don't see any obvious way to get the TSE to provide a different channel id for the de-multiplexer depending on which of its primary, or supplementary, mac addresses might be in the Ethernet frame that was received. Can anyone suggest a quick way to get this plumbed in QSYS or SOPC? Of course, I can create a new custom block that compares the Ethernet address against one of several and sets the channel accordingly, but since most of this logic is already in the TSE it seems like there must be an easier option. Thanks, Jeff
There is UDP port to Avalon-ST channel adapter available in UDP offload example project. You can use that file to make Your own adapter and use it in Your application. I've rewritten that module in VHDL plus added some more features... It actually works fine by default, but I don't know verilog that much.
To answer the original question no I don't think there is any way to extract directly an address number from the TSE. Without access to the source code it isn't possible to add this directly to the core, so you will have to develop an external component with one input stream connected to the TSE and several output streams (or one output stream with a channel number, that you connect to a demultiplexer).