High Speed PCIe Communications Package Between Host Computer and FPGA

High Speed PCIe Communications Package Between Host Computer and FPGA


The Problem

You’ve created an amazing FPGA circuit, and downloaded it to your demo board. Now you want to monitor and control the circuit from your PC, send data from the PC to the FPGA and get the results back. If you are using an Altera/Terasic DE-4 demo board, this package is for you.

Solution: Maybe this package until we find something better.

From the link -

We are seeing data transfer rates of 16 to 19 Mbytes/second when reading data from the FPGA, and 50 to 55 Mbytes/second when writing data to the FPGA from the host.

That means sending 100 million 100 nucleotide reads will take 25 seconds. Are we doing the math right?

Other useful links -

1. PCIe

2. PCI express from a Xilinx/Altera FPGA to a Linux machine: Making it easy

3. communication from an FPGA to a computer through PCIE

-—————————–

For direct GPU to FPGA communication,

Direct GPU/FPGA Communication Via PCI Express

Parallel processing has hit mainstream computing in the form of CPUs, GPUs and FPGAs. While explorations proceed with all three platforms individually and with the CPU-GPU pair, little exploration has been performed with the synergy of GPU-FPGA. This is due in part to the cumbersome nature of communication between the two. This paper presents a mechanism for direct GPU- FPGA communication and characterizes its performance in a full hardware implementation.

-———————————–

Papilio and Pipistrello

For those interested in low-cost FPGA boards, here are two innovative designs

Papilio

Pipistrello - design, a blog review

For those interested in 7-series Xilinx, please take a look at Zedboard with Zynq

-————————————

For design, use Xilinx Web ISE until you cannot.

-————————————-

Memory controller

How to build reliable FPGA memory interface controllers without writing your own RTL code!

Spartan-6 FPGA Memory Controller

DDR3 controller for Spartan-6

-—————————

A cool page with many useful links -

Embedded Linux



Written by M. //