基于Wishbone和端點IP的PCIE接口設(shè)計
摘要:介紹了FPGA內(nèi)嵌的PCI Express硬核端點模塊和Wishbone片上總線規(guī)范。應(yīng)用VHDL語言,編程實現(xiàn)了Wishbone總線的主從端口,以及TLP包的編碼和解碼功能。在FPGA上運行程序并使用Chipscope測試時序波形,驗證了接口數(shù)據(jù)傳輸?shù)姆€(wěn)定性和正確性。
關(guān)鍵詞:PCI Express總線;FPGA;PCIE端點模塊;Wishbone
0 引言
當前,基于FPGA實現(xiàn)PCI Express接口有兩種方案,一是采用第三方PHY接口器件和FPGA實現(xiàn);二是采用集成GTP的FPGA來實現(xiàn)。集成GTP的FPGA實現(xiàn)PCI Express接口在鏈路效率、兼容性測試及資源可用性等方面有其獨特的優(yōu)勢。隨著技術(shù)的發(fā)展和對傳輸數(shù)據(jù)速率和靈活性要求的提高,將更加趨于利用高性能FPGA(即集成GTP的FPGA)來實現(xiàn)PCIExpress接口功能。但是,要在FPGA上實現(xiàn)PCI Express通信橋接,還需要用戶根據(jù)PCI Express協(xié)議構(gòu)建自己的軟IP或者向第三方或FPGA供應(yīng)商購買IP核。構(gòu)建IP核的難題在于其難度較大且開發(fā)周期較長;向第三方或FPGA供應(yīng)商購買的IP,存在專利費用問題。對于一些驗證性開發(fā),其重點一般在于應(yīng)用功能的實現(xiàn),而希望公共模塊(如PCI Express接口)的開發(fā)在滿足性能的前提下,盡量少花時間和費用,從而縮短開發(fā)周期和成本。因此,利用已有可獲取資源,實現(xiàn)PCI Express接口成為這類開發(fā)中的首選。
Xilinx的V5/V6系列FPGA芯片中已集成了硬核端點的PCI Express模塊,提供了PCI Express接口的底層配置,相當于提供了一個專用協(xié)議與PCI Express之間的橋梁。在PCI Express硬核端點上集成片上總線,實現(xiàn)PCI Express與應(yīng)用模塊互聯(lián),將能更快地實現(xiàn)PCI Express接口的開發(fā)。
目前比較常見的片上總線規(guī)范有IBM公司的CoreConnect,ARM公司的AMBA和Silicore Corp公司的Wishbone。CoreConnect和AMBA規(guī)范復雜,在設(shè)計中需要建立連接橋以連接不同IP核。相對于其他兩種接口規(guī)范,Wishbone接口規(guī)范具有簡單、高效、易于實現(xiàn)等特點,而且完全免費。因此,本文采用Wishbone總線規(guī)范實現(xiàn)PCI Exprpess接口。
1 Wishbone基本原理、Xilinx集成端點IP及TLP包結(jié)構(gòu)
1.1 Wishhone的基本原理
Wishbone最先是由Silicore公司提出的,現(xiàn)在己被移交給OpenCores組織維護。其開放性、簡單性和靈活性受到廣大設(shè)計者的青睞,現(xiàn)在己有不少的用戶群體,特別是一些免費的IP核,采用Wishbone標準。除了具備地址/數(shù)據(jù)總線寬度可變、互聯(lián)結(jié)構(gòu)可變及仲裁機制靈活等片上總線的共同特點外,Wishhone還包括以下特征:
(1)支持點到點、共享總線、十字交叉和基于交換結(jié)構(gòu)的互聯(lián);
(2)支持常用的總線數(shù)據(jù)傳輸協(xié)議,如單字節(jié)讀寫周期、塊傳輸周期、控制操作及其他的總線事務(wù)等;
(3)主/從結(jié)構(gòu),支持多控制器和64位地址空間,從端部分地址解碼;握手協(xié)議使得每個核都可以控制數(shù)據(jù)的傳輸速度;
(4)用戶自定義標記(TAG),確定數(shù)據(jù)傳輸類型、中斷向量等;
(5)接口簡單、緊湊,總線實現(xiàn)的邏輯單元少。
Wishhone采用主端(Master)和從端(Slave)的架構(gòu)。主端模塊發(fā)出數(shù)據(jù)傳送請求,然后通過一個接口網(wǎng)絡(luò)和從端進行數(shù)據(jù)交換,其系統(tǒng)結(jié)構(gòu)如圖1所示。這個接口網(wǎng)絡(luò)稱之為INTERCON,各終端之間訪問通過INTERCON,INTERCON內(nèi)部可根據(jù)訪問情況采用不同的互連方式,Wishbone將它稱為可變互聯(lián)網(wǎng)絡(luò)??勺兓ヂ?lián)網(wǎng)絡(luò)的連接形式有點對點、數(shù)據(jù)流、共享總線和交叉總線等。
Wishbone可變的互連方式允許系統(tǒng)設(shè)計工程師可以采用不同的IP核互連方式,以滿足不同場合的要求。根據(jù)需要,本設(shè)計采用點對點的總線互連方式。圖2給出了點對點的MASTER/SLAVE主從接口圖。其中SYSCON為產(chǎn)生時鐘和復位信號,TAGN為用戶自定義信號。
評論