---恢复内容开始---

高速差分总线、串行总线

每一条PCIe链路中只能连接两个设备这两个设备互为是数据发送端和数据接收端。PCIe链路可以由多条Lane组成,目前PCIe链路×1、×2、×4、×8、×16和×32宽度的PCIe链路,还有几乎不使用的×12链路。

PCIe总线规范

总线频率

单Lane的峰值带宽

编码方式

单个Lane带宽

1.x

1.25GHz

2.5GT/s

8/10b编码

每传输8比特有效数据,要附带两比特的校验位,实际要传输10比特数据。

250MB/s

2.x

2.5GHz

5GT/s

8/10b编码

500MB/s

3.0

4GHz

8GT/s

128/130b编码

1GB/s

在PCIe总线中,使用GT(Gigatransfer)计算PCIe链路的峰值带宽。GT是在PCIe链路上传递的峰值带宽,其计算公式为 总线频率×数据位宽×2。

在PCIe总线中,数据报文在接收和发送过程中,需要通过多个层次,包括事务层transaction(事务、学报、交易)、数据链路层和物理层。PCIe总线的层次结构如下。

1 PERST#信号全局复位信号

2 REFCLK+和REFCLK-信号 使用这组信号与处理器系统同步。

3 WAKE#信号  提交唤醒请求,使处理器系统重新为该PCIe设备提供主电源Vcc

Virtex-7 FPGA Gen3
Integrated Block for
PCI Express v1.3

clock data recovery
(CDR) and differential signaling.

The key features of the Virtex-7 FPGA Gen3 Integrated Block for PCI Express (8.0 GT/s) core are:
• High-performance, highly flexible, scalable, and reliable, general-purpose I/O core
° Compliant with the PCI Express Base Specification, rev. 3.0
° Compatible with conventional PCI software model
• GTH transceivers
° 2.5 GT/s, 5.0 GT/s, and 8.0 GT/s line speeds
° 1-lane, 2-lane, 4-lane, and 8-lane operation
• Endpoint configuration
• Multiple Function and Single-Root I/O Virtualization in the Endpoint configuration
° 2 Physical Functions
° 6 Virtual Functions
• Standardized user interface(s)
° Compliant to AXI4-Stream
° Separate Requester, Completion, and Message interfaces
° Flexible Data Alignment
° Parity generation and checking on AXI4-Stream interfaces
° Easy-to-use packet-based protocol
° Full-duplex communication enabling
° Optional back-to-back transactions to enable greater link bandwidth utilization
° Support for flow control of data and discontinuation of an in-process transaction in
transmit direction
° Support for flow control of data in receive direction
• Compliant with PCI and PCI Express power management functions
• Optional Tag Management feature
• Maximum transaction payload of up to 1024 bytes
• End-to-End Cyclic Redundancy Check (ECRC)
• Advanced Error Reporting (AER)
• Multi-Vector MSI for up to 32 vectors and MSI-X
• Atomic Operations and TLP Processing Hints

使用Gen3 X8

TLP:transaction layer packet

TLP Receiver Engine:
 This state machine receives TLPs from the PCI-e core and determines
their validity and destination.
 Controls register writes.
 Passes Read Completion payloads to the DDR3 DMA (if implemented).
 Passes BAR0, BAR2, or BAR4 register Read Requests to the TLP
transmitter engine.
TLP Transmitter Engine:
 Controls register Reads and constructs the resulting Read Completion
packets.
 Transmit Arbiter
 Provides arbitration for access to the PCI-e Core transmit data link port
for the eight ADC channel DMAs.
 Provides arbitration for access to the PCI-e Core transmit data link port
for register Read Completions.
 Provides arbitration for access to the PCI-e Core transmit data link port
for DDR3 DMA Read Requests (if implemented).
Memory Aperture Interface:
 Provides BAR and address decoding and the generation of chip selects.
 Creates BAR0, BAR2, and BAR4 register Write Data buses for
distribution throughout the FPGA.
 Creates 16 BAR0 register Read buses, 16 BAR2 user register Read buses,
and a FLASH device BAR4 Read bus for distribution throughout the
FPGA.
 It provides the multiplexing of the various data Read sources for
submission to the TLP transmitter engine.
PCI-e Control and Status Registers:
 It provides status of the PCI-e link including link width and speed.
 It provides the Interrupt Flag and Enable register that latches the various
interrupts from all of the other modules. Interrupts are combined to
generate an interrupt control to the PCI-e Core.
 Converts AXI-Lite Master accesses into standard PCI-e read/write
tranactions to provide AXI access to the Global Control Registers

PCIE的更多相关文章

  1. 使用FIO对SATA、SSD和PCIe Flash进行测试

    首先声明,同事做的实验 使用fio对SATA.SSD.PCIE进行了测试 测试说明: 1.测试命名   sync_write_4k_32      sync表示测试方式,可以是sync或者libaio ...

  2. 基于WDF的PCI/PCIe接口卡Windows驱动程序(5)-如何为硬件移植驱动程序

    原文地址:http://www.cnblogs.com/jacklu/p/6139347.html 正如前几篇博客所说,使用WDF开发PCIe驱动程序是我本科毕业设计的主要工作.在读研的两年,我也分别 ...

  3. PCIE学习

    PCIe在传输中用8b/10b编码,所以单PCEe2.0的有效带度是4Gb/s x2模式将用于内部接口而非插槽模式 PCIe卡能使用在至少与之传输通道相当的插槽上(例如x1接口的卡也能工作在x4或x1 ...

  4. KVM 介绍(4):I/O 设备直接分配和 SR-IOV [KVM PCI/PCIe Pass-Through SR-IOV]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  5. 基于WDF的PCI/PCIe接口卡Windows驱动程序(4)- 驱动程序代码(源文件)

    原文出处:http://www.cnblogs.com/jacklu/p/4687325.html 本篇文章将对PCIe驱动程序的源文件代码作详细解释与说明.整个WDF驱动程序工程共包含4个头文件(已 ...

  6. 基于WDF的PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)

    原文出处:http://www.cnblogs.com/jacklu/p/4679304.html 在WDF的PCIe驱动程序中,共有四个.h文件(Public.h  Driver.h  Device ...

  7. 基于WDF的PCI/PCIe接口卡Windows驱动程序(2)-开发者需要了解的WDF中的一些重要的概念

    原文出处:http://www.cnblogs.com/jacklu/p/4646601.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...

  8. 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建

    原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...

  9. WinDriver&PCIE

    1.安装VS2012 安装VS2012略过,主要用它来做数据传输应用程序的,WINDRIVER提供了一系列API接口,方便了用户,使用户能直接进入用户态的编程,因为内核态的编程它已做好,不需要进行修改 ...

  10. WinDriver&PCIE

    1.安装VS2012 安装VS2012略过,主要用它来做数据传输应用程序的,WINDRIVER提供了一系列API接口,方便了用户,使用户能直接进入用户态的编程,因为内核态的编程它已做好,不需要进行修改 ...

随机推荐

  1. 一本通 1212:LETTERS

    题目描述 给出一个roe×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母.问最多可以经过几个字母. 输入 第一行,输入字母矩阵行数R和列数S,1≤ ...

  2. 【原创】三招搞死你的IE11,可重现代码下载(IE Crash keyframes iframe)!

    前言 很多人都知道我们在做FineUI控件库,而且我们也做了超过 9 年的时间,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭 ...

  3. Java 多线程(六)之Java内存模型

    目录 1. 并发编程的两个问题 2 CPU 缓存模型 2.1 CPU 和 主存 2.2 CPU Cache 2.3 CPU如何通过 Cache 与 主内存交互 2.4 CPU 缓存一致性问题 3 Ja ...

  4. 获得其他程序弹出菜单的内容(一个困扰许久的问题o(╯□╰)o)

    刚开始到现在公司的时候接到一个任务:开发一个activex控件,自动操作本地exe程序,当时遇到弹出菜单无法获取的问题,还好不影响,最近又遇到这个问题,绕不过去了,于是昨天花了一个上午百度了个遍,总算 ...

  5. win10 再次重装系统

    去年经历了一次硬盘损坏,一蹶不振,伤了元气, 生产环境的系统一直没有好好的维护,我个人也是,有时一闪而过的窗口总让我觉得有什么不对,现在终于出现问题,XNA项目突然无法编译 提示: 严重性 代码 说明 ...

  6. flask 更新数据库

    在做项目的过程中,我们都遇到过,经常需要修改我们数据库的字段,在flask中,是通过ORM(对象关系映射)来创建数据库的,表--->model class,字段---->属性 在flask ...

  7. vue 二三倍图适配,1像素边框

    //文件名为mixin.scss// 2,3倍图适配 @mixin bg-image($url){ background-image: url("~imgs/icon/" + $u ...

  8. 多路选择器实现总线结构——Verilog

    ////////////////////////////////////////////////////////////////////////////////// //该程序完成通过多路选择器MUX ...

  9. 《梦断代码》Scott Rosenberg著(二)

    书中有一段说的是一个闪烁缺陷——在改变某软件中某个窗体的尺寸时,屏幕会闪烁一秒钟左右.虽然该缺陷不会影响程序运行,但它不符合作者的审美观,历时六个多月仍然没能修正.其实在日常的编程中也有许多小bug的 ...

  10. Telnet服务器和客户端请求处理

    Telnet服务器和客户端请求处理 本文的控制台项目是根据SuperSocket官方Telnet示例代码进行调试的,官方示例代码:Telnet示例. 开始我的第一个Telnet控制台项目之旅: 创建控 ...