• 0

How to implement Ethernet project on Nexys 4 DDR

Go to solution Solved by AndrewHolzer,



I am a beginner of ethernet design. I got a small project published on this website: http://www.fpga4fun.com/10BASE-T0.html  . I have successfully updated MAC address, IP, etc... But I have no idea how to set  constraint file in  ISE. 

Through reading the Nexys 4 DDR manual, I guess I need an extra clkIn for this project to work on the board, so I created two clocks: one is for D5, CLKIN,  50MHz, and another is for  the project, 20MHz. and I set the pin number in the project below.

NET "clk"   LOC = "E3"    | IOSTANDARD = "LVCMOS33";
NET "clk" TNM_NET = sys_clk_pin;

NET "Ethernet_TDp"          LOC=A9 | IOSTANDARD=LVCMOS33; 
NET "Ethernet_TDm"          LOC=C9 | IOSTANDARD=LVCMOS33;

A9 is connected to MDIO, and C9 is connected to MDC. But I cannot see any data flow from PC to the board using the software provided by that website. 

Can anyone help me set the constraint file?

Thank you!

Edited by mikuru
Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
  • Solution

Hi Mikuru,

The project you linked has the FPGA connected to an Ethernet port straight from IOs on the FPGA. Unfortunately, an IC lies between the FPGA and the Ethernet port on the Nexys4 DDR. That IC handles most of what the project is trying to accomplish, and then some. Because of that, you won't be able to use the project to communicate via the on-board Ethernet port. 

Are you more interested in understanding the intricacies of Ethernet communications, or are you more interested in setting up a project that uses Ethernet?

If you are interested in Ethernet communication intricacies, you can still accomplish what the linked project is doing if you use the Pmod headers on your board to breakout the signals to a breadboard and then to an Ethernet port on the breadboard. You'll configure the UCF file so that the two Ethernet_TD signals are passed through a Pmod header.

If however, you are more interested in setting up a project that uses Ethernet, there are IP peripherals that will allow you to use the on-board Ethernet port as part of a Microblaze processor project. We have a guide that will help you set up a Microblaze server on the Nexys4 DDR here. This guide uses Vivado instead of ISE, so there will be some things you'll have to learn concerning design flow in Vivado. ISE is in a sustaining phase with no further planned releases.


I hope this helps you, and you are able to accomplish what you sought out to do. If you have further questions, don't hesitate to ask us. Good luck!


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now