cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Maikkk
Observer
Observer
434 Views
Registered: ‎04-15-2020

How to go from USB to Ethernet

Hi!

I'm new to FPGA's,and I've got a project where my FPGA communicates through USB.

I wanna remove the USB and communicate through Ethernet. How do I do that?

 

I think that I have to remove the USB peripheral from my block design and put there the Ethernet peripheral, but also I have to declare at constrainst the pins of the ethernet and program the TCP/IP protocol?

 

can I load .bin files through ethernet? :///

 

0 Kudos
4 Replies
u4223374
Advisor
Advisor
401 Views
Registered: ‎04-26-2015

When you say "communicates" - what do you mean? Is this just for loading the bitstream? Are you copying data files to the FPGA for it to process? Are you streaming data to it?

When you say "though USB" - what do you mean? Is this via the built-in USB-JTAG adaptor? USB-UART? A full USB device implementation?

When you say "can I load .bin files through ethernet?" - what do you mean? You can certainly copy .bin files to the FPGA, just like you can copy text files, .bmp files, .pptx files, etc. If you actually want to configure the FPGA over Ethernet, that is a whole lot harder. I think you'll need to have the FPGA copy the file to the configuration PROM and then perform a soft-reset to load the new data (or perform a partial-reconfiguration so your ethernet controller doesn't also get reset).

 

Does the board actually have Ethernet hardware? You can't just connect FPGA pins straight to a CAT5 cable; you need a fair bit of hardware in the middle to handle level shifting etc.

 

You will need to remove the USB peripheral from the block design, remove whatever is driving the USB peripheral (a processor?), insert the Ethernet peripheral, add something to drive that (possibly also a processor), set up your constraints, figure out how to talk to the Ethernet PHY, etc.

 

 

Maikkk
Observer
Observer
340 Views
Registered: ‎04-15-2020

Hi, of course my board has ethernet.

 

When I mean communicate through ethernet instead if USB, I mean don't using USB for anything, not even power the fpga, because I want to power the fpga through an extrrnal pin.

0 Kudos
325 Views
Registered: ‎07-23-2019

 

"How to go from USB to Ethernet in ten easy steps" seems to be what you are looking for

USB and Ethernet are very different. And... Ethernet is much more complex. Plus "ethernet" is not a single thing, it's the physical layer for a number of protocols (UDP, TCP, HTTP, SFTP...). 

If you have a Zynq, the easiest way is to have Petalinux on the PS. You will have all the sw stack, drivers, etc. and "ethernet" almost out of the box. Did I write "almost"? Yes, I did...

If you have an FPGA (Artix, Kintex, etc) you still can set a Microblaze with Petalinux.

To transfer files, you can use the oldie goodie SSH. You just need to configure kernel and rootfs for it. Et voila.

Maikkk
Observer
Observer
290 Views
Registered: ‎04-15-2020

I have a microblaze, and I want to make a TCP/ip server. In the block design I've added the axi_ethernetlite and added the ethernet reference clock in the constraints.

 

Still, in the SDK when I wanna make a project with a TCP/ip template It says that I have to instantiate an MAC address at the hardware.

 

How do I do that? Do I have to add the 10G_EthernetMAC in my bd? Or other IP? 

 

Many thanks,

Maik.

0 Kudos