See a post on Fpga4fun on PCI-E, simple and easy to understand, suitable for the introduction, specially moved over
Original address: http://www.fpga4fun.com/PCI-Express.html
Objective:
As PCI Express becomes common place in high-end FPGAs, let's see how easy FPGA Vendors made the technology available.
In particular, we look more closely at Xilinx ' s PCI Express solution.
The full text is divided into six parts, the first part:
PCI Express-connector
PCI Express comes commonly in-Sizes:1-lane and 16-lanes, with 1-lane used for regular boards and 16-lanes used for GR Aphic cards.
The connector
The 1-lane connector has a contacts, arranged in and rows of contacts.
Here ' s a top view.
Of the contacts, only 6 is useful to the transport of data, the rest is power pins and other auxiliary signals. The 6 functional contacts is used in 3 pairs:
- A clock pair called REFCLK.
- A receive pair called PER.
- A transmit pair called PET.
The pairs is often referred as "differential pairs" because each signal from a pair carries the same signal and with one Inverted from the other. The reason for using differential pairs is mainly reliability of transmission and would be discussed in more details later.
In PCI Express Generation 1 (or simply "Gen1"), the PET and PER pairs has data transmitted at a speed of 2.5Gbps. Gen2 doubles that.
Looking at the DRAGON-E board, we can recognize the PET pair below the FPGA.
To work correctly, the lines with a differential pair need to be electrically coupled and has no impedance discontinuities, Which in practice means something as "stay close Together" and "no sharp angles". That's the reason for the dragon-e ' s PET pair serpentine shape. The other side of the board shows the other serpentine pairs REFCLK and PER.
PCI Express x16
To allows for more speed, multiple lanes can is used. The REFCLK pair doesn ' t need to being duplicated, so for example, PCI Express with 2 lanes uses 5 pairs (1 REFCLK + 2 PET + 2 PER).
Graphic boards often use lanes connectors on what is commonly called PCI Express x16.
PCI Express (i)