Connect Jetson K1 to FPGA ZYNQ via GPIO

Hello! I want to connect K1 to FPGA XILINX ZYNQ for transferring high-speed video data. Interested in the question what is the speed of GPIO outputs? Is it possible to implement a self-made parallel interface similar to SRAM? Will K1 itself be heavily loaded with such implementations (GPIO processing)?
The speed is about 1 Gbit / s.

I can’t tell you what the throughput would be, but it is unlikely to be anywhere near that speed. Without differential pair (such as PCIe or USB) there will be an extreme noise issue at those speeds (and that assumes GPIO can reach those speeds…I doubt it can get even remotely close to that). Most people with those requirements build a PCIe interface (though I imagine USB3 might also work).

I don’t remember the numbers, and this may not reach at all what you’re targetting, but I had made a mockup with a TK1 and a Zinq running peta-linux, only connected to each other through wired ethernet, and the TCP throughput was good. You may benchmark with some files, through scp at first and see how far you get from it.
If you have tight latency constraints, this may not be the right solution however.

I was referring to a speed equal to 1 Gbps on the entire data bus, for example I want to make a parallel bus of 8 bits with a frequency of 125-150 MHz or a data bus of 16 bits with a frequency of 62.5-75 MHz. Delay for me is not very important. PCIe we want to use in extreme cases, because ZYNQ with PCIe support is much more expensive and requires a sufficient amount of FPGA resources.

Gigabit ethernet would be easy and inexpensive, along with low latency, but overhead implies you might not get an actual data throughput of quite as high as you want (you might succeed with this if the system doesn’t get lagged by something else).

USB3 could do the job for less than the cost of PCIe, but you can expect driver development to be perhaps as difficult as under PCIe. There may be a possibility to set isochronous mode in USB which would give you very desirable latency and throughput. It sounds like you should test gigabit ethernet, and if this does not work, USB3. Should USB3 not have what you want, then you would probably pick PCIe next.

I highly doubt GPIO will do what you want.

Thank you for the detailed answer! Let’s go to the PCIe side.