Xilinx PCI-Express核總線接口設計與實現
摘 要: 介紹了基于PCI-Express總線的DMA硬件設計,并運用硬件描述語言Verilog HDL對其實現。使用Xilinx公司Virtex-5系列FPGA對該設計進行了驗證。結果表明,該設計能滿足實際應用對可讀性、可靠性及高效性的要求。
關鍵詞: PCI-Express事務層; DMA; Xilinx IP 核; Verilog HDL
隨著計算機技術的飛速發(fā)展,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發(fā)送和接收的數據速率可達2.5 Gb/s。
類似于OSI(Open System Interconnection)網絡模型,PCI-Epxress引入了分層概念,層與層之間透明,各自完成獨立功能的同時又緊密聯系。PCIE總共分為三層:物理層、數據鏈路層和事務層。其層次結構[3]如圖1所示。
物理層分為邏輯物理層和電氣物理層。邏輯物理層完成對數據包的合成分解、8 b/10 b編碼和10 b/9 b解碼、并串轉換和串并轉換;電氣物理層負責對每路串行數據差分驅動的傳輸與接收及阻抗匹配;數據鏈路層是其中間層,主要負責鏈路管理、與數據完整性相關的功能,包括錯誤檢測和錯誤改正以及產生和處理數據鏈路層包。事務層是PCI Express架構的上層,其主要功能是接收、緩沖和分發(fā)事務包TLP(Transaction Layer Packet)。TLP通過





