FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5990 Discussions

TSE demultiplexer switch based on supplementary mac addr

Honored Contributor II



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. 




0 Kudos
2 Replies
Honored Contributor II

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.

Honored Contributor II

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).