在FPGA4FUN上看到一篇介绍PCI-E的帖子,简单易懂,适合入门,特地搬过来

原文地址:http://www.fpga4fun.com/PCI-Express.html

前言:

As PCI Express becomes common place in high-end FPGAs, let's see how easy FPGA vendors made the technology available.

由于PCI-E在高端FPGA中变得越来越常见,我们来看看FPGA厂商们是怎样让它很容易的为我们所用的

In particular, we look more closely at Xilinx's PCI Express solution.

以赛灵思为例

全文分为六个部分,第一部分:

PCI Express - Connector

PCI Express comes commonly in two sizes: 1-lane and 16-lanes, with 1-lane used for regular boards and 16-lanes used for graphic cards.

PCI-E通常分为两种规模:一路的用在常规板子上,16路的用在图形卡上

The connector

The 1-lane connector has 36 contacts, arranged in two rows of 18 contacts.
Here's a top view.


Of the 36 contacts, only 6 are useful to the transport of data, the rest are power pins and other auxiliary signals. The 6 functional contacts are used in 3 pairs:

一路的连接器分成有36个引脚,分成两行,每行18个。在这36个引脚中,只有6个是用作数据传输的,其余的都是电源或者辅助信号。这6个引脚分成3对

  • A clock pair called REFCLK.
  • A receive pair called PER.
  • A transmit pair called PET.


The pairs are often referred as "differential pairs" because each signal from a pair carries the same signal but with one inverted from the other. The reason for using differential pairs is mainly reliability of transmission and will be discussed in more details later.

时钟、数据接收和发送这三对信号线使用差分传输

In PCI Express generation 1 (or simply "Gen1"), the PET and PER pairs have data transmitted at a speed of 2.5Gbps. Gen2 doubles that.

第一代PCI-E数据传输速度为2.5Gbps,第二代为5Gbps。

Looking at the Dragon-E board, we can recognize the PET pair below the FPGA.


To work correctly, the lines in a differential pair need to be electrically coupled and have no impedance discontinuities, which in practice means something like "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 two other serpentine pairs REFCLK and PER.

为了能正常工作,差分信号线必须要电耦合和阻抗连续,这有点像“靠近一点”和“没有锐角”,这也就是为什么Dragon-E上的差分线看着像蛇形。

PCI Express x16

To allows for more speed, multiple lanes can be used. The REFCLK pair doesn't need to be duplicated, so for example, PCI Express with 2 lanes uses 5 pairs (1 REFCLK + 2 PET + 2 PER).

Graphic boards often use 16 lanes connectors in what is commonly called PCI Express x16.

为了实现更高的速度,我们可以使用通道复用。时钟线不需要复用,举个例子,两通道的PCI-E使用5对线(1路时钟+2路数据发送+2路数据接收),图形卡经常使用16通道连接器。

点名说一下 verilog-IT大道,转了我多少篇博客,也不标明出处。这篇文章我刚发出去就被转载了,你们的爬虫很厉害啊!

PCI Express(一)- Connector的更多相关文章

  1. PCI Express(二) - Topology

    原文出处:http://www.fpga4fun.com/PCI-Express2.html Point-to-point architecture At 2.5Gbps, the PCI Expre ...

  2. [中英对照]How PCI Express Works | PCIe工作原理

    How PCI Express Works | PCIe工作原理 PCI Express is a high-speed serial connection that operates more li ...

  3. PCI Express(六) - Simple transactions

    原文地址:http://www.fpga4fun.com/PCI-Express6.html Let's try to control LEDs from the PCI Express bus. X ...

  4. PCI Express(五) - Xilinx wizard

    原文地址:http://www.fpga4fun.com/PCI-Express5.html Xilinx makes using PCI express easy - they provide a ...

  5. PCI Express(四) - The transaction layer

    原文出处:http://www.fpga4fun.com/PCI-Express4.html 感觉没什么好翻译的,都比较简单,主要讲了TLP的帧结构 In the transaction layer, ...

  6. PCI Express(三) - A story of packets, stack and network

    原文出处:http://www.fpga4fun.com/PCI-Express3.html Packetized transactions PCI express is a serial bus. ...

  7. Down to the TLP: How PCI express devices talk (Part II)

    http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tutorial-guide-2 Data Link Layer Packets A ...

  8. Down to the TLP: How PCI express devices talk (Part I)

    http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tutorial-guide-1 Down to the TLP: How PCI ...

  9. Ubuntu 16.04 RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller” 不能上网

    来源:http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=463646 1.执行如下命令 uname -a sudo lspci -knn sud ...

随机推荐

  1. O_NONBLOCK on regular file

    It seems that writes/reads to regular files can't not be made non-blocking. I found the following re ...

  2. Android ViewPager Fragment使用懒加载提升性能

     Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...

  3. 数据库update死锁

    比较常见的死锁场景,并发批量update时的一个场景: update cross_marketing set gmtModified = NOW(), pageview = pageview+ #ex ...

  4. 通过printf设置Linux终端输出的颜色和显示方式

    转载自:http://www.cnblogs.com/clover-toeic/p/4031618.html 在Linux终端下调试程序时,有时需要输出大量信息.若能控制字体的颜色和显示方式,可使输出 ...

  5. Jena对描述逻辑构造的支持

    前言 本文依据"The Description Logic Handbookd"中Appendxi1 Description Terminology中基本的描述逻辑构造,考察Jen ...

  6. oracle数据库--启动和关闭

    oracle--启动 oracle数据库的启动过程包含3个步骤:启动实例->加载数据库->打开数据库 分步骤启动过程可以对数据库进行不同的维护操作,对应我们不同的需求. 启动模式: 1.s ...

  7. 解决android 启动白屏问题

    Android 启动APP时黑屏白屏的三个解决方案 http://www.cnblogs.com/liqw/p/4263418.html android:windowSoftInputMode属性使用 ...

  8. kibana ,logstash and filebeat

    https://www.elastic.co/guide/en/kibana/current/install.html https://www.elastic.co/guide/en/logstash ...

  9. 在Windows上,迁移VisualSVN server

    最近在搭建自动化测试框架,顺便了解了一下SVN的搭建.对于一般的使用场景,VisualSVN还是挺方便的,而且上手特别快. 由于是第一个demo,后期要迁移到其他服务器上面,所以就熟悉了一下serve ...

  10. activiti自定义流程之整合(五):启动流程时获取自定义表单

    流程定义部署之后,自然就是流程定义列表了,但和前一节一样的是,这里也是和之前单独的activiti没什么区别,因此也不多说.我们先看看列表页面以及对应的代码,然后在一步步说明点击启动按钮时如何调用自定 ...