PCI Express是由Intel,Dell,Compaq,IBM,Microsoft等PCI SIG联合成立的Arapahoe Work Group共同草拟并推举成取代PCI总线标准的下一代标准。PCI Express利用串行的连接特点能轻松将数据传输速度提到一个很高的频率,达到远远超出PCI总线的传输速率。一个PCI Express连接可以被配置成x1,x2,x4,x8,x12,x16和x32的数据带宽。x1的通道能实现单向312.5 MB/s(2.5 Gb/s)的传输速率。Xilinx公司的Virtex5系列FPGA芯片内嵌PCI-ExpressEndpoint Block硬核,为实现单片可配置PCI-Express总线解决方案提供了可能。 本文在研究PCI-Express接口协议和PCI-Express Endpoint Block硬核的基础上,使用Virtex5LXT50 FPGA芯片设计PCI Express接口硬件电路,实现PCI-Express数据传输。 1 PCI Express的拓扑结构 PCI Express是一种能够应用于点设备、台式电脑、工作站、服务器、嵌入式计算机和通信平台等所有周边I/O设备互连的总线。其拓扑结构如图1所示,其中包含ROOT COMPLEX(RC)、多个终端(I/O器件)、开关和PCI Express/PCI桥路,它们通过PCI Express进行互联。
RC是I/O层次的根部,将CPU/存储器子系统与I/O相连。RC可以支持一个或多个PCI Express端口,例如英特尔芯片组。 开关定义为多个虚拟PCI之间的桥路器件的逻辑组,它们使用一种基于地址路由的PCI桥路机制来传递执行信息,例如IDT PCI Express开关。 端点是指能作为PCI Express执行的请求者或完成者的那一类器件,可以是PCI Express自身,也可以是一个非PCI Express器件,例如连接在PCI Express上的图形控制器。 PCIE总线保留了对于PCI局部总线协议全部软件的向下兼容性,即只要是PCIE的卡都可以插到支持PCI的操作系统上使用;在硬件上,两者不兼容,PCIE取代PCI,PCI-X的并行多路总线结构,采用一种串行、点到点的总线连接结构,需要的接口更少。 |