PCIe物理层接口(Physical Interface for PCI Express,PIPE)定义了物理层中的,媒介层(Media Access Layer,MAC)和物理编码子层(Physical Coding Sub-layer,PCS)之间的统一接口,PIPE 协议有助于使不同厂家之间的设备有更好的兼容性。
MAC和PCS都属于PCIe中的物理层逻辑子层部分,而PMA(Physical Media Attachment Layer)则属于物理层电气子层,如下图所示:
其中PIPE规范是由Intel提出的行业建议,并非PCI-SIG规定的PCIe标准之一,PCIe设备厂家完全可以自主选择是否采用PIPE规范。
虽然PIPE规范最早是用于PCIe总线中的(从命名方式就可以看出来),但是该规范的后续版本逐渐开始支持了其他的串行接口。以Intel发布的最新版本的PIPE Spec为例(v5.1),该版本涉及PCI Express、SATA、USB、DisplayPort和Converged IO等多种高速串行接口。
信号速览表
PIPE 信号速览表旨在为 PCIe 设计验证人员提供一个快速归类、连接和检查的实用工具。
速览表包括信号的各项属性:
- 信号名字
- 信号位宽,/ 表示兼容多种情况
- 信号方向,输入输出方向是相对 PHY 来说的
- 信号有效值
- 信号类型,PIPE v3 协议将信号分为 DATA/Command/Status 三类
- 简单信号描述,详细描述请参阅协议文本
- 总线限制:部分信号只在某几种总线类型下需要。
- ONLY 表示只有后跟的协议需要
- NOT 表示只有后跟的协议不需要
- 是否可选
- YES 表示该信号不是必须的
本表有一些备注:
- 信号列表中未包括 PCLK,RESET#,TXRX 等时钟、复位以及串行数据信号。
本期将从比较简单的 v3.0 协议开始,后续将继续制作更新的协议:
- v4.2 ,支持 PCIe 3/USB 3.1
- v4.3 ,支持 PCIe L1SS/PCIe 4/USB 3.1
- v5.1, 支持 PCIe 5
并将在表格中新增一栏,描述相较于先前协议的改变。
PIPE v3.0
PIPE v3.0 支持 PCIe2/USB3.0,出版于 2009 年。
PIPE v3.0 信号列表
电子版下载
ljgibbs/Design with Physical Interface for PCI Express
协议下载
https://www.intel.com/content/dam/doc/white-paper/usb3-phy-interface-pci-express-paper.pdf
参考文献
https://zhuanlan.zhihu.com/p/444919188
转载自:知乎
作者:LogicJitterGibbs
推荐阅读
- PCI Express Technology 3.0:PCIe体系结构概述 2.2-2.3
- PCI Express Technology 3.0:PCIe体系结构概述 2.1 节
- PCI Express Technology 3.0:Chapter 1 Background/背景
更多招聘及面经请关注FPGA的逻辑。