利用Virtex-5 FPGA實(shí)現(xiàn)更高的性能
在FPGA系統(tǒng)設(shè)計(jì)中,要達(dá)到性能最大化需要平衡具有混合性能效率的元器件,包括邏輯構(gòu)造(fabric)、片上存儲(chǔ)器、DSP和I/O帶寬。在本文中,我將向你解釋怎樣能在追求更高系統(tǒng)級(jí)性能的過(guò)程中受益于Xilinx® 的Virtex™-5 FPGA構(gòu)建模塊,特別是新的ExpressFabric™技術(shù)。以針對(duì)邏輯和算術(shù)功能的量化預(yù)期性能改進(jìn)為例,我將探究ExpressFabric架構(gòu)的主要功能?;趯?shí)際客戶(hù)設(shè)計(jì)的基準(zhǔn)將說(shuō)明Virtex-5ExpressFabric技術(shù)性能平均比前一代Virtex-4 FPGA要高30%。
利用新的邏輯構(gòu)造(在里面你可以實(shí)現(xiàn)諸如計(jì)數(shù)器、累加器和RAM/ROM存儲(chǔ))和可用的硬IP模塊、存儲(chǔ)器及DSP(經(jīng)最優(yōu)化以運(yùn)行在高達(dá)550MHz的時(shí)鐘速率),Virtex-5 FPGA無(wú)疑是針對(duì)高性能設(shè)計(jì)的平臺(tái)選擇。
ExpressFabric的性能
自從上世紀(jì)80年代中期第一顆FPGA問(wèn)世以來(lái),大多數(shù)FPGA的邏輯構(gòu)造一直是基于相同的基本四輸入查找表(LUT)架構(gòu)。Virtex-5家族是第一個(gè)提供完全獨(dú)立輸入(不共享)的真正6輸入LUT(6-LUT)構(gòu)造的FPGA平臺(tái)(圖1)。向6-LUT構(gòu)造架構(gòu)轉(zhuǎn)移為65nm的Virtex-5 FPGA家族提供了在關(guān)鍵路徑延遲—決定邏輯構(gòu)造性能的因素—與裸片面積之間的最有效折衷。
圖1:Virtex-5可配置邏輯模塊(CLB)構(gòu)成兩個(gè)邏輯片,每邏輯片利用4個(gè)提供更少邏輯級(jí)好處的獨(dú)立6-LUT。
隨著工藝技術(shù)的進(jìn)步,互連時(shí)間延遲能占關(guān)鍵路徑延遲的50%以上。賽靈思已經(jīng)為Virtex-5 FPGA開(kāi)發(fā)了新的互連模式,通過(guò)較少的跳躍(hops)到達(dá)更多的地方來(lái)增強(qiáng)性能。新的模式增加了兩到三跳之內(nèi)可以到達(dá)的邏輯互連的數(shù)量。此外,更為有序的路由模式使Xilinx ISE™軟件更容易找到最優(yōu)化的路由。所有互連功能對(duì)FPGA設(shè)計(jì)工程師都是透明的,但是,將轉(zhuǎn)變?yōu)楦叩恼w性能和更容易設(shè)計(jì)的可路由性。本質(zhì)上,Virtex-5模式根據(jù)距離提供快速可預(yù)測(cè)的路由。
通過(guò)把新的6-LUT構(gòu)造與進(jìn)位鏈、專(zhuān)用多路選擇器和觸發(fā)器(與把這些單元連接起來(lái)的獨(dú)特方法)這樣的特殊功能相結(jié)合,創(chuàng)造了非常卓越的性能和實(shí)現(xiàn)邏輯及算術(shù)功能的效率。
多路選擇器(MUX)就是清楚地說(shuō)明ExpressFabric技術(shù)好處的例子之一。在Virtex-4架構(gòu)中實(shí)現(xiàn)一個(gè)4:1 MUX需要兩個(gè)4輸入LUT和一個(gè)MUXF模塊;同樣的4:1 MUX現(xiàn)在可以在Virtex-5器件中用一個(gè)LUT來(lái)實(shí)現(xiàn)。類(lèi)似地,在Virtex-4架構(gòu)中實(shí)現(xiàn)一個(gè)8:1 MUX需要四個(gè)LUT和三個(gè)MUXF模塊;而新的Virtex-5架構(gòu)僅僅需要兩個(gè)6-LUT,因此,性能更高且邏輯利用更佳,如圖2所示。
圖2: Virtex-5 FPGA與Virtex-4 FPGA在8:1多路選擇器實(shí)現(xiàn)上的比較。
與過(guò)去的Xilinx FPGA家族一樣,Virtex-5 Slice L(邏輯片)利用專(zhuān)用的進(jìn)位鏈可以實(shí)現(xiàn)邏輯功能、寄存器和算術(shù)功能。稍微更復(fù)雜的Slice M(存儲(chǔ)器片)提高了在LUT(SRL)內(nèi)部實(shí)現(xiàn)分布式RAM及移位寄存器的性能。
由ExpressFabric架構(gòu)所提供的各種各樣改進(jìn)當(dāng)中,新的進(jìn)位鏈結(jié)構(gòu)(carry chain structure)當(dāng)被用于實(shí)現(xiàn)算術(shù)運(yùn)算時(shí)實(shí)質(zhì)上產(chǎn)生了更高的性能,其對(duì)關(guān)鍵路徑延遲的影響可以在表1中的若干例子容易地看到。
表1:Virtex-5 FPGA與Virtex-4 FPGA在實(shí)現(xiàn)算術(shù)功能上的比較。
分布式存儲(chǔ)器功能如LUT RAM或ROM也以若干方式從較大的LUT構(gòu)造獲益。新的寬高比容許更為密集地包裝小的存儲(chǔ)器功能,從而引向重大的性能好處,如表2所描述。
表2:Virtex-5 FPGA與Virtex-4 FPGA在實(shí)現(xiàn)基于LUT的RAM/ROM上的比較。
由已改進(jìn)的具有6-LUT架構(gòu)的邏輯構(gòu)造和互連結(jié)構(gòu)所提高的性能是有重大價(jià)值的,但是,這僅僅是開(kāi)端。
大多應(yīng)用需要的片上RAM比基于LUT的RAM能提供的要多。利用增強(qiáng)的Virtex-5模塊RAM,你可以實(shí)現(xiàn)更高的片上存儲(chǔ)器性能。
模塊RAM性能
隨著向65nm的轉(zhuǎn)移,Virtex-5模塊RAM的時(shí)鐘速度獲得了10%的提升,達(dá)到550MHz。然而,為了實(shí)現(xiàn)目前大多應(yīng)用所渴望的性能,模塊RAM需要的不僅僅是速度更快,而是需要規(guī)模更大。
Virtex-5模塊RAM 的規(guī)模已經(jīng)加倍到36 kb。這個(gè)較大的模塊規(guī)模(由兩個(gè)18kb存儲(chǔ)器構(gòu)成)在簡(jiǎn)單的雙口模式中將支持72位數(shù)據(jù)字,因此,把模塊RAM的帶寬提高了一倍。此外,Virtex-5 FPGA提供專(zhuān)用的連接,使你能夠在模塊RAM行中把兩個(gè)相鄰的36kb模塊RAM級(jí)聯(lián)起來(lái),因此,實(shí)現(xiàn)一個(gè)運(yùn)行在最大550MHz 速率的72kb存儲(chǔ)器。
不斷加大的FPGA的實(shí)用性已經(jīng)加速了把更多子系統(tǒng)集成到單一器件之中的趨勢(shì),使得對(duì)多個(gè)時(shí)鐘域進(jìn)行接口的必要性更為普遍。Virtex-5器件通過(guò)提供集成邏輯來(lái)簡(jiǎn)化靈活和有效的FIFO的實(shí)現(xiàn)來(lái)適應(yīng)這種趨勢(shì)。
通過(guò)這種增強(qiáng)的組合,Virtex-5模塊RAM提供更多片上存儲(chǔ)器,更容易構(gòu)建FIFO,并獲得更高的帶寬。
DSP性能
作為一種針對(duì)高性能DSP應(yīng)用的可行解決方案,F(xiàn)PGA的認(rèn)知度日益增加是理所當(dāng)然的。無(wú)論作為一種協(xié)處理器或一種針對(duì)更為苛刻應(yīng)用要求的單機(jī)解決方案,F(xiàn)PGA都不斷提供最佳的性能、功率和成本組合。
為了滿(mǎn)足對(duì)更高DSP性能看來(lái)貪得無(wú)厭的需求,賽靈思的Virtex-5 DSP性能在時(shí)鐘速率和精度兩個(gè)方面都居于領(lǐng)先地位;時(shí)鐘速率已經(jīng)提高到550MHz,而精度已經(jīng)從18 x 18 位提高到25 x 18位。
賽靈思也針對(duì)累計(jì)器鏈實(shí)現(xiàn)而優(yōu)化了Virtex-5 DSP48片,其強(qiáng)大的性能使創(chuàng)建非常有效的高性能濾波器成為可能。在每一個(gè)DSP48片輸入和輸出上的專(zhuān)用路由資源允許在一行內(nèi)把任意數(shù)量的片鏈接起來(lái)。這種專(zhuān)用的路由確保在鏈中的每一個(gè)DSP48片將以全速運(yùn)行而不消耗任何構(gòu)造路由或邏輯資源,因?yàn)槠渌麱PGA需要。綜合起來(lái)看,這些改進(jìn)把實(shí)現(xiàn)通用高精度功能所需要的資源數(shù)量減少了一半。例如,對(duì)于35 x 25位乘法,采用Virtex-4 FPGA就需要四個(gè)DSP48片;在Virtex-5 FPGA中具有更寬的DSP模塊可用,實(shí)現(xiàn)這種乘法功能只要采用一半的DSP48片。
I/O帶寬性能
隨著性能基準(zhǔn)的進(jìn)展,F(xiàn)PGA能處理數(shù)據(jù)的速度與器件I/O帶寬的前后使用情況有關(guān),它就是大量數(shù)據(jù)能被搬移到器件上及從器件上卸下所用的速度。當(dāng)利用外部存儲(chǔ)緩沖器時(shí),接口必須比數(shù)據(jù)處理率至少快兩倍,因?yàn)閿?shù)據(jù)既要寫(xiě)出也要讀回FPGA之中。
通過(guò)既提高每一個(gè)引腳的數(shù)據(jù)率,又利用更大的封裝來(lái)增加可用I/O的數(shù)量,Virtex-5 FPGA提高了Virtex-4的帶寬。例如,對(duì)于流行的存儲(chǔ)器接口如DDR2 SDRAM,每一個(gè)引腳的帶寬已經(jīng)從534 Mbps提高到了667 Mbps;數(shù)據(jù)I/O的數(shù)量—當(dāng)考慮SSO要求時(shí)—已經(jīng)從32增加到了576。
客戶(hù)設(shè)計(jì)基準(zhǔn)
為了進(jìn)一步評(píng)估由Virtex-5 FPGA邏輯構(gòu)造所提供的性能改進(jìn),我們利用賽靈思的ISE軟件實(shí)現(xiàn)了一組客戶(hù)設(shè)計(jì)。
這些設(shè)計(jì)完全采用VHDL或Verilog編寫(xiě)。我們利用庫(kù)組件或綜合參考的直接調(diào)用方法實(shí)現(xiàn)了一些像存儲(chǔ)器和FIFO那樣的特殊設(shè)計(jì)單元,但是許多是利用由CORE Generator™軟件生成的EDIF模塊實(shí)現(xiàn)的。
對(duì)于這些基準(zhǔn),我們采用Synplicity公司的Synplify Pro工具以時(shí)序驅(qū)動(dòng)方式執(zhí)行綜合,并利用嚴(yán)緊和現(xiàn)實(shí)的約束來(lái)有效地測(cè)量性能。完成這一點(diǎn)就確保所有特殊優(yōu)化和邏輯復(fù)制獲得了使用。
在ISE軟件中的實(shí)現(xiàn)是把布局和路由努力設(shè)置到“high”來(lái)完成的。時(shí)鐘被以5%的增量反復(fù)增加,直到該設(shè)計(jì)不能滿(mǎn)足設(shè)計(jì)約束。
結(jié)果是—與利用Virtex-4 FPGA實(shí)現(xiàn)的設(shè)計(jì)相比—平均性能提高了30%,如圖3所示。
圖3:根據(jù)利用ISE 8.2i軟件實(shí)現(xiàn)的一套74個(gè)客戶(hù)設(shè)計(jì)的比較。
這些改進(jìn)最多的設(shè)計(jì)具備大的邏輯錐體;關(guān)鍵路徑常常實(shí)現(xiàn)大的復(fù)雜邏輯等式。例如,ASIC原型設(shè)計(jì)的關(guān)鍵路徑中的大量邏輯通常將具有非常少的寄存器。這些類(lèi)型的設(shè)計(jì)展示了采用Virtex-5 ExpressFabric技術(shù)的重大改進(jìn)。
在展示適度改進(jìn)的設(shè)計(jì)中,要么具有較少的邏輯級(jí),要么為使用硬IP模塊或改進(jìn)性能的進(jìn)位鏈結(jié)構(gòu)提供很少的機(jī)會(huì)。
圖4通過(guò)把Virtex-5 FPGA對(duì)前一代Virtex-4 FPGA的性能改進(jìn)進(jìn)行分類(lèi)做了總結(jié)。
結(jié)論
利用其新的ExpressFabric技術(shù)和對(duì)其它高性能硬IP及I/O的緊密耦合,與前一代架構(gòu)相比,Virtex-5 FPGA家族表現(xiàn)了重大的性能提升。
評(píng)論