Xilinx PCI-Express核總線接口設(shè)計與實現(xiàn)
摘 要: 介紹了基于PCI-Express總線的DMA硬件設(shè)計,并運用硬件描述語言Verilog HDL對其實現(xiàn)。使用Xilinx公司Virtex-5系列FPGA對該設(shè)計進行了驗證。結(jié)果表明,該設(shè)計能滿足實際應(yīng)用對可讀性、可靠性及高效性的要求。
關(guān)鍵詞: PCI-Express事務(wù)層; DMA; Xilinx IP 核; Verilog HDL
隨著計算機技術(shù)的飛速發(fā)展,PCI總線已經(jīng)遠遠不能滿足當(dāng)前處理器和I/O設(shè)備對帶寬的更高需求。傳統(tǒng)PCI和PCI-X[1]總線都是多點并行互連總線(即多臺設(shè)備共享一條總線),并行總線之間存在相互干擾、時鐘抖動,這些因素制約了其帶寬。PCI-SIG(Peripheral Component Interconnect Special Interest Group)推出的第三代I/O系統(tǒng)PCIE(PCI-Express)[2]能夠?qū)崿F(xiàn)兩臺設(shè)備之間點對點的串行通信,使用交換器還可實現(xiàn)多臺PCI-Express設(shè)備的互連,而且具有管腳少、帶寬高、外圍傳播能力強、兼容性能好等特點。目前,PCI-Express 1.0a發(fā)送和接收的數(shù)據(jù)速率可達2.5 Gb/s。
類似于OSI(Open System Interconnection)網(wǎng)絡(luò)模型,PCI-Epxress引入了分層概念,層與層之間透明,各自完成獨立功能的同時又緊密聯(lián)系。PCIE總共分為三層:物理層、數(shù)據(jù)鏈路層和事務(wù)層。其層次結(jié)構(gòu)[3]如圖1所示。
物理層分為邏輯物理層和電氣物理層。邏輯物理層完成對數(shù)據(jù)包的合成分解、8 b/10 b編碼和10 b/9 b解碼、并串轉(zhuǎn)換和串并轉(zhuǎn)換;電氣物理層負責(zé)對每路串行數(shù)據(jù)差分驅(qū)動的傳輸與接收及阻抗匹配;數(shù)據(jù)鏈路層是其中間層,主要負責(zé)鏈路管理、與數(shù)據(jù)完整性相關(guān)的功能,包括錯誤檢測和錯誤改正以及產(chǎn)生和處理數(shù)據(jù)鏈路層包。事務(wù)層是PCI Express架構(gòu)的上層,其主要功能是接收、緩沖和分發(fā)事務(wù)包TLP(Transaction Layer Packet)。TLP通過