Hi,
We are evaluating the interface to use for transferring data between an Altera/Xilinx FPGA and CPU. We are considering PCIe and GMII. This is going to be a point-to-point link with bi-directional data transfer hitting
500Mbps. The CPU we are using supports PCIe 1.1.My preference based on the research is to go for PCIe for the following reasons*.
- High Throughput * PCIe 1.x at 2.5Gbps vs 1Gbps
- Low latency
- No protocol overhead * Ethernet MAC overhead * Need to define messages and requires a TCP/IP or similar stack on both ends
- Simplicity from an application perspective * No need for socket API on the CPU
- One thing I am not sure is the DMA capabilities in the PCIe 1.1 within the FPGA. If the CPU is going to transfer the data without DMA I am really not sure if this will scale.
Any thoughts or comments on suitability of PCIe vs GMII?
Thanks.