引言:本文對Xilinx 7 Series Intergrated Block for PCI Express PCIe硬核IP進(jìn)行簡要介紹,主要包括7系列FPGA PCIe硬核資源支持、三IP硬核差異、PCIe硬核資源利用等相關(guān)內(nèi)容。
1. 概述
1.1 7系列FPGA PCIe硬件資源支持
7系列FPGA對PCIe接口最大支持如表1所示。
表1:7系列FPGA器件最大資源支持
Spartan-7系列不包含PCIe硬核,Artix-7和Kintex-7包含1個PCIe Gen2硬核,Virtex-7根據(jù)器件資源不同支持2~4個PCIe Gen3硬核。
1.2 PCIe硬核IP
Xilinx 7系列FPGA集成了PCIe硬核IP模塊,該IP核中固化了PCIe物理層和數(shù)據(jù)鏈路層協(xié)議相關(guān)設(shè)計,降低了PCIe協(xié)議的使用難度。對于事務(wù)層接口,7系列FPGA提供了三種不同的IP核供選擇,如圖1所示。
圖1:7系列FPGA三種不同的IP核
圖2:7 Series Intergrated Block for PCI Express核框圖
7 Series Intergrated Block for PCI Express:如圖2所示,它是最基礎(chǔ)的PCIe IP,實現(xiàn)的是PCIe的物理層、數(shù)據(jù)鏈路層,提供給用戶的是以AXI4-stream接口定義的TLP包。它是這三種IP中資源使用最小,最靈活,也是開發(fā)難度最大的。用戶如果要往主機(jī)發(fā)數(shù)據(jù),需要在邏輯端組好MEM_WR事務(wù)包送到AXI4-stream接口,同樣要從主機(jī)獲取數(shù)據(jù),就要發(fā)送MEM_RD事務(wù)包,然后獲取到COMPLETE事務(wù)包,再從COMPLETE事務(wù)包中提取出數(shù)據(jù)。使用該IP核,需要對PCIe協(xié)議有清楚的理解,特別是對事務(wù)包 TLP 報文格式。
圖3:AXI Memory Mapped To PCI Express IP核框圖
AXI Memory Mapped To PCI Express:如圖3所示,它對第①中IP核進(jìn)行了增強(qiáng)封裝,簡化設(shè)計,提供了AXI MM/S橋接,該橋不僅實現(xiàn)了AXI4 to stream的功能,還提供了事務(wù)層包TLP的組裝和拆卸、地址轉(zhuǎn)換、錯誤處理等功能。使用該IP時,用戶只需通過AXI4接口接收和發(fā)送PCIe數(shù)據(jù),不需要組裝和拆卸事務(wù)包。從邏輯資源消耗的角度來看,居三種IP之中,開發(fā)難度也是居三種IP之中。
圖4:AXI Memory Mapped To PCI Express IP核框圖
DMA/Bridge Subsystem for PCI Express:如圖4所示,它也叫做 XDMA,相較于上一種IP,該IP不僅完成了事務(wù)層的組包解包,還添加了完整的DMA引擎。雖然在資源利用方面居三者之最,但開發(fā)難度也是三種IP最小的,完全不了解PCIe總線協(xié)議也可使用該IP開發(fā)PCIe。XDMA雖然簡單易用,但XDMA也有它的局限,主要表現(xiàn)在兩個方面:
1)XDMA正如其名字中的DMA一樣,適用與大批量的數(shù)據(jù)傳輸場景,不適合小數(shù)據(jù)場景;
2)XDMA只能用于PCIe的終端(endpoint)設(shè)備,不能用于Root Port,另外二個IP既可以用于終端(endpoint)設(shè)備,也可以用與Root Port。
2. 7 Series Intergrated Block for PCI Express IP核特性
該IP核集成塊是一種可擴(kuò)展、高帶寬和可靠的串行互連構(gòu)建塊,適用于Xilinx?Zynq?-7000 SoC和7系列FPGA系列。該集成塊支持5Gb/s(Gen2)速度的x1、x2、x4和x8通道端點(diǎn)配置和根端口配置,所有這些配置都符合PCI Express基本規(guī)范2.1版。該解決方案支持AMBA?AXI4 Stream接口戶用戶界面。憑借更高的每引腳帶寬、低開銷、低延遲、減少的信號完整性問題和CDR架構(gòu)。其主要特性如下:
●高性能、高度靈活、可擴(kuò)展、可靠的通用I/O內(nèi)核;
●采用Xilinx Smart IP技術(shù),保證關(guān)鍵時序;
●7系列FPGA系列使用GTXE2或GTPE2收發(fā)器:
○支持2.5 GT/s和5.0 GT/s線速度
○支持x1、x2、x4和x8通道
○彈性緩沖和時鐘補(bǔ)償
○自動時鐘數(shù)據(jù)恢復(fù)
●支持端點(diǎn)(EP)和根端口配置(RC);
●8B/10B編碼和解碼;
●根據(jù)PCI Express規(guī)范要求支持通道反轉(zhuǎn)和通道極性反轉(zhuǎn);
●標(biāo)準(zhǔn)化用戶界面;
●符合PCI/PCI Express電源管理功能和事務(wù)排序規(guī)則;
●支持高達(dá)1024字節(jié)的最大事務(wù)有效載荷;
●支持最多32個矢量的多矢量msi和msi-x;
●升級配置功能實現(xiàn)了應(yīng)用程序驅(qū)動的帶寬可擴(kuò)展性。
3. 典型應(yīng)用領(lǐng)域
PCIe典型應(yīng)用領(lǐng)域包括:
●電信網(wǎng)絡(luò);
●寬帶有線和無線應(yīng)用程序;
●芯片到芯片和背板接口卡;
●用于各種應(yīng)用程序的服務(wù)器 add-in 附加卡。
●數(shù)據(jù)通信網(wǎng)絡(luò)。
4. PCIe硬核資源利用
7 Series Intergrated Block for PCI Express支持的線速及用戶接口位寬如表2所示。
表2:7 Series Intergrated Block for PCI Express支持的線速及用戶接口位寬
表3顯示了針對不同通道配置,PCIe硬核資源使用情況。
表3:針對不同通道配置,PCIe硬核資源使用情況
表4顯示了針對不同通道、線速配置,PCIe硬核BUFG資源使用情況。
表4:針對不同通道、線速配置,PCIe硬核BUFG資源使用情況
????????????????? ? ?? ???????