基于Wishbone和端點IP的PCIE接口設計
DMA寫操作實現的主要方法是主機將TLP包頭中的各個字段正確填充,按照32位并組裝成TLP包頭,通過主機PCI Express接口傳輸到集成端點硬核。硬核收到數據后,緩存到Rx_ram中,在解碼邏輯控制下,根據包頭類型(10/11b)及格式字段(00000b)發起Wishbone寫操作,將TLP包的有效載荷寫入存儲器中。
在進行PCI Express的DMA讀操作時,數據通過wishbone總線讀入,在編碼邏輯控制下,數據按照TLP包格式寫入Tx_ram中,將數據打包成一個3DW完成包,等待端點模塊發送。
2.3 功能仿真
本設計在XUPV5 LX110T開發板上進行了功能驗證試驗。首先利用Xilinx公司的CORE Generator工具生成PCI Express端點IP核,其主要參數是鏈路數為X1,基地址0使能,地址類型為32位,訪問類型為Memory類型,用戶時鐘輸入為62.5 MHz。編程設計完成后,通過JTAG接口下載到FPGA芯片中,用Chipscope進行測試,波形圖如圖9~圖10所示。本文引用地址:http://www.104case.com/article/190176.htm
通過數據傳輸試驗測試,Wishhone轉PCI Express接口的傳輸速率能達到80 MB/s以上,系統工作穩定。目前,Wishbone實現了32 b/16 b/8 b的單個存儲器的讀和寫和DMA讀寫。如能夠編程實現Wishbone大字節塊的突發傳輸,傳輸速率將大大提高,這也是下一步開發的重點。
3 結語
測試試驗結果證明,采用Wishbone和端點IP實現PCI Express總線接口,具有較高的通信速率,能滿足許多應用的一般通信要求,特別是開發過程簡化且極大地縮短了開發時間。這種設計模式能夠更加專注于應用功能的實現而不必在一些公共模塊(如PCIExpress)上花費更多的時間和成本。另外,本文采用FPGA芯片內嵌PCI Express End point Block硬核來進行PCI Express的設計,實現方式也為相似產品開發提供了有益參考。
評論