Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎07-02-2020

TCP communication on AWS F1

I am looking into synthesizing my own Verilog code on an EC2 instance, I'm going to need to send TCP packets over to the FPGA from user space (the instance has an IP address assigned).

It seems from the example System Verilog source code for the cl_hello_world_vhdl, the hello world example here uses the AXI bus.

I believe AXI supports PCIe and I've heard that TCP communication over PCIe is possible using DMA which AWS/the Xilinx FPGA they use for f1.2xlarge supports.

I was referred to using WriteCombining because our TCP packets will be only 40 bytes long; however, I'm not sure how to tie it in with AXI

AWS support writes:


Please refer to the following links

The Shell (SH) is AWS platform logic which hosts PCIe.
Using the PCIe interface you can send/receive data to/from the CL (i.e Customer Logic, i.e. The Logic that you plan to implement)

The SH and CL uses AXI bus protocol to transfer and receive data.

Host/UserSpace <- PCIe -> SH <- AXI -> CL.

As the SH has a DMA engine you may use the DMA as well to communicate between Host and CL. For DMA usage example please refer to the link

I don't see any examples of actual communication (ideally TCP) from SSH or other to the FPGA in the doc links sent. Please let me know if someone has solved this communication flow or if you have any resources to help me figure out any of the steps.

Thanks in advance!

0 Kudos
0 Replies