為了支持“三重播放”應用,人們對高速通信和超快速計算的需求日益增大,這向系統開發師、算法開發師和硬件工程師等人員提出了新的挑戰,要求他們將各種標準、組件和聯網設備融合成一個整體。
同時,開發人員不但要跟上日益提高的性能需求,還得注意保持成本低廉有效利用基于串行RapidIO的FPGA作為DSP協處理器就能達到這些目的。
由于三重播放應用集合了話音、視頻和數據應用,因此必須采用新算法來設定其開發和系統優化策略的參數其間,開發人員要解決以下問題:構造可調整可擴展的架構、支持分布式處理、采用基于標準的設計,以及針對性能和成本進行優化。
仔細研究一下就會發現,為滿足應用需求而要、面對的這些挑戰主要涉及兩個主題:一是連接性,從本質上說就是實現不同設備、板卡和系統之間的“快速”數據轉移;二是計算能力,指設備、板卡和系統中分別可用的處理資源。
運算平臺之間的連接
基于標準的設計通常比“自由發揮”的設計簡單得多,也是今天的典型設計模式并行連接標準(PCI、PCI-X、EMIF等)雖能滿足當前需求,但若考慮到可調整性和可擴展性就有所不足了隨著分組處理技術的不斷進步,連接標準的發展趨勢顯然傾向于高速串行連接從圖1中就能看出這一趨勢。
諸如PCIe和GbE/XAUI之類的高速串行標準在臺式機和網絡行業已有應用但無線通信設施中的數據處理系統對互連方面的要求又稍有不同,它要求:
1. 管腳數少;
2. 需進行底板以及芯片到芯片的連接;
3. 帶寬和速度可調;
4. 具備DMA和消息傳遞功能;
5. 支持復雜可調整的拓撲;
6. 支持多點傳送;
7. 高度可靠;
8. 支持當日時間(time of day)同步;
9. 可提供服務質量(QoS)
圖1:向串行連接的發展趨勢
串行RapidIO (SRIO)協議標準可輕松滿足以上大部分要求,甚至超出這些要求的標準因此,串行RapidIO已成為無線通信基礎設備中用于數據層(data plane)互連的主流連接技術SRIO網絡建立在兩個“基本模塊”基礎之上:端點設備(Endpoint)和交換設備(Switch)端點設備負責收發數據包,交換設備負責在端口之間傳遞數據包,但不負責數據包的解釋圖2給出了SRIO網絡的構建模塊。
圖2:SRIO網絡的構建模塊
按規范定義,串行RapidIO有用3層架構,如圖3所示。
圖3:SRIO架構
其中包含:
物理層——負責描述器件級接口規范,例如分組傳輸機制、流量控制、電特性以及低級錯誤管理。
傳輸層——為在不同端點設備之間傳送分組提供路由信息交換設備以基于器件的路由方式工作于傳輸層。
邏輯層——定義總體的協議和分組格式每個分組最多包含256字節的載荷事務通過Load、Store或DMA操作來訪問大小為34/50/66比特的地址空間。
SRIO有多種優點一個運行于3.125 Gbps的4通道SRIO鏈路能在完全保持數據完整性的前提下提供10 Gbps的流量SRIO與微處理器總線類似,它在硬件中完成存儲器和器件尋址以及分組處理這不但大大降低了用于I/O處理的開銷,減小了延遲,也增大了其相對于其他總線接口的系統帶寬但與大多數其他總線接口不同的是,SRIO接口的引腳數很少,而且其基于高速串行鏈路的可調整帶寬可在1.25 - 3.125 Gbps范圍內調整圖4為SRIO規范的圖解。
圖4:SRIO規范
有了可配置的處理資源,開發人員就可以用硬件實現他們的應用,例如數據壓縮和加密算法甚至過去只在軟件中實現的整套防火墻和保密應用,如今都可以在硬件上實現但這樣做需要具備共享帶寬和強大處理能力的大型并行生態系統,也就是說,要求利用CPU、NPU、FPGA和/或ASIC進行共享式或分布式處理構建此類系統時,對運算資源的一些要求包括:
1. 支持復雜拓撲的分布式處理能力;
2. 高度可靠的直接對等通信能力;
3. 多個異構操作系統;
4. 通過多個異構操作系統支持通信數據層;
5. 具有廣泛生態系統支持的模塊化和可擴展平臺
SRIO協議規范和架構支持嵌入式和無線基礎設施領域中運算設備的不同要求有了SRIO,就可以實現系統結構的獨立性,部署達到運營商級可靠度、具備高級流量管理功能,并具有高性能和高吞吐量的可擴展系統此外,廣泛的供應商生態系統也更方便設計師采用現貨元件構造SRIO系統SRIO是一種基于分組的協議,它支持:
1. 采用分組操作(包括讀、寫和消息傳遞)實現數據搬移;
2. I/O非一致性功能和緩存一致性功能;
3. 通過支持數據流傳送和SAR功能實現高效的互通和協議封裝;
4. 通過支持數百萬條數據流、256種流量類別和有損操作實現一種流量管理架構;
5. 支持多事務請求流(包括配置QoS)的流量控制;
6. 為減少帶寬分配、事務預定和死鎖避免等問題而支持優先級劃分;
7. 通過系統發現、配置和學習實現對標準拓撲(樹型和網格型)和任意拓撲(菊鏈)等多種硬件拓撲方式的支持,包括支持多個主機;
8. 錯誤管理和分類(可恢復、通知和嚴重)
串行RapidIO的IP方案
為了在通過邏輯(I/O)和傳輸層IP上的目標接口和源接口收發用戶數據時支持完全兼容的最大載荷操作,Xilinx等廠商根據最新的RapidIO v1.3規范設計了其端點IP解決方案。
圖5所示是Xilinx的一套完整的SRIO端點IP方案,它包含以下組成部分:
1. LogiCORE RapidIO 邏輯 (I/O)和傳輸層IP;
2. 緩沖層參考設計;
3. LogiCORE串行RapidIO物理層IP;
4. 寄存器管理器參考設計
圖5:Xilinx的 SRIO端點IP架構
Xilinx提供了緩沖層參考設計的源代碼,該設計可完成分組的自動排隊和優先級重新劃分SRIO物理層IP可以實現鏈路訓練和初始化、發現和管理以及錯誤與重試恢復機制此外,在該物理層IP中還對高速收發器進行了實例化,以便支持線速為1.25Gbps、2.5Gbps和3.125Gbps 的1通道和4通道SRIO總線連接。
該方案中提供的寄存器管理器參考設計允許SRIO主設備對端點設備配置、鏈路狀態、控制和超時機制進行配置和維護另外,該寄存器管理器還提供了可讓用戶設計探測端點設備狀態的端口。
LogiCORE則提供了完整的端點IP該IP已通過業界領先SRIO器件廠商的測試用戶可通過Xilinx CoreGen GUI工具獲得LogiCORECoreGen工具可以幫助用戶配置波特率和端點LogiCORE支持流量控制、重傳抑制、門鈴和消息傳遞等擴展特性因此,用戶可以創建一套專門針對應用需求優化了的靈活、可調整和定制化的SRIO端點IP。
利用Xilinx和其他廠商提供的大多數高性能FPGA中的各種資源,系統設計師就能輕松創建并部署其智能方案,以增強產品在上市時間、可調整性、可擴展性、適應未來發展等各方面的優勢下面給出了一些采用SRIO和DSP技術的系統設計實例。
SRIO系統應用實例
1.嵌入式系統:像x86這樣的CPU結構是針對那些無需進行大量乘法運算的一般應用優化過的相比而言,DSP結構則是針對包括濾波、FFT、矢量乘法和查找以及圖像或視頻分析等信號處理操作優化過的。
因此,同時采用CPU和DSP的嵌入式系統可以輕松利用通用處理器和信號處理器兩種結構的優勢圖6給出了一個此類系統的例子,其中同時包含FPGA、CPU和DSP架構。
圖6:基于CPU的高性能DSP子系統
在高端DSP中,串行RapidIO已成為主流數據互連方式x86 CPU中主要的數據互連則采用PCI Express實現如圖6所示,對FPGA進行一些簡單的配置,就能用它調整DSP應用的規模,和/或橋接幾種完全不同的互連標準(如PCI Express 和串行RapidIO)。
在該系統中,管理PCI Express系統的是Root Complex芯片組,SRIO系統則受一塊DSP管理PCIe的32/64位地址空間(基地址)可自動映射至34/66位SRIO地址空間(基地址)PCIe應用程序通過內存或I/O讀寫與Root Complex芯片組通信這些事務均可通過流寫入、原語和確認讀/寫事務(SWRITEs ATOMIC NREADs NWRITE/NWRITE_Rs)等I/O操作輕松映射至SRIO空間。
在Xilinx的FPGA中設計此類橋接功能非常簡單,因為PCI Express的后端接口和串行RapidIO端點的功能模塊是類似的分組隊列模塊隨后就可以實現從PCIe到SRIO或從SRIO向PCIe的轉換,從而在這兩個協議域之間建立數據流。
2.DSP處理應用:在那些DSP處理是主要架構要求的應用中,系統結構可按圖7所示方式設計。
圖7:需要強大DSP處理能力的器件
Xilinx Virtex-5 FPGA在該系統中就可用作其他DSP器件的協處理器如果用SRIO進行數據互連,這整套DSP系統方案還可輕松實現調整這樣的方案具備可擴展性,適應未來的發展,而且還能以多種外形尺寸實現。
當需要強大DSP功能的應用還需要進行快速大量的復雜運算或數據處理時,可以將這些處理任務卸載至x86 CPU中去運行Xilinx Virtex-5 FPGA允許對PCIe子系統和SRIO結構進行橋接,從而實現高效的功能卸載。
3. 基帶處理系統
隨著3G網絡快速成熟,OEM廠商將會采用新的外形尺寸的器件和設備來減少容量和覆蓋方面的問題,使用SRIO并基于FPGA的DSP架構正是應對此類挑戰的絕佳方案傳統DSP系統也可重新調整為這種快速低功耗的基于FPGA的結構,以便充分利用FPGA的可調整性優勢。
在此類系統中,如圖8所示,FPGA可以在滿足天線業務線速處理要求的同時通過SRIO為其他系統資源提供連接而由于串行RapidIO協議提供的速度和帶寬均很高,所以那些內部固有低速并行連接的現存傳統DSP應用要移植到這類系統中也很簡單。
圖8:基帶處理
本文小結
串行RapidIO正在越來越多的新應用中嶄露頭角,特別是在采用DSP的有線和無線應用中在Xilinx器件中實現串行RapidIO主要有以下優勢:
1. Xilinx提供了完整的SRIO端點方案;
2. 可利用同樣的軟、硬件結構,通過靈活的調整,實現不同類型的產品;
3. 由于Xilinx器件采用了新型GTP收發機和65nm 技術,因此功耗很低;
4. 通過CoreGen GUI 可實現方便的可配置性和靈活性;
5. 由于業界領先的廠商都有器件支持SRIO連接,因而硬件互通性有保證;
6. 可通過使用PCIe和TEMAC等集成IO模塊實現系統集成,從而降低系統整體成本。
Xilinx Virtex-5 FPGA在該系統中就可用作其他DSP器件的協處理器如果用SRIO進行數據互連,這整套DSP系統方案還可輕松實現調整這樣的方案具備可擴展性,適應未來的發展,而且還能以多種外形尺寸實現。
當需要強大DSP功能的應用還需要進行快速大量的復雜運算或數據處理時,可以將這些處理任務卸載至x86 CPU中去運行Xilinx Virtex-5 FPGA允許對PCIe子系統和SRIO結構進行橋接,從而實現高效的功能卸載。
3. 基帶處理系統
隨著3G網絡快速成熟,OEM廠商將會采用新的外形尺寸的器件和設備來減少容量和覆蓋方面的問題,使用SRIO并基于FPGA的DSP架構正是應對此類挑戰的絕佳方案傳統DSP系統也可重新調整為這種快速低功耗的基于FPGA的結構,以便充分利用FPGA的可調整性優勢。
在此類系統中,如圖8所示,FPGA可以在滿足天線業務線速處理要求的同時通過SRIO為其他系統資源提供連接而由于串行RapidIO協議提供的速度和帶寬均很高,所以那些內部固有低速并行連接的現存傳統DSP應用要移植到這類系統中也很簡單。
圖8:基帶處理
本文小結
串行RapidIO正在越來越多的新應用中嶄露頭角,特別是在采用DSP的有線和無線應用中在Xilinx器件中實現串行RapidIO主要有以下優勢:
1. Xilinx提供了完整的SRIO端點方案;
2. 可利用同樣的軟、硬件結構,通過靈活的調整,實現不同類型的產品;
3. 由于Xilinx器件采用了新型GTP收發機和65nm 技術,因此功耗很低;
4. 通過CoreGen GUI 可實現方便的可配置性和靈活性;
5. 由于業界領先的廠商都有器件支持SRIO連接,因而硬件互通性有保證;
6. 可通過使用PCIe和TEMAC等集成IO模塊實現系統集成,從而降低系統整體成本。
評論
查看更多