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