02-26-2018 10:25 PM
In my application, I need to store a huge amount of data from FPGA. Initially, I tried using SD card. But with this approach large amount of time is taken (around hours). I need this data on a PC.
I learnt that high-speed communications like Ethernet, PCIe, etc. can be used to send a huge amount of data.
I have a ZCU102 kit with me and I would like to use Ethernet to send data from the board to PC. I am using bare metal on ZCU102 kit.
I am in need of some tutorial or links, which are useful to learn bare metal based Ethernet on ZCU102 kit. In SDK in mss file I can see documentation and example for psu_ethernet_3. But few terms like GEM available on the Zynq Ultrascale+ is confusing with regular ethernet. Please direct me to a solution on this query.
Thank you in advance.
03-09-2018 05:10 AM
XAPP1306 is baremetal based design targeting ZCU102. Please take a look:
The design can be simply loaded to test Ethernet connections. LWIP is used as standalone application.
Hope this helps!
03-12-2018 06:27 AM
Thanks for your time and reply!
I have gone through the document and also run one of the example design, echo server. By this example, I am able to send data (same data that has been received) to the host PC.
After learning this, I am looking forward to sending data from FPGA to PC. While doing this, I am encountering the following points:
1. Every time I would like to send data to the same host PC (same static IP address). I would like to send data whenever FPGA wants to send (not when PC requests data)
2. I need always an established connection between PC and FPGA.
3. I have seen that most of the functions from lwip stack are usable in FPGA also. So, I can use the flows described at other web pages for transferring data to PC (http://lwip.wikia.com/wiki/Raw/TCP). I can use necessary functions and proceed to transfer data.
My question is:
How can I make sure that connection is always established between PC and FPGA and send data to PC whenever I need? I am ready to assume that IP of PC is always same and can feed in FPGA program.
03-12-2018 08:51 AM
You may check out LWIP_TCP_KEEPALIVE options if you always have a physical connection between PC and the board. If you remove the ethernet cable, and lwIP will not receive the ACK from the PC, then it will close the connection.
09-28-2018 11:10 AM - edited 09-28-2018 07:30 PM
I also try to implement the example design in XAPP1306. However, when i want to generate the bitstream, it says that "bitstream generation of tri_mode_ethernet_mac is not permitted" . Do you know how to figure it out?
09-30-2018 11:48 PM - edited 10-02-2018 07:03 AM
10-16-2018 06:21 AM
Thanks for your reply. But i come out with another question: can I use GEM3, which is connected to a Ethernet module, without running any operation systems on my APU to access data and transmit data via protocol like TCP or UDP?
I go through the XAPP1306 but it just roughly mentions the GEM3 in bare metal application and I am curious about how to use it under bare metal condition.
10-19-2018 03:48 AM
You can use GEM3 on ZVU102 directly. It is hard-wired to a TI PHY on board. You can use SDK LWIP example designs to verify the interface. This is based on baremetal.