I've been working with an Intel MAX10 FPGA and want to eventually use the MAX10 to receive data through Ethernet and send it somewhere else. Currently I am successfully running the MAX10 TSE On-board PHY Design Example found here.
I currently witness packets accumulating by running "stats_chk" in the System Console repeatedly. I also notice the number of packets received stagnate when I unplug the Ethernet cable (as expected). However, I notice the MAC addresses are set to static values defined in the "tse_mac_config.tcl" file.
Since I would like to send data in and out of the MAX10, I believe obtaining the MAC addresses of the host machine and FPGA itself would be important. If that's true, why are they statically set rather than obtained (in the example)? If anyone can help me understand this or move towards my goal I would appreciate it.
As Intel FPGA only supply IP solution till Ethernet MAC (data link layer) only, we don't really emphases on full Ethernet application solution till the application layer.
- It's really up to customer to implement their own Ethernet solution design beyond the data link layer.
The TSE example design is meant to demo and evaluate the functionality of Ethernet MAC typically via on board cable or module loopback.
- Therefore, the MAC address is not important in example design and it's just a simply hard code number
I hope I clear your doubt.
Thanks for getting back to me dlim,
The information is handy, although I'm not sure where to proceed with my approach. Do you know of any examples or research that could point me in the right direction so I'm not "reinventing the wheel"? I'd appreciate any related info.
Sorry, I can't do much help as how the Ethernet package is being handled on the application layer is beyond my knowledge.
But for Ethernet MAC data link layer, you can just refer to wiki page to see how the MAC source/destination address is being decoded in the Ethernet packet frame.