在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. 如何解决xx列不在表中

    在连接数据库的程序中常会出现xx列不在表中的问题?那么应该怎么解决呢? 产生此问题的原因有三种: 1.数据表没这个字段2.sql查询没将这个字段查出来3.字段名写错了 还有重要的是一定要检查你的数据库 ...

  2. javascript笔记8-表单脚本、JSON、AJAX

    通过表单提交,很方便的可以从界面把参数传递给后台. 如果前后台我们有大量数据需要交互,JSON方便我们传递和读取. 如果需要更新一个界面的某一部分数据,并不想刷新界面,就要用到Ajax. 1. 表单脚 ...

  3. <转>两个蛋蛋的故事

    来自为知笔记(Wiz)

  4. 用meta-data配置参数

    在接入第三方渠道SDK的时候,经常会看到其配置文件AndroidManifest.xml有类似如下的定义: <!-- appid --> <meta-data android:nam ...

  5. 无法建立SSL连接

    在使用wget工具的过程中,当URL使用HTTPS协议时,经常出现如下错误:“无法建立SSL连接”. 这是因为wget在使用HTTPS协议时,默认会去验证网站的证书,而这个证书验证经常会失败.加上&q ...

  6. 第一篇T语言实例开发(版本5.3),带错误检测的加减乘除运算器

    带错误检测的加减乘除运算器 表达式 TC综合开发工具里的表达式大体分为:计算表达式.条件表达式 计算表达式: 它一般是用在赋值过程中,或者是和条件表达式混合使用这样的表达式里只有数字运算符(如:+.- ...

  7. 在yii中使用多个数据库

    背景: 对于一个大公司拥有多个分公司的应用场景下,我们通常需要配置多个sub-database(子数据库)来存储不同的数据纪录. 配置步骤: 1.在application骨架里面的主配置文件main. ...

  8. 排序算法总结(三)选择排序【Select Sort】

    一.原理 选择排序的原理非常简单,就是选出最小(大)的数放在第一位,在剩下的数中,选出最小(大)的数,放在第二位......重复上述步骤,直到最后一个数. 二.过程 原始数据 第一次排序,选出最小的数 ...

  9. windows github 命令行使用

    1.下载git客户端工具,以下2个网站一样的https://git-for-windows.github.io/https://git-scm.com/download/win/ 2.初始化ssh-k ...

  10. repeater没有数据显示暂无数据,无记录

    方法就是在FooterTemplate加个Label并根据repeater.Items.Count判断是否有记录.关键代码如下: <FooterTemplate> <asp:Labe ...