论文部分内容阅读
PCI Express简称PCIe,是由英特尔提出的第三代高性能I/O总线和接口标准。PCIe能够应用于移动设备、台式电脑、工作站、服务器和通信平台等I/O设备互连。PCIe使用基于LVDS差分信号的双通道串行传输模式,每个通道由两对差分信号组成。它的8b/10b编解码机制不仅可以完成时钟镶嵌任务,还可以有效的防止接收PLL中的频率漂移。其使用数据包形式进行数据传输,可以保证数据的可靠性和准确性。这些机制协同作用使PCIe在数据传输时可以提供10GB/s的高带宽。高带宽、高传输效率使得它在目前通信系统中具有广泛的用途和发展前景。本论文基于PCIe高速传输特性,针对用户提出的需求,设计了一款实现片内处理器和片外PCIe设备之间通信的高速接口并进行了验证。本接口设计基于PCIe核2.0和PLB4标准规范,在传统PCIe接口上增加了实现PCIe请求和PLB请求之间的相互转换的PLB处理模块,使得本接口可以完成片内PLB总线和片外PCIe设备的高速通信。论文主要包括以下几个方面的内容:首先对PCIe协议进行系统研究,总结其实现数据高速传输机理,学习了它的协议内容。通过学习PCIe系统体系架构了解了PCIe接口在系统体系架构中的应用,为接口设计提供了理论依据。其次采用“自上而下”的设计方法实现接口设计。根据功能将接口模块划分为四部分:PCIe核,用户逻辑模块,DMA模块以及PLB模块。PCIe核,本设计使用的是赛灵思的IP核,其主要作用为完成传输数据的串并转换,数据包的错误分析与重发等;用户逻辑模块是连接PCIe核和PLB模块的枢纽,它完成对PCIe核管理寄存器的控制和对PLB时序、PCIe时序之间的同步处理;DMA模块,其处于PCIe核和用户逻辑之间,由用户逻辑控制完成片内系统存储和片外设备之间的数据高速搬运功能;PLB接口模块,它和PLB总线连接,是整个接口通往PLB总线的通路,其实现操作请求中PLB地址空间和PCIe地址空间的相互转换。四部分协同作用实现片内处理器和片外PCIe设备之间的数据高速传输。最后基于功能验证对设计的高速接口进行验证。在Linux环境下搭建验证平台,将本设计实现的接口例化在片上处理器模型和PCIe主机模型之间,通过两个模型对接口模块施加激励完成验证。验证结果表明:用户逻辑模块配置寄存器功能正确;DMA模块可以完成单拍为256字节的数据搬运功能;从而整个接口模块可以完成片内处理器和片外PCIe设备之间数据的高速传输,速率为5Gbps,达到了设计要求。