PCIe的设计可以分为controller和PHY,整体设计较为复杂,一般可向IP厂商定制设计,controller和PHY模块的接口是PIPE接口

一、一般实现架构

1.1 PCIE controller

控制器逻辑包含了IP的host设计,以及PCIe协议中所规定的事务层、数据链路层、物理层实现逻辑,通常包含如下模块:

  • reset逻辑:通常会设置复位逻辑,通过总复位控制子复位;
  • debug逻辑:监测IP状态,供设计人员debug用;
  • msg处理逻辑:IP的某些信号由message处理,有CPU内核来处理;
  • 子系统配置处理逻辑;
  • 错误处理逻辑:查找寄存器,并记录,产生中断;
  • MSI逻辑:对地址,数据通道进行监测;
  • 中断逻辑:IP中某些中断可以合并;

1.2 PHY模块

PHY模块用于连接协议层和链路,包含了驱动和锁相环、串转并、并转串等所有与接口操作相关的所有电路。

  • PHY控制逻辑:直通PHY模块的寄存器配置和控制;
  • DFT:IP中会提供专门用于DFT的引脚。

从PCIe协议来讲,物理层分为逻辑子模块和物理子模块,逻辑子模块又分为媒介访问层(MAC)和物理编码子层(PCS);PMA层包含串行器/解串器(SerDes)和其他模拟电路;

  • PCIE Serdes
    SerDes(Serializer-Deserializer)是串行器和解串器的简称,串行器(Serializer)也称为SerDes发送端(Tx),(Deserializer)也称为接收端Rx。
    SerDes的主要构成可以分为三部分,PLL模块,发送模块Tx,接收模块Rx。

  • PCIE的数据链路(lane)

PCIe采用端到端的数据传送方式,数据的发送端和接收端都含有一个发送逻辑(TX)和接收逻辑(RX),如下图 1所示是PCIe链路的一个数据通路(lane),一个lane有两组差分信号,共四根信号线。其中接收端的RX和发送端的TX使用一组差分信号连接。一个PCIe链路可以由多个lane组成,最多有32条lane(由于物理尺寸太过庞大,一般情况下并不使用)。

1.3 PIPE接口

physical interface of PCI Express,PCIe的PHY层接口。

二、特殊应用场景设计架构

2.1 事务层旁路模式

旁路pcie控制器事务层,用户逻辑来实现pcie配置空间结构、TLP的处理逻辑等PCIe事务层功能。
该模式可实现upstream和downstream模式,upstream模式下通常可用来向上对接CPU,向下对接FPGA实现的Switch,switch接EP设备;downstream模式下可对接PCB版上的EP设备。此类实现在IPU、DPU、智能网卡中使用较多。