It turns out that communicating between the FPGA and a PC over ethernet is a very complicated process. Most people use PCI Express to communicate between a VC707 and a PC.
In my experience, PCI Express is much easier to use than ethernet when communicating between the FPGA and PC. First, no software is required on the FPGA side to configure PCI Express -- it's all done from the host. Second, the Xilinx PCI Express reference design is complete -- once you have the reference design you have a working system. The ethernet reference designs I found on Xilinx.com did not even show how to configure the device driver for the MAC, nor did they connect the MAC to an ethernet cable. The ethernet/microblaze example below does seem complete, but look how many steps there are to get it working.
I found a tutorial to set up ethernet communication which uses a microblaze soft processor in the FPGA to configure the ethernet.
https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-getting-started-with-microblaze-servers/start
I usually use the PCI Express core because I want more control over the interface, but the PCI Express AXI Bridge is very straightforward to use.
The answer is much to long to include here.
If you cannot plug the vc707 into the PC and setting up ethernet is too daunting, then there are two more options that come to mind:
- Transfer data over Uart
- Add an FTDI UMFT600X-B FMC FIFO board and use USB 3 to transfer data
Both UART and the FTDI FIFO are bi-directional, so they can send data both from PC to FPGA as well as return data from FPGA to PC.
I generally use a UART that has RX and TX FIFOs rather than a register interface to make it easy to integrate with RTL.
Given that you have no speed requirement and you already have UART working in one direction, it's probably easiest to use the UART for both directions.