I want to evaluate the Cyclone 10 GX FPGA Development Kit's Ethernet functionality using the Simple Socket Server demo.
In order to do so I have downloaded the cyclone-10-gx-kit-collateral (belongs to Quartus v17.1) package and loaded the Simple Socket Server's .SOF (c10_gx_sss.sof) into the FPGA, using the Board Test System.
After doing so I used the Nios2 Terminal to view messages printed by the demo application. This way I get informed about the IP address gathered via DHCP.
I am able to ping the board without any problem when the traffic on the board's local network is normal.
In order to test the Ethernet behaviour on a network with heavier traffic, I am using the PCATTCP utility to send UDP messages to the board's IP address. Namely I execute the following command:
pcattcp.exe -u -t -l 1024 -n 20000 -w 1 -p 179 192.168.0.217
which results in sending 20000 UDP packets, each containing 1024 Bytes of payload, to 192.168.0.217 which is the IP address of the board. The delay between two UDP packets is 1 ms.
During this, continuous ping requests are also being sent using
ping 192.168.0.217 -t
- Ping reqests are always answered before starting to send UDP packets.
- The IP stack fails to answer some ping requests during sending the UDP packets with a gap of 1 ms.
- Sometimes the IP stack stops to answer all ping requests during sending the UDP packets. Whenever this happens, the IP stack can't be reached anymore: neither ping requests are answered nor is the board able to accept Telnet connnections.
- If modifying the UDP sender test so that it doesn't wait 1 ms between sending two consecutive UDP packets, but sends them as fast as possible, then the IP stack always becomes nonrespondent.
Note that whenever the IP stack stops answering, only a reset can help to make ping/Telnet working again.
- A flood of 1024 Bytes UDP packets, following each other with a gap of 1 ms should not be a problem. A series of continuous ping requests (floowing each other with a period of 1 sec) in parallel should always be answered.
- Having packet losses is acceptable in the second case when there is no gap between the UDP packets sent to the device, but after finishing the flooding the IP stack should become operable again.
The test PC is running Windows 10 Pro.
The board is connected to the same local network as the test PC. The following link speeds were tried, with the same result: 1Gbps, 100Mbps.
A direct link between the PC and the board of 1Gbps was also tested with the same results.
Please have a look into this issue and advise a solution, or, if there is a fix for these problems, point me to it.