采用中檔FPGA設計面向PCI Express系統的解決方案
為了克服舊標準的上述局限,1992年人們建立了PCI。其目的是構建一個更高帶寬的標準,有即插即用功能和更穩健的協議。PCI協議支持差錯校驗,通過與計算機的BIOS(基本輸入輸出系統)通信實現即插即用功能,并通過標準的控制/狀態軟件接口就地址范圍或PCI插卡功能等信息進行交換。如果出現地址范圍重疊等差錯,計算機本身可以提供一些反饋。一個基本的32位33MHz的PCI系統,可支持的傳輸速率高達132MBps。但是,這個架構也有一些限制因素??偩€是單向的(發起方和被請求的目標設備不能在同一時間進行通信),且幾個卡要共享一條總線。如果一張卡正在傳輸數據,所有其他的可訪問總線的部件必須等待。此外,在系統中無法處理PCI帶寬的低性能卡將進行“重試”請求,以確保有更多時間來處理數據。這就大大降低了整個系統的帶寬。PCI的另一個限制是各種應用對所需求帶寬不斷增加,特別是在視頻、通信和總線領域。圖1列出的一些應用,已經接近或超過了理論上的PCI帶寬132MBps。
本文引用地址:http://www.j9360.com/article/191824.htm
圖1:各種應用的帶寬需求對比理論上PCI提供的132MBps。
PCI還有其他一些缺點,如限制只能有5個部件訪問總線。由于PCI總線特殊的無端接總線的反射,電路板的設計也更加困難。數據路徑寬度為32或64位的并行線也對時序有苛刻的要求。
根據以往經驗,PCI-SIG(PCI特別興趣小組)與行業內的領先公司合作,定義了PCI的下一代標準。新標準最初被稱為3G IO(第三代輸入輸出),后來改名為大家熟悉的PCI Express。PCI Express的首個規范于2002年4月公布,其解決了原有PCI標準的所有限制因素。為了克服無端接的大量并行總線并增加帶寬,PCI Express轉變為運行速率2.5Gbps的串行鏈路,提供兩個方向同時進行的2Gbps的原始數據率。為了滿足更高的帶寬要求,規范允許使用幾個并行的“通道”。因此對于目前計算機的低帶寬應用,有很多x1和x4通道;對于有高帶寬的要求,例如顯卡,則有x16的插槽。
由于PCI Express規范使用基于層的協議,類似于OSI的層次模型,它很容易改變物理層和保留上層協議。這種做法已被最近發布的PCI Express 2.0規范所采納,使得鏈路速度高達5Gbps。然而,大多數新的設計開始仍然是基于PCI Express 1.1版本的2.5Gbps。
一個PCI Express系統可以用幾個部件組成。所有的系統都需要有一個根聯合體(Root Complex)對整個系統進行管理。交換設備(Switch)是用來將幾個卡連接到另一個PCI Express鏈路,“端設備”則代表了用戶應用。橋接是端設備的特殊形式,可以將舊的PCI應用連接至PCI Express總線。FPGA主要用于端設備或橋接應用。
在PCI Express應用中FPGA起著重要的作用,主要有三種設計方法:
*PCI-Express至PCI橋和FPGA
*外部的PCI-Express PHY和FPGA
*PCI-Express的PHY集成在FPGA之中
第一種使用PCI-Express至PCI橋的方法,優點是可以重用舊的PCI設計,但由于額外的橋接單元,成本很高。在橋和FPGA之間,這個應用仍然被PCI的缺點所限制,在成本方面處于不利地位。
圖2A和2B
當僅需純粹的PCI Express接口,而不需要其它邏輯時,外部的PCI Express PHY和FPGA(圖2A)相結合可能極具吸引力。利用被稱為PIPE的并行接口,PCI Express PHY可以連接到FPGA。雖然PIPE接口被認為是一個標準,但不同廠商在實現方面有著細微的差別,因此物理層芯片就不容易互換。此外,工業級的外部PCI Express PHY芯片也不太容易買到,要不就是價格昂貴。此外,許多應用程序使用領先的器件,可用的領先的PCI Express PHY芯片也是很有限的。
因此,如果只有一個PCI Express接口鏈路,而且在FPGA中只要少量的額外邏輯(除了溫度范圍的限制,以及可用的領先器件),這種做法頗有意義。對于所有其他應用,最好是考慮一個整合的解決方案,如圖2B所示。
評論