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