04-19-2020 11:55 AM
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? :///
04-19-2020 05:22 PM
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.
04-23-2020 02:27 AM
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.
04-23-2020 03:35 AM
"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.
04-24-2020 03:13 AM
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?