目前,對(duì)高速通信與超快計(jì)算的需求正與日俱增。有線和無(wú)線通信標(biāo)準(zhǔn)的應(yīng)用隨處可見(jiàn),數(shù)據(jù)處理架構(gòu)每天都在擴(kuò)展。較為普遍的有線通信方式是以太網(wǎng)(LAN、WAN 和 MAN 網(wǎng)絡(luò))。手機(jī)通信是最為常見(jiàn)的無(wú)線通信方式,由應(yīng)用了 DSP 的架構(gòu)實(shí)現(xiàn)。電話作為語(yǔ)音連接的主要工具,目前正在不斷滿足日益增強(qiáng)的語(yǔ)音、視頻和數(shù)據(jù)要求。 系統(tǒng)設(shè)計(jì)人員在創(chuàng)建架構(gòu)時(shí)不僅需考慮三網(wǎng)合一模式這一高端需求,還需滿足以下要求:高性能;低延遲;較低的系統(tǒng)成本(包括 NRE);可擴(kuò)展、可延伸架構(gòu);集成現(xiàn)成 (OTS) 組件;分布式處理;支持多種標(biāo)準(zhǔn)和協(xié)議。
這些挑戰(zhàn)涉及到兩個(gè)主要方面:有線或無(wú)線架構(gòu)中計(jì)算平臺(tái)/箱間的連接以及這些平臺(tái)/箱中的具體計(jì)算資源。
計(jì)算平臺(tái)間的連接
基于標(biāo)準(zhǔn)的連接目前較為普遍。并行連接標(biāo)準(zhǔn)(PCI、PCI-X、EMIF)可以滿足現(xiàn)在的需求,但在擴(kuò)展性和延伸性方面略顯不足。隨著基于包處理方式的出現(xiàn),使用趨勢(shì)明顯偏向高速串行連接(見(jiàn)圖1)。
圖1 串行連接趨勢(shì)
臺(tái)式電腦和網(wǎng)絡(luò)工業(yè)已采用了 PCI Express (PCIe) 和千兆位以太網(wǎng)/XAUI 等標(biāo)準(zhǔn)。不過(guò),無(wú)線架構(gòu)中數(shù)據(jù)處理系統(tǒng)的互連要求略有不同,其特點(diǎn)是:低引腳數(shù);背板芯片對(duì)芯片連接;帶寬和速度可擴(kuò)展;DMA 和信息傳輸;支持復(fù)雜的可擴(kuò)展拓?fù)?多點(diǎn)傳輸;高可靠性;絕對(duì)時(shí)刻同步;服務(wù)質(zhì)量 (QoS)。
串行 RapidIO (SRIO) 協(xié)議標(biāo)準(zhǔn)可輕易滿足并超過(guò)大多數(shù)上述要求。因此,SRIO 成了無(wú)線架構(gòu)設(shè)備中數(shù)據(jù)平面連接的主要互連。
圖2 SRIO網(wǎng)絡(luò)構(gòu)建模塊 SRIO 網(wǎng)絡(luò)圍繞兩個(gè)基本模塊構(gòu)建而成:端點(diǎn)和交換機(jī)(見(jiàn)圖2)。端點(diǎn)對(duì)包進(jìn)行源端(source)和宿端 (sink) 處理,而交換機(jī)在端口間傳送包,對(duì)其不加解析。SRIO以一個(gè)三層架構(gòu)層級(jí)指定(見(jiàn)圖3):
·物理層規(guī)范說(shuō)明器件級(jí)接口的細(xì)節(jié),如包傳輸機(jī)制、流量控制、電氣參數(shù)及低級(jí)錯(cuò)誤管理。
·傳輸層規(guī)范為包在端點(diǎn)間移動(dòng)提供必需布線信息。交換機(jī)通過(guò)使用基于器件的布線在傳輸層中運(yùn)行。
·邏輯層規(guī)范定義總體協(xié)議和包格式。所有包的有效載荷字節(jié)數(shù)為 256 或更少。事務(wù)使用指向 34-/50-/66 位地址空間的加載/存儲(chǔ)/DMA 操作。
事務(wù)包括:
·NREAD-讀操作(返回?cái)?shù)據(jù)即為響應(yīng))
·NWRITE - 寫操作,無(wú)響應(yīng)
·NWRITE_R - 強(qiáng)韌型寫入,響應(yīng)來(lái)自目標(biāo)端點(diǎn)
·SWRITE - 流式寫入
·ATOMIC - 原子性讀/改/寫
·MAINTENANCE - 系統(tǒng)查找、探測(cè)、初始化、配置和維護(hù)操作
圖3 分層SRIO架構(gòu)
SRIO - 優(yōu)勢(shì)前景
平臺(tái)中的計(jì)算資源
如今的應(yīng)用對(duì)處理資源的數(shù)量要求較高。基于硬件的應(yīng)用發(fā)展迅猛。壓縮/解壓縮算法、反病毒和入侵監(jiān)測(cè)等防火墻應(yīng)用以及要求 AES、三倍 DES 和 Skipjack 等加密引擎的安全應(yīng)用起初都是通過(guò)軟件實(shí)現(xiàn)的,但目前都已轉(zhuǎn)為硬件實(shí)現(xiàn)。這就需要帶寬和處理能力能夠?qū)崿F(xiàn)共享的大型并行生態(tài)系統(tǒng)。系統(tǒng)需要使用 CPU、NPU、FPGA 或 ASIC,從而實(shí)現(xiàn)共享或分布式處理。
在構(gòu)建能夠適應(yīng)未來(lái)發(fā)展變化的系統(tǒng)時(shí),需考慮所有這些針對(duì)具體應(yīng)用的要求,對(duì)計(jì)算資源的要求包括:
·多個(gè)主機(jī) - 分布式處理
·直接點(diǎn)對(duì)點(diǎn)通信
·多個(gè)異構(gòu)操作系統(tǒng)
·復(fù)雜拓?fù)浣Y(jié)構(gòu):發(fā)現(xiàn)機(jī)制;多余通路(故障恢復(fù))
·可支持高可靠性:無(wú)損協(xié)議;自動(dòng)重新培訓(xùn)和器件同步;系統(tǒng)級(jí)錯(cuò)誤管理
·能夠支持通信數(shù)據(jù)平面:多點(diǎn)傳輸;流量管理(有損)操作;鏈路、級(jí)別和基于流的流量控制;協(xié)議互通;較高事務(wù)并發(fā)度
·模塊化、可擴(kuò)展
·支持廣泛生態(tài)系統(tǒng)
由無(wú)線架構(gòu)中計(jì)算器件所派生出的各種各樣的要求,SRIO 協(xié)議都可支持。
SRIO 規(guī)范(見(jiàn)圖4)對(duì)基于包的分層架構(gòu)進(jìn)行了定義,可支持多個(gè)域或市場(chǎng)區(qū)間,從而有利于系統(tǒng)架構(gòu)設(shè)計(jì)師設(shè)計(jì)新一代計(jì)算平臺(tái)。通過(guò)將 SRIO 用作計(jì)算互連,可輕松實(shí)現(xiàn)以下功能:使架構(gòu)獨(dú)立;部署可靠性為運(yùn)營(yíng)商級(jí)的可擴(kuò)展系統(tǒng);實(shí)現(xiàn)高級(jí)流量管理;提供高性能、高流量。此外,由大批供應(yīng)商構(gòu)成的生態(tài)群使得 OTS 部件與組件的選擇十分容易。
圖4 SRIO規(guī)范
SRIO 為基于包的協(xié)議,該協(xié)議支持:通過(guò)基于包的操作(讀、寫、消息)移動(dòng)數(shù)據(jù);I/O 非連貫功能和緩存連貫功能;通過(guò)支持?jǐn)?shù)據(jù)流、數(shù)據(jù)分區(qū)和重組功能而實(shí)現(xiàn)高效互通和協(xié)議封裝;通過(guò)啟用數(shù)百萬(wàn)個(gè)流而實(shí)現(xiàn)流量管理框架,支持 256 流量級(jí)別和有損操作;流控制,支持多個(gè)事務(wù)請(qǐng)求流,提供 QoS;支持優(yōu)先級(jí)別,從而可緩解帶寬分配和事務(wù)順序等問(wèn)題,并避免死鎖;支持拓?fù)?,通過(guò)系統(tǒng)發(fā)現(xiàn)、配置和維護(hù)支持標(biāo)準(zhǔn)(樹(shù)狀和網(wǎng)格)與任意硬件(菊花鏈)拓?fù)?,包括支持多個(gè)主機(jī);錯(cuò)誤管理和分類(可恢復(fù)、提醒和致命性)。
Xilinx針對(duì)SRIO的IP解決方案
用于 SRIO 的 Xilinx 端點(diǎn) IP 解決方案針對(duì) RapidIO 規(guī)范 (v1.3) 而設(shè)計(jì)。用于 SRIO 的完整 Xilinx 端點(diǎn) IP 解決方案包括以下部分(見(jiàn)圖5):
·用于 SRIO 的 Xilinx 端點(diǎn) IP 為軟性LogiCORE解決方案。對(duì)于通過(guò)邏輯 (I/O) 和傳輸層上的目標(biāo)和發(fā)起接口源出和接收用戶數(shù)據(jù),都支持完全兼容的最大有效載荷操作。
·緩沖層參考設(shè)計(jì)作為源代碼提供,可自動(dòng)重新劃分包的優(yōu)先級(jí)別并調(diào)整隊(duì)列。
·SRIO 物理層 IP 可實(shí)現(xiàn)鏈路培訓(xùn)和初始化、發(fā)現(xiàn)和管理以及錯(cuò)誤和重試恢復(fù)機(jī)制。另外,高速收發(fā)器在物理層 IP 中例化,可支持線速率為1.25Gbps、2.5Gbps和3.125Gbps的1通路和 4 通路 SRIO 總線鏈路。
·寄存器管理器參考設(shè)計(jì)允許 SRIO 主機(jī)器件設(shè)定并維護(hù)端點(diǎn)器件配置、鏈路狀態(tài)、控制和超時(shí)機(jī)制。另外,寄存器管理器上提供的端口可供用戶設(shè)計(jì)探測(cè)端點(diǎn)器件的狀態(tài)。
圖5 用于SRIO的Xilinx端點(diǎn)IP構(gòu)架
用于 SRIO 的整個(gè) Xilinx 端點(diǎn) IP LogiCORE 解決方案已全面經(jīng)過(guò)測(cè)試,硬件驗(yàn)證也已進(jìn)行,目前正在就與主要 SRIO 器件供應(yīng)商之間的協(xié)同工作能力接受測(cè)試。LogiCORE IP 通過(guò) Xilinx CORE Generator軟件 GUI 工具提供,該工具允許用戶定制波特率和端點(diǎn)配置,并支持流量控制、重發(fā)送壓縮、門鈴和消息接發(fā)等擴(kuò)展功能。這樣,用戶便可創(chuàng)建一個(gè)靈活、可擴(kuò)展的定制 SRIO 端點(diǎn) IP,對(duì)自己的應(yīng)用進(jìn)行優(yōu)化。
Virtex-5 FPGA計(jì)算資源
用于 SRIO 的 Xilinx 端點(diǎn) IP 可確保在使用 SRIO 協(xié)議的鏈路雙方間建立高速連接。在最小的 Virtex-5 器件中,IP 僅占用不到 20% 的可用邏輯資源,因此可確保用戶設(shè)計(jì)使用大多數(shù)邏輯/存儲(chǔ)器/I/O,集中實(shí)現(xiàn)系統(tǒng)應(yīng)用。
邏輯模塊
Virtex-5 邏輯架構(gòu)帶有基于 65nm 工藝的六輸入查找表 (LUT),可提供最高的 FPGA 容量。進(jìn)位邏輯經(jīng)過(guò)改進(jìn)后,該器件的性能比之前的器件高出 30%。由于所需 LUT 減少,該器件的功耗明顯降低,且具備高度優(yōu)化的對(duì)稱布線架構(gòu)。
存儲(chǔ)器
Virtex-5 存儲(chǔ)器解決方案包括 LUT RAM、Block RAM 及與大型存儲(chǔ)器進(jìn)行接口的存儲(chǔ)器控制器。Block RAM 結(jié)構(gòu)包括預(yù)制 FIFO 邏輯,即可用于外部存儲(chǔ)器的嵌入式檢錯(cuò)和糾錯(cuò) (ECC) 邏輯。另外,Xilinx 可通過(guò)存儲(chǔ)器接口生成器 (MIG) 工具向系統(tǒng)設(shè)計(jì)中的例化存儲(chǔ)器控制器模塊提供綜合設(shè)計(jì)資源。這樣,用戶便可利用經(jīng)過(guò)硬件驗(yàn)證的解決方案,并將精力集中于設(shè)計(jì)中的其他關(guān)鍵部位。
并行和串行 I/O
SelectIO技術(shù)幾乎可在設(shè)計(jì)中實(shí)現(xiàn)客戶所需的任何并行源同步接口。使用 SelectIO 接口,可方便地針對(duì) 40 多種不同的電氣標(biāo)準(zhǔn)創(chuàng)建符合行業(yè)標(biāo)準(zhǔn)的各類接口,也可創(chuàng)建專用接口。SelectIO 接口提供的最大速率為700Mbps(單端)和1.25Gbps(差分)。
所有Virtex-5 LXT FPGA都集成有一個(gè) GTP 收發(fā)器,運(yùn)行速度介于 100 Mbps 到 3.2Gbps 之間。另外,GTP 收發(fā)器在業(yè)界屬于最低功率MGT 之一,每個(gè)收發(fā)器的功率小于 100mW。引入用來(lái)簡(jiǎn)化設(shè)計(jì)的成熟設(shè)計(jì)技術(shù)和方法后,高速串行設(shè)計(jì)的流程變得簡(jiǎn)單快捷。
另外,通過(guò)新設(shè)計(jì)工具(RocketIO收發(fā)器向?qū)c IBERT)和新硅片性能(TX 和 RX 均衡與內(nèi)置偽隨機(jī)位序列 (PRBS) 生成器和檢查器),可以開(kāi)發(fā)移植架構(gòu)的各種功能和優(yōu)勢(shì),從并行 I/O 標(biāo)準(zhǔn)到 30 多種串行標(biāo)準(zhǔn)及新興的串行技術(shù)。
DSP 模塊
每個(gè) DSP48E Slice 可提供 550MHz 的性能水平,允許用戶創(chuàng)建要求單精度浮點(diǎn)性能的各類應(yīng)用,如多媒體、視頻和圖像應(yīng)用以及數(shù)字通信。這擴(kuò)展了器件的功能,使其優(yōu)于之前的器件,同時(shí)還提供了功率優(yōu)勢(shì),動(dòng)態(tài)功耗的降低幅度超過(guò)了 40%。Virtex-5 FPGA 中還增加了 DSP48E Slice 的數(shù)量,這些模塊相對(duì)于可用邏輯資源及存儲(chǔ)器的比率從而得到了優(yōu)化。
集成 I/O 模塊
所有 Virtex-5 LXT FPGA 器件都具備一個(gè)端點(diǎn)模塊,用來(lái)實(shí)現(xiàn) PCIe 功能。通過(guò)這種硬 IP 端點(diǎn)模塊,只需簡(jiǎn)單地重新進(jìn)行配置即可輕松地從 x1 擴(kuò)展至 x2 和 x4 或 x8。該模塊(x1、x4 和 x8 鏈路)已通過(guò)嚴(yán)格的 PCI-SIG 兼容性和協(xié)同工作能力測(cè)試,用戶可放心用于 PCIe。
另外,所有 Virtex-5 LXT FPGA 器件均裝有三態(tài)以太網(wǎng)媒體訪問(wèn)控制器 (TEMAC),速度可達(dá) 10/100/1000Mbps。該模塊可提供專用以太網(wǎng)功能,再結(jié)合 Virtex-5 LXT RocketIO 收發(fā)器和 SelectIO 技術(shù),可方便與許多網(wǎng)絡(luò)器件進(jìn)行連接。
利用針對(duì) PCIe 和以太網(wǎng)的這兩種模塊,可以創(chuàng)建一系列定制包處理和網(wǎng)絡(luò)產(chǎn)品,這些產(chǎn)品可大幅降低資源利用率和功耗。通過(guò)使用 Xilinx FPGA 中提供的這些各式資源,可以輕松創(chuàng)建并部署智能解決方案。
SRIO 嵌入式系統(tǒng)應(yīng)用
可以考慮圍繞基于 x86 架構(gòu)的 CPU 構(gòu)建一個(gè)嵌入式系統(tǒng)。CPU 架構(gòu)已高度優(yōu)化,可輕易滿足要求玩弄數(shù)字于股掌的各類應(yīng)用。用戶可以輕松地在使用 CPU 資源的硬件和軟件中實(shí)現(xiàn)各類算法,以執(zhí)行不需要進(jìn)行大量乘法運(yùn)算的電子郵件、數(shù)據(jù)庫(kù)管理以及文字處理等功能。性能以每秒鐘所產(chǎn)生的指令/運(yùn)算為數(shù)百萬(wàn)還是數(shù)十億來(lái)衡量,而效率通過(guò)完成特定運(yùn)算所需的時(shí)間/周期來(lái)衡量。
需進(jìn)行大量定點(diǎn)和浮點(diǎn)運(yùn)算的高性能應(yīng)用在處理數(shù)據(jù)時(shí)需花費(fèi)較長(zhǎng)時(shí)間。這方面的示例包括信號(hào)過(guò)濾、快速傅里葉變換、矢量乘法和搜索、圖像/視頻分析和格式轉(zhuǎn)換以及簡(jiǎn)單的數(shù)字處理算法。在 DSP 中實(shí)現(xiàn)的高端信號(hào)處理架構(gòu)可輕松執(zhí)行這些任務(wù),并可優(yōu)化此類運(yùn)算。這些 DSP 的性能以每秒鐘進(jìn)行多少次乘法和累加運(yùn)算來(lái)衡量。
用戶可以方便地設(shè)計(jì)使用 CPU 和 DSP 的嵌入式系統(tǒng),以充分利用兩種處理技術(shù)。圖 6表示使用 FPGA、CPU 和 DSP 架構(gòu)的系統(tǒng)示例。
高端 DSP 中的主要數(shù)據(jù)互連為 SRIO。x86 CPU 中的主要數(shù)據(jù)互連為 PCIe。如圖 6 所示,用戶可輕松部署 FPGA 以擴(kuò)展 DSP 應(yīng)用或?qū)﹄x散數(shù)據(jù)互連標(biāo)準(zhǔn)(如 PCIe 和 SRIO)進(jìn)行橋接。
圖6 基于CPU的可擴(kuò)展、高性能、嵌入式系統(tǒng)
在圖 6 所示系統(tǒng)中,PCIe 系統(tǒng)由根聯(lián)合體(Root Complex)芯片組托管。SRIO 系統(tǒng)由 DSP 托管。32/64 位 PCIe 地址空間(基址)可智能化地被映射至 34/66 位 SRIO 地址空間(基址)。PCIe 應(yīng)用可通過(guò)存儲(chǔ)器或 I/O 讀寫與根聯(lián)合體進(jìn)行通信。這些事務(wù)會(huì)通過(guò) NRead/NWrite/SWrite 輕松映射至 SRIO 空間。
在 Xilinx FPGA 中設(shè)計(jì)此類橋接功能很簡(jiǎn)單,因?yàn)檫@些 Xilinx 端點(diǎn)功能模塊、PCIe 和 SRIO 的后端接口都很相似。這樣,“包隊(duì)列”模塊便可執(zhí)行從 PCIe 到 SRIO 或反方向的交叉任務(wù),從而建立可穿越兩個(gè)協(xié)議域的包流。
SRIO DSP 系統(tǒng)應(yīng)用
在 DSP 處理為主要架構(gòu)要求的應(yīng)用中,系統(tǒng)架構(gòu)可按圖 7 進(jìn)行設(shè)計(jì)。
圖7 DSP密集型陣列
基于 Virtex-5 FPGA 的 DSP 處理與系統(tǒng)中的其他 DSP 器件結(jié)合即可構(gòu)成智能協(xié)處理解決方案。如果使用 SRIO 作為數(shù)據(jù)互連,整個(gè) DSP 系統(tǒng)解決方案就可以方便地進(jìn)行擴(kuò)展。此類解決方案能夠適應(yīng)未來(lái)的發(fā)展變化,提供了延伸性,而且受多種形狀因子的支持。在 DSP 密集型應(yīng)用中,通過(guò)將相應(yīng)處理任務(wù)卸載至 x86 架構(gòu)中可實(shí)現(xiàn)快速數(shù)字分析或數(shù)據(jù)處理。使用 Virtex-5 FPGA 可輕易地連接 PCIe 子系統(tǒng)和 SRIO 架構(gòu),從而實(shí)現(xiàn)高效功能卸載。
SRIO 基帶系統(tǒng)應(yīng)用
現(xiàn)有 3G 網(wǎng)絡(luò)正在以較快的步伐邁向成熟,OEM 也在為緩解特定容量和覆蓋率問(wèn)題而部署新的形狀系數(shù)。要解決此類特殊問(wèn)題,對(duì)市場(chǎng)趨勢(shì)做出評(píng)估,基于 FPGA 的 DSP 架構(gòu)是理想選擇,該架構(gòu)將 SRIO 用作數(shù)據(jù)層面標(biāo)準(zhǔn)。另外,早期 DSP 系統(tǒng)可快速升級(jí),變?yōu)榭焖?、低功?FPGA DSP 架構(gòu),從而獲得可擴(kuò)展性優(yōu)勢(shì)。
如圖 8 中的系統(tǒng)所示,您可以對(duì) Virtex-5 FPGA 進(jìn)行設(shè)計(jì),以滿足現(xiàn)有對(duì)天線流量的線速率處理需求,還可通過(guò) SRIO 提供與其他系統(tǒng)資源間的連接。現(xiàn)有早期 DSP 應(yīng)用的固有并行連接速度較慢,因可應(yīng)用于 Virtex-5 FPGA 的 SRIO 端點(diǎn)功能的存在,移植這些應(yīng)用極為方便。
圖8 可擴(kuò)展基帶上行鏈路/下行鏈路卡
結(jié)語(yǔ)
SRIO 正出現(xiàn)在大量新應(yīng)用中,主要以有線和無(wú)線應(yīng)用中的 DSP 為中心。在 Xilinx 器件中實(shí)現(xiàn) SRIO 架構(gòu)的主要優(yōu)勢(shì)包括:整個(gè) SRIO 端點(diǎn)解決方案的可用性;靈活性和可擴(kuò)展性,便于使用同樣的硬件和軟件架構(gòu)制成不同級(jí)別的產(chǎn)品;通過(guò)新 GTP 收發(fā)器和 65 nm 技術(shù)實(shí)現(xiàn)了低功耗;通過(guò) CORE Generator 軟件 GUI 工具輕松進(jìn)行配置;與業(yè)界領(lǐng)先的供應(yīng)商間的硬件協(xié)同工作能力經(jīng)過(guò)了驗(yàn)證,支持其器件上的 SRIO 連接; 通過(guò)使用 PCIe 和 TEMAC 等集成 I/O 模塊,實(shí)現(xiàn)了系統(tǒng)集成,從而降低了總體系統(tǒng)成本。
另外,Virtex-5 FPGA 所具備的 DSP 資源可在功耗、性能和帶寬方面滿足現(xiàn)有早期 DSP 系統(tǒng)的要求。更多優(yōu)勢(shì)還體現(xiàn)在系統(tǒng)集成方面,諸如以太網(wǎng) MAC 的功能模塊、用于 PCIe 的端點(diǎn)模塊、處理器 IP 模塊、存儲(chǔ)元件及控制器等等。另外,由于 IP 核的詳盡列表支持在 FPGA 中進(jìn)行多種源整合,可以大大節(jié)省總體系統(tǒng)成本。
(來(lái)源:中電網(wǎng),作者:Navneet Rao )