论文部分内容阅读
计算机体系结构的发展对总线的带宽提出了更高的要求,Intel提出的第三代IO总线技术PCI EXPRESS(PCIe)是一个可以跨多个计算和通信平台的高速数据总线。其区别于PCI总线的点到点串行传输技术使得它拥有了更高的数据传输效率和扩展性。PCI EXPRESS总线拥有类似于TCP/IP协议的层次结构,数据通过历遍发送端和接收端的事物层、数据链路层和物理层来达到传输的目的。物理层作为整个协议的最底层,在整个PCI EXPRESS体系结构中发挥了不可替代的作用。通过物理层数据可以进行串并转换,并将时钟信号内嵌在串行数据流中,这样不仅提高了数据传输效率,还避免了设备连接时需要匹配相应点时钟总线,提高了设备的可扩展性。而连接物理层的差分信号线更是有效的减弱了传输过程中的电磁干扰,提高了总线运行频率。整个物理层分为逻辑物理层和电气物理层两个大部分,PCIe媒体访问控制(Media Access Control,MAC)是逻辑物理层的核心部分,作为数据链路层和物理层连接的关键部分,它是整个PCIe总线成功运行的关键。MAC的主要功能包括三个部分:数据发送、数据接收和链路训练,与之对应的是发送逻辑(TX)、接收逻辑(RX)以及链路状态训练机(LTSSM)。发送逻辑对来自数据链路层的数据包进行字节剥离、编码、串并转换等过程,接收逻辑是发送逻辑的逆过程,负责将接收到的串行数据流恢复成并行数据。LTSSM是整个设计的重点和难点,其主要作用是对链路进行训练以完成PCIe链路的物理层初始化、端口配置信息初始化和相应链路状态的初始化。本文基于PCIe协议总线,重新设计了协议栈以满足众核服务器芯片的数据传输需求,在设计中增加了网络层在数据传输过程中充当路由的功能。本文通过流程图、状态转换图以及具体模块的数据接口图表详尽展示了每个功能模块的是实现方式,在具体工程实践中使用Verilog硬件描述语言完成了RTL代码,并在Xilinx ISE套件中完成了仿真、综合和布局布线等功能。在完成逻辑设计之后,利用System Verilog语言搭建相应的验证平台对设计的功能进行了更为完整的验证,验证结果表明本设计已经实现了MAC的功能作用。本文设计的PCIe物理层MAC实现了数据的多路传输,大大提高了数据传输效率,在实际应用中成功的连接了40核CPU,该服务器芯片最终流片成功并能稳定运行各类操作系统。