Jump to content
  • 0

Nexys3 - MAC address


Peddro

Question

Hi guys,

does anybody know, how Ethernet on Nexys3 board works? I have read that I can create an ethernet MAC controller via IP core generator in ISEwebpack, but  how do I find out the 48bit MAC address of the controller? MAC address is unique and should be assigned by manufacturer, so I think, that it should be hard coded somehow in the board.

I apologize for this likely stupid question but I am a beginner in FPGA programming and don't have much experience in this field.

Thank you for your answers.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

In networking the MAC address is handled at the "Link" Layer (following the Internet Protocol Suite model). On the Nexys3 the link layer consists of a PHY (the SMSC chip connected to the ethernet port) and a MAC (must be implemented in the FPGA). The MAC layer is usually implemented as an axi_ethernetlite IP Core, and the TCP/IP/Application layers are all implemented in Microblaze software using the lwip TCP/IP stack (or a some other TCP/IP stack included with an RTOS or Linux).

Since the MAC address is handled by the MAC, it is up to the FPGA configuration to define this. Because of how the axi_ethernetlite core is implemented, the MAC address is actually defined by the Microblaze software. An example of how to do this is demonstrated by the lwip echo server demo that is automatically generated by Xilinx SDK. You just need to use the Nexys 3 EDK BSB files (DSD-0000305 here: http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&Prod=NEXYS3 ) to create an AXI project that has the ethernite lite core w/ interrupt enabled, a timer with interrupt enabled, the EMC memory controller with caches enabled, and any other peripherals you may want (GPIOs, etc.). You may need to follow some additional steps as described in the guide that comes with the BSB files in order to make sure that the IP cores are all connected properly. Once you are finished in Xilinx Platform Studio, export the project to Xilinx SDK and create a new "Application Project" that uses the echo server template. You can read the source and the README in that project for instructions on running it. 

Every Nexys3 comes with a sticker on the bottom side of the PCB that defines a universally unique MAC address. Once you find out where the echo server demo code hard codes the MAC address you can just replace it with the MAC address found on this sticker.

As I've probably just demonstrated with this explanation, networking applications on the Nexys3 definitely fall under the "advanced/expert" difficulty setting. I hope that doesn't discourage you, getting networking running on this board is a great learning experience and can open up plenty of cool application possibilities.  

Link to comment
Share on other sites

I do thank you both mwingerson and sbobrowicz for your worthwhile answers. Now I know how to find out the MAC address and the basic principles of networking on FPGA, but I also realized that this is really not for beginners as I am. I will have to acquire much more experience to be able to design networking, so I will postpone my current project and will train on easier tasks. :)

Link to comment
Share on other sites

Hello Peddro,

Have you tried plugging it into a router and seeing what MAC address the router sees?

I can't find a clear way to find the MAC address but this would be my first step.  I'll ask around to see if I can find anything else.

Best of luck,

Marshall

Using WMIC you can find the mac address...

>wmic nic get macaddress,description

More about....WMIC Commands

George

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...