论文部分内容阅读
随着计算机处理器、显卡核心、FPGA加速器等器件的数据处理速率越来越快,人们对数据的吞吐量产生了越来越高的要求。在医用CT三维重建系统中FPGA硬件加速器对数据传输速率要求很高,传统的PCI、PCI-X总线已无法满足系统的性能需求。因此我们选择了第三代总线PCIE(PCI Express)作为系统的数据传输接口,PCIE体系结构继承了第二代总线体系结构最有用的特点,并且采用了一些新的技术成果。使得它的数据吞吐率可以达到很高的程度:单条链路有效数据速率为2Gb/s。它同时还可以有多条链路。并且它与PCI具有后向兼容性,所以能直接用于当前的操作系统,也可以直接采用PCI设备的驱动程序。本文的主要目标是实现PCIE的数据传输,满足FPGA加速器对高速数据传输的需求。论文首先对PCIE协议进行了分析与研究,分析了各种数据包的格式与功能,根据其对数据处理功能的不同按三层进行了剖析,这三层包括:传输层,数据链路层和物理层。在此基础上研究了XILINX的PCIE IP核的功能及产生与使用方法。最后实现了Local Interface接口模块的设计,Local Interface相当于PCIE分层协议的第四层:应用层,它是PCIE中传输数据的起源地或目的地。在本论文中Local Interface的作用是通过它连接PCIE和存储器,实现两者之间的数据交换。存储器中暂存FPGA加速器需要处理的以及处理完的数据。该模块包含一个接收器和一个发送器,分别进行TLP(Transaction Layer packet)的解码和编码。接收器解码接收到的数据包,发送器把主机需要的信息编码成PCIE能够识别的数据包。Local Interface模块用ISE综合后最大工作频率可以达到370MHz,能够充分满足实际工作频率125MHz的要求。LUT使用了379个单元。最后利用windrv生成PCIE的驱动程序,在PC机上成功实现了数据的读写,为建立完整的FPGA加速器系统提供了试验基础。