基于ISA(工業(yè)標(biāo)準(zhǔn)架構(gòu))總線的首個擴展卡最初在1978年問世,由于要求提升系統(tǒng)整體性能,MCA(微通道架構(gòu))等總線系統(tǒng)或是擴展的ISA總線隨后也相繼出現(xiàn)。鑒于數(shù)據(jù)通道寬度(主要是8或16位)和總線架構(gòu)的速度問題,許多標(biāo)準(zhǔn)都限制了帶寬。此外,萬一錯誤配置了總線,很難確定差錯在哪里,因此調(diào)試這個系統(tǒng)時就會遇到各種問題。根據(jù)這些舊的總線標(biāo)準(zhǔn)的經(jīng)驗,新的標(biāo)準(zhǔn)PCI(外設(shè)部件互連)最終得以確定。本文將探討PCI標(biāo)準(zhǔn)的局限性,以及下一代PCI Express是如何以節(jié)約成本的方式得以實現(xiàn)的。
為了克服舊標(biāo)準(zhǔn)的上述局限,1992年人們建立了PCI。其目的是構(gòu)建一個更高帶寬的標(biāo)準(zhǔn),有即插即用功能和更穩(wěn)健的協(xié)議。PCI協(xié)議支持差錯校驗,通過與計算機的BIOS(基本輸入輸出系統(tǒng))通信實現(xiàn)即插即用功能,并通過標(biāo)準(zhǔn)的控制/狀態(tài)軟件接口就地址范圍或PCI插卡功能等信息進行交換。如果出現(xiàn)地址范圍重疊等差錯,計算機本身可以提供一些反饋。一個基本的32位33MHz的PCI系統(tǒng),可支持的傳輸速率高達132MBps。但是,這個架構(gòu)也有一些限制因素。總線是單向的(發(fā)起方和被請求的目標(biāo)設(shè)備不能在同一時間進行通信),且?guī)讉€卡要共享一條總線。如果一張卡正在傳輸數(shù)據(jù),所有其他的可訪問總線的部件必須等待。此外,在系統(tǒng)中無法處理PCI帶寬的低性能卡將進行“重試”請求,以確保有更多時間來處理數(shù)據(jù)。這就大大降低了整個系統(tǒng)的帶寬。PCI的另一個限制是各種應(yīng)用對所需求帶寬不斷增加,特別是在視頻、通信和總線領(lǐng)域。圖1列出的一些應(yīng)用,已經(jīng)接近或超過了理論上的PCI帶寬132MBps。

圖1:各種應(yīng)用的帶寬需求對比理論上PCI提供的132MBps。
PCI還有其他一些缺點,如限制只能有5個部件訪問總線。由于PCI總線特殊的無端接總線的反射,電路板的設(shè)計也更加困難。數(shù)據(jù)路徑寬度為32或64位的并行線也對時序有苛刻的要求。
根據(jù)以往經(jīng)驗,PCI-SIG(PCI特別興趣小組)與行業(yè)內(nèi)的領(lǐng)先公司合作,定義了PCI的下一代標(biāo)準(zhǔn)。新標(biāo)準(zhǔn)最初被稱為3G IO(第三代輸入輸出),后來改名為大家熟悉的PCI Express。PCI Express的首個規(guī)范于2002年4月公布,其解決了原有PCI標(biāo)準(zhǔn)的所有限制因素。為了克服無端接的大量并行總線并增加帶寬,PCI Express轉(zhuǎn)變?yōu)檫\行速率2.5Gbps的串行鏈路,提供兩個方向同時進行的2Gbps的原始數(shù)據(jù)率。為了滿足更高的帶寬要求,規(guī)范允許使用幾個并行的“通道”。因此對于目前計算機的低帶寬應(yīng)用,有很多x1和x4通道;對于有高帶寬的要求,例如顯卡,則有x16的插槽。
由于PCI Express規(guī)范使用基于層的協(xié)議,類似于OSI的層次模型,它很容易改變物理層和保留上層協(xié)議。這種做法已被最近發(fā)布的PCI Express 2.0規(guī)范所采納,使得鏈路速度高達5Gbps。然而,大多數(shù)新的設(shè)計開始仍然是基于PCI Express 1.1版本的2.5Gbps。
一個PCI Express系統(tǒng)可以用幾個部件組成。所有的系統(tǒng)都需要有一個根聯(lián)合體(Root Complex)對整個系統(tǒng)進行管理。交換設(shè)備(Switch)是用來將幾個卡連接到另一個PCI Express鏈路,“端設(shè)備”則代表了用戶應(yīng)用。橋接是端設(shè)備的特殊形式,可以將舊的PCI應(yīng)用連接至PCI Express總線。FPGA主要用于端設(shè)備或橋接應(yīng)用。
在PCI Express應(yīng)用中FPGA起著重要的作用,主要有三種設(shè)計方法:
*PCI-Express至PCI橋和FPGA
*外部的PCI-Express PHY和FPGA
*PCI-Express的PHY集成在FPGA之中
第一種使用PCI-Express至PCI橋的方法,優(yōu)點是可以重用舊的PCI設(shè)計,但由于額外的橋接單元,成本很高。在橋和FPGA之間,這個應(yīng)用仍然被PCI的缺點所限制,在成本方面處于不利地位。

圖2A和2B
當(dāng)僅需純粹的PCI Express接口,而不需要其它邏輯時,外部的PCI Express PHY和FPGA(圖2A)相結(jié)合可能極具吸引力。利用被稱為PIPE的并行接口,PCI Express PHY可以連接到FPGA。雖然PIPE接口被認(rèn)為是一個標(biāo)準(zhǔn),但不同廠商在實現(xiàn)方面有著細(xì)微的差別,因此物理層芯片就不容易互換。此外,工業(yè)級的外部PCI Express PHY芯片也不太容易買到,要不就是價格昂貴。此外,許多應(yīng)用程序使用領(lǐng)先的器件,可用的領(lǐng)先的PCI Express PHY芯片也是很有限的。
因此,如果只有一個PCI Express接口鏈路,而且在FPGA中只要少量的額外邏輯(除了溫度范圍的限制,以及可用的領(lǐng)先器件),這種做法頗有意義。對于所有其他應(yīng)用,最好是考慮一個整合的解決方案,如圖2B所示。
如果采用整合的解決方案,首個挑戰(zhàn)是尋找一個低成本的器件。在過去,PCI Express需要的串行鏈路一般只在高端昂貴的FPGA中才有。然而,今天許多應(yīng)用需要較低成本的解決方案。中檔LatticeECP2M,或最近推出的LatticeECP3 FPGA系列,擁有適合這種應(yīng)用的一些功能。這兩種器件都集成了可用于實現(xiàn)PCI Express x1或x4的串行通道。除了低成本優(yōu)勢外,與高端FPGA解決方案相比,這兩類器件的功耗也非常低。該“節(jié)能方案”使系統(tǒng)工程師能夠降低功耗,因此只需要使用較小供電電源。圖3展示了近期推出的ECP3 FPGA系列的結(jié)構(gòu)圖。

圖3:LatticeECP3中檔FPGA框圖,內(nèi)有集成的SERDES模塊。
利用這些FPGA的另一個優(yōu)點是它們能夠處理PCI Express使用的擴頻時鐘。許多其他的“單芯片”解決方案推薦使用外部的PLL和去除抖動來處理時鐘,這意味著電路板上會有兩到三個額外的器件。這些器件也可用在工業(yè)溫度范圍。
既然這些FPGA的串行鏈路只能實現(xiàn)物理層的SERDES部分,所以需要額外的邏輯來實現(xiàn)完整的PCS。這由軟IP核來完成,它可以配置成x1或x4 PCI Express端點。萊迪思的ispLEVER設(shè)計軟件包括一個稱為IPexpress的工具,通過GUI來配置功能,如PLL、存儲器等,還有軟IP。PCI Express核可從萊迪思網(wǎng)站上下載,使用IP Express進行配置并產(chǎn)生編程文件。即使沒有有效許可證,也可以運行這個應(yīng)用數(shù)小時,從而獲得一個全面的系統(tǒng)*估。
為了符合系統(tǒng)的需要,配置PCI Express核的某些功能是非常重要的。例如, PCI Express提供不同的有效載荷大小。有效載荷的規(guī)模越大,核中需要的FIFO也越大。為了節(jié)約資源,可以通過IPexpress來選擇針對PCI Express核的正確有效載荷的大小。還有一些應(yīng)加以調(diào)整的其他參數(shù),以針對系統(tǒng)要求優(yōu)化FPGA的利用率。
在許多項目開發(fā)中,只有在開發(fā)后期才能得到樣機電路板。為了熟悉PCI Express的協(xié)議,可從萊迪思獲取PCI Express設(shè)計套件。該套件包含了電路板,可用于x1或x4的插槽,并有一些演示配置:
* 基本方法
o 用戶訪問內(nèi)存和寄存器
o 在電腦上運行演示與在電路板上的PCIe IP核之間提供簡單的互動
* 吞吐量
o 在PCIe核和SERDES之間演示和測量帶寬性能
o 使用DMA在PC機內(nèi)存和PCI Express卡之間傳送數(shù)據(jù)
設(shè)計人員可以選擇使用其中一個準(zhǔn)備好的編程文件,在30分鐘內(nèi)構(gòu)建一個完整的演示。套件不僅提供了硬件設(shè)計文件,而且還提供驅(qū)動程序和運行在PC上的應(yīng)用程序,這樣就為設(shè)計人員的應(yīng)用提供了一個良好的起點。圖4展示了萊迪思的一個完整的PCI Express演示設(shè)計。

圖4:Lattice PCI Express的演示。
用協(xié)議分析儀和示波器可以調(diào)試系統(tǒng)。但是,利用功能或者RTL級仿真時,設(shè)計人員已經(jīng)可以找到許多問題。
系統(tǒng)調(diào)試的三個主要方法:
* 串行環(huán)回
* 激勵發(fā)生器和測試器
* 總線功能模型
萊迪思的PCI Express核包含一個簡單的采用串行環(huán)回的測試平臺。借助一些來自測試平臺的互動建立PCI Express鏈路,并發(fā)送一些數(shù)據(jù)包。這是仿真設(shè)計的非常基本的方法。
一個更先進的方法是使用激勵發(fā)生器和測試器。FPGA中串行鏈路的仿真模型被一個模型所取代,后者生成數(shù)據(jù)包,并檢查FPGA內(nèi)的邏輯響應(yīng)。
最全面且成本昂貴的方法是建立總線功能模型。有幾個供應(yīng)商提供PCI Express的仿真模型。根據(jù)總線功能模型,設(shè)計人員可以測試應(yīng)用程序,以及FPGA的串行鏈路與整個系統(tǒng)的互動。
-
FPGA
+關(guān)注
關(guān)注
1660文章
22412瀏覽量
636415 -
PCI
+關(guān)注
關(guān)注
5文章
689瀏覽量
134277 -
總線
+關(guān)注
關(guān)注
10文章
3040瀏覽量
91670
發(fā)布評論請先 登錄
PCI Express標(biāo)準(zhǔn)技術(shù)性概述
針對可編程PCI Express解決方案的評估方法
PCI Express 至PCI 橋設(shè)計原理及應(yīng)用
PCI Express插槽,什么是PCI Express插槽
采用中檔FPGA設(shè)計面向PCI Express系統(tǒng)的解決方案
PCI Express總線
LSI推出PCI Express固態(tài)存儲解決方案樣片
PCI Express解決方案的介紹
如何創(chuàng)建和使用Xilinx的UltraScale PCI Express解決方案
PCI Express系統(tǒng)中DMA的基本功能介紹
PCI Express接口標(biāo)準(zhǔn)的特點及在FPGA中的應(yīng)用
WSN中LEACH協(xié)議局限性的分析與改進
PCI標(biāo)準(zhǔn)的局限性及PCI Express系統(tǒng)的解決方案分析
評論