Xilinx PCI-Express核总线接口设计与实现
扫描二维码
随时随地手机看文章
摘 要: 介绍了基于PCI-Express总线的DMA硬件设计,并运用硬件描述语言Verilog HDL对其实现。使用Xilinx公司Virtex-5系列FPGA对该设计进行了验证。结果表明,该设计能满足实际应用对可读性、可靠性及高效性的要求。
关键词: PCI-Express事务层; DMA; Xilinx IP 核; Verilog HDL
随着计算机技术的飞速发展,PCI总线已经远远不能满足当前处理器和I/O设备对带宽的更高需求。传统PCI和PCI-X[1]总线都是多点并行互连总线(即多台设备共享一条总线),并行总线之间存在相互干扰、时钟抖动,这些因素制约了其带宽。PCI-SIG(Peripheral Component Interconnect Special Interest Group)推出的第三代I/O系统PCIE(PCI-Express)[2]能够实现两台设备之间点对点的串行通信,使用交换器还可实现多台PCI-Express设备的互连,而且具有管脚少、带宽高、外围传播能力强、兼容性能好等特点。目前,PCI-Express 1.0a发送和接收的数据速率可达2.5 Gb/s。
类似于OSI(Open System Interconnection)网络模型,PCI-Epxress引入了分层概念,层与层之间透明,各自完成独立功能的同时又紧密联系。PCIE总共分为三层:物理层、数据链路层和事务层。其层次结构[3]如图1所示。
物理层分为逻辑物理层和电气物理层。逻辑物理层完成对数据包的合成分解、8 b/10 b编码和10 b/9 b解码、并串转换和串并转换;电气物理层负责对每路串行数据差分驱动的传输与接收及阻抗匹配;数据链路层是其中间层,主要负责链路管理、与数据完整性相关的功能,包括错误检测和错误改正以及产生和处理数据链路层包。事务层是PCI Express架构的上层,其主要功能是接收、缓冲和分发事务包TLP(Transaction Layer Packet)。TLP通过