按照摩爾定律,隨著工藝尺寸的降低,性能和密度在不斷提高,但是卻很難控制好功耗,難以跟上摩爾定律的預(yù)期。為了能夠使系統(tǒng)級(jí)功耗保持在最低水平上,65nm Altera Stratix III FPGA采用了多種工藝技術(shù),包括Altera專有的可編程功耗技術(shù)。Stratix III FPGA的核心結(jié)構(gòu)建立在創(chuàng)新的邏輯單元之上——自適應(yīng)邏輯模塊(ALM)。這種核心結(jié)構(gòu)與MultiTrack互聯(lián)體系結(jié)構(gòu)相結(jié)合,以很少的跳轉(zhuǎn)實(shí)現(xiàn)高性能互聯(lián),使Stratix III器件能夠以非常低的功耗,高效實(shí)現(xiàn)高速邏輯、算法和寄存器功能。 體系結(jié)構(gòu)的優(yōu)勢(shì) 高性能、面積利用率非常高的體系結(jié)構(gòu)的關(guān)鍵所在是ALM,它由組合邏輯、兩個(gè)寄存器和兩個(gè)加法器構(gòu)成,如圖1所示。組合部分含8個(gè)輸入,包括一個(gè)查找表(LUT),使用Altera獲得專利的LUT技術(shù),查找表可以在兩個(gè)自適應(yīng)LUT (ALUT)之間進(jìn)行劃分。一個(gè)完整的ALM可實(shí)現(xiàn)一個(gè)任意6輸入功能,但是由于組合邏輯模塊有8個(gè)輸入,因此,一個(gè)ALM可以實(shí)現(xiàn)兩個(gè)功能的各種組合。 圖1. ALM模塊結(jié)構(gòu) 除了能夠?qū)崿F(xiàn)一個(gè)完整的6輸入LUT,ALM還可以實(shí)現(xiàn)兩個(gè)獨(dú)立的4輸入功能,或者輸入都獨(dú)立的一個(gè)5輸入和一個(gè)3輸入功能(表1總結(jié)了ALM所支持的組合邏輯配置)。由于可以提供兩個(gè)寄存器和兩個(gè)加法器,ALM能夠靈活地實(shí)現(xiàn)標(biāo)準(zhǔn)4輸入LUT (4-LUT)體系結(jié)構(gòu)的2.5個(gè)邏輯單元(LE),這一體系結(jié)構(gòu)含有一個(gè)4-LUT,進(jìn)位邏輯和一個(gè)寄存器。 f 關(guān)于這一體系結(jié)構(gòu)的詳細(xì)說明,請(qǐng)參考Stratix III器件手冊(cè)www.altera.com/literature/hb/stx3/stratix3_handbook.pdf。 表1. 靈活的ALM 注釋: (1) 請(qǐng)參考Stratix III器件手冊(cè)(www.altera.com/literature/hb/stx3/stratix3_handbook.pdf),了解一個(gè)ALM可實(shí)現(xiàn)的7輸入類型的詳細(xì)信息。 ALM還含有兩個(gè)寄存器和兩個(gè)加法器,如圖2所示。之所以增加了另一個(gè)寄存器,是因?yàn)閷?shí)驗(yàn)表明,許多客戶應(yīng)用需要的寄存器和LUT比高于1:1。兩個(gè)額外的加法器是為了增強(qiáng)ALM的算術(shù)能力,每個(gè)ALM可實(shí)現(xiàn)兩個(gè)2位加法或者兩個(gè)3位加法。因此,ALM要比基本6-LUT的寄存器多一倍,算術(shù)能力也提高一倍,是非常優(yōu)異的構(gòu)建模塊。 ALM在兩年前推出,要比最近才推出的Xilinx Virtex-5邏輯單元(也稱為L(zhǎng)UT觸發(fā)器對(duì))更靈活,面積利用率也更高。Virtex-5邏輯單元含有一個(gè)基本6-LUT、進(jìn)位邏輯和一個(gè)寄存器,如圖2所示。作為對(duì)比,ALM的組合邏輯部分有8個(gè)輸入,支持所有的6輸入功能,以及其他使用兩個(gè)輸出的大量小功能組合。Virtex-5邏輯單元的組合邏輯部分是基本6-LUT,也有64位CRAM,以及兩個(gè)輸出,這和ALM相似,但是只含有6個(gè)輸入,實(shí)現(xiàn)一個(gè)以上邏輯功能的能力有限。其輸出之一是6-LUT的輸出,另一個(gè)是5-LUT,對(duì)應(yīng)RAM配置的下半部分。 圖2. Stratix III ALM和Virtex-5 LUT觸發(fā)器對(duì)的對(duì)比 盡管基本6-LUT能夠?qū)崿F(xiàn)兩個(gè)更小的功能,但通常還是只用作一個(gè)6-LUT。由于LUT只有6個(gè)輸入,所需的共享輸入數(shù)量嚴(yán)格限制了可組合的功能類型。這一限制使得很難將基本6-LUT用作兩個(gè)5-LUT。作為對(duì)比,Stratix III ALM的兩個(gè)附加輸入使其能夠用作兩個(gè)全功能5-LUT,在面積上有很大的優(yōu)勢(shì)。 表2給出了幾種功能組合所需要的共享輸入的數(shù)量。例如,ALM能夠?qū)崿F(xiàn)兩個(gè)獨(dú)立的4輸入功能(沒有共享輸入),而Virtex-5 LUT需要三個(gè)共享輸入。圖3是另一個(gè)例子:ALM能夠?qū)崿F(xiàn)一個(gè)5輸入和一個(gè)3輸入功能,不需要任何共享輸入,而Virtex-5 LUT需要三個(gè)共享輸入。很難找到適合Virtex-5 LUT的功能,導(dǎo)致輸入少于6個(gè)的功能需要占用6-LUT資源才能實(shí)現(xiàn)。 表2. Stratix III ALM和Virtex-5 LUT靈活性對(duì)比 結(jié)合8輸入分段式LUT和2:1寄存器至LUT比,ALM能夠高效實(shí)現(xiàn)兩個(gè)獨(dú)立功能,每個(gè)需要一個(gè)觸發(fā)器,不需要共享輸入或者其他資源。結(jié)果,在任何實(shí)際設(shè)計(jì)中,所需要的ALM要少于Virtex-5邏輯單元(參見圖3)。 圖3. Stratix III ALM和Virtex-5 LUT觸發(fā)器對(duì)實(shí)現(xiàn)的5輸入和3輸入功能 性能基準(zhǔn)測(cè)試 Altera在65個(gè)真實(shí)設(shè)計(jì)(針對(duì)最小面積進(jìn)行了優(yōu)化)基礎(chǔ)上進(jìn)行了新的性能基準(zhǔn)測(cè)試,以比較Stratix III和Virtex-5的性能。性能基準(zhǔn)測(cè)試提供了Altera ALM和Xilinx LUT觸發(fā)器對(duì)的相對(duì)性能平均測(cè)量結(jié)果。由于具有高效的分段式能力,Stratix III ALM性能平均要比Virtex-5 LUT觸發(fā)器對(duì)高1.8倍。在某些設(shè)計(jì)中,甚至達(dá)到2.3倍,如圖4所示。“1”處的水平黑線表示在這一點(diǎn),Virtex-5 (LUT觸發(fā)器對(duì))和Stratix III (ALM)的邏輯單元數(shù)量相同。 圖4. Stratix III ALM和Virtex-5 LUT觸發(fā)器對(duì)性能基準(zhǔn)測(cè)試對(duì)比 注釋: (1) 在最新版ISE設(shè)計(jì)軟件中,針對(duì)面積進(jìn)行優(yōu)化時(shí),75個(gè)客戶設(shè)計(jì)中的10個(gè)出現(xiàn)了錯(cuò)誤。 為了更好的理解這些結(jié)果,圖5顯示了由綜合產(chǎn)生的LUT分解。圖表清晰的顯示,Virtex-5器件經(jīng)過綜合,比Stratix III器件產(chǎn)生了更多的6-LUT百分比——32%比13%。這一不同的原因在于,當(dāng)Virtex-5使用一個(gè)基本6-LUT時(shí),由于大部分情況下,不管一個(gè)功能需要6個(gè)輸入還是更少的輸入,都要占用整個(gè)LUT,因此,Virtex-5需要盡可能多的輸入。Virtex-5只能高效實(shí)現(xiàn)6-LUT,所以,綜合總是嘗試產(chǎn)生盡可能多的6-LUT。因?yàn)椴惶赡軐蓚(gè)功能合在一起,共享輸入,因此很難建立更小的功能。 圖5. 綜合期間產(chǎn)生的LUT規(guī)模分布 由于LUT具有分段能力,綜合工具可以改變LUT規(guī)模的分布,產(chǎn)生大小功能合適的組合,因此可以使用更少的ALM。特別是5個(gè)以及更少輸入的功能只使用一半ALM,因此,只在對(duì)速率要求高的邏輯中使用6輸入功能便顯得非常重要。 ALM可以通過軟件優(yōu)化來靈活地實(shí)現(xiàn)。圖6所示為Quartus II集成綜合(QIS)針對(duì)三種不同目的(速度、面積和二者平衡)進(jìn)行優(yōu)化后產(chǎn)生的三種LUT規(guī)模分布。目的不同,LUT規(guī)模組合也就不同。當(dāng)針對(duì)速度進(jìn)行優(yōu)化時(shí),產(chǎn)生的6-LUT數(shù)量最多;針對(duì)面積進(jìn)行優(yōu)化時(shí),以最少的ALM產(chǎn)生不同的分布。這種靈活性只有Altera能夠提供,它源自在體系結(jié)構(gòu)開發(fā)過程中,為獲得最佳結(jié)果,對(duì)軟件和硬件相互作用進(jìn)行的深入研究。 f 關(guān)于ALM設(shè)計(jì)和研究的詳細(xì)說明,請(qǐng)參閱Stratix II FPGA體系結(jié)構(gòu)白皮書www.altera.com/literature/wp/wp-01003.pdf。 圖6. QIS產(chǎn)生的功能分布 在真實(shí)客戶設(shè)計(jì)基礎(chǔ)上進(jìn)行大量基準(zhǔn)測(cè)試分析,并針對(duì)最小面積實(shí)施完整的綜合、布局布線設(shè)計(jì)流程后發(fā)現(xiàn),Stratix III ALM“等價(jià)于”或者“容納的邏輯是”Virtex-5邏輯單元的1.8倍(參見表3)。 表3. 歸一化后的相對(duì)邏輯性能 考慮到這一1.8倍的因素,EPSL340器件的邏輯要比XC5VLX330多出17%(參見表4和圖7)。 表4. Stratix III和Virtex-5等價(jià)器件對(duì)比 圖7. Stratix III L和Virtex-5 LX邏輯性能對(duì)比 注釋: (1) 在這一器件密度上,EP3SE260提供最佳的邏輯、DSP和存儲(chǔ)器。 (2) Virtex-5 6-LUT轉(zhuǎn)換至ALM計(jì)數(shù)時(shí),使用1.8倍因子。 布線體系結(jié)構(gòu) 除了邏輯模塊結(jié)構(gòu)之外,另一關(guān)鍵FPGA特性是布線體系結(jié)構(gòu)。Stratix系列器件引入了MultiTrack互聯(lián),以實(shí)現(xiàn)最佳連接和性能。布線體系結(jié)構(gòu)提供不同邏輯模塊群——邏輯陣列模塊(LAB)之間的連接,可以通過從一個(gè)LAB到另一個(gè)LAB的“跳數(shù)”對(duì)其進(jìn)行衡量。跳數(shù)越少,模式預(yù)測(cè)性更好,那么性能也就越好,CAD工具也就更容易進(jìn)行優(yōu)化。 布線結(jié)構(gòu)是大量的行列連線。Stratix系列使用三側(cè)布線結(jié)構(gòu),如圖8所示。這意味著,一個(gè)LAB能夠驅(qū)動(dòng)上面一個(gè)水平通道(H)和左側(cè)、右側(cè)兩個(gè)垂直(V)通道的所有連線,也可以接受這些通道的驅(qū)動(dòng)。通道中含有長(zhǎng)度為4、8、16和24的連線,在連線上任意LAB處都可以下載信號(hào)。 圖8. 布線體系結(jié)構(gòu)側(cè)面的數(shù)量 為簡(jiǎn)單起見,只考慮長(zhǎng)度為4的連線,圖9顯示了從給定LAB(灰色框表示其位置)連接至其他LAB所需要的跳數(shù)。 圖9. Stratix系列連接 由于可配置邏輯模塊(CLB)能夠連接至一個(gè)垂直通道和一個(gè)水平通道(連接至CLB上面一半的連線,以及CLB下面一半的連線)的所有連線,因此Virtex體系結(jié)構(gòu)使用兩側(cè)走線體系結(jié)構(gòu)。此外,其連線只能連接至走線部分點(diǎn)的CLB。這些因素限制了連接和布局。采用Virtex-5器件,CLB仍能連接至兩個(gè)通道,但還是需要L形(在Xilinx材料中指對(duì)角)連線來提高互聯(lián)能力。 表5對(duì)比了在給定跳數(shù)情況下,Stratix III系列和Virtex-5能夠連接的LAB/CLB數(shù)量。在Stratix III器件中,與Virtex-5中的CLB相比,一跳能夠到達(dá)更多的LAB (34)。如果利用高效的ALM來調(diào)整這些數(shù)量,結(jié)果對(duì)Stratix III器件更有利。由于LAB含有等價(jià)的25個(gè)基于4-LUT的LE,而Virtex-5大約為11個(gè)(使用1.8倍因子),如果我們根據(jù)這些因素調(diào)整在給定跳數(shù)內(nèi)能夠到達(dá)的邏輯數(shù)量,就邏輯性能而言,走線連接情況會(huì)更好。 表5. Stratix III和Virtex-5連接對(duì)比 注釋: (1) 1個(gè)ALM = 2.5個(gè)LE,每個(gè)LAB = 10個(gè)ALM 存儲(chǔ)器LAB Stratix III FPGA由LAB構(gòu)成,每個(gè)LAB含有10個(gè)靈活的ALM,而ALM可配置實(shí)現(xiàn)邏輯功能、寄存器功能以及復(fù)雜的算術(shù)功能。 Stratix III FPGA內(nèi)核中增加了一種新的LAB——存儲(chǔ)器LAB (MLAB)。LAB和MLAB是Stratix III FPGA中的共存對(duì),MLAB ALM可用作普通的LAB ALM,也可以配置為雙端口靜態(tài)隨機(jī)訪問存儲(chǔ)器(SRAM),如圖10所示。 圖10. Stratix III MLAB LAB的這種LUT-RAM功能可支持最大640位,配置為64×10或者32×20簡(jiǎn)單雙端口SRAM模塊,而Virtex-5的CLB只支持64×4配置。SRAM模塊經(jīng)過優(yōu)化,可以實(shí)現(xiàn)濾波延遲線、小容量FIFO緩沖和移位寄存器,最大性能達(dá)到650MHz時(shí)鐘速率。表6對(duì)比了Stratix III和Virtex-5系列對(duì)應(yīng)器件,EP3SL340有4.3Mbits的LUT-RAM。 表6. Stratix III和Virtex-5器件的RAM分布 性能優(yōu)勢(shì) Stratix III性能優(yōu)勢(shì)包括其獨(dú)特的內(nèi)核體系結(jié)構(gòu)以及低功耗技術(shù),內(nèi)核體系結(jié)構(gòu)可保證系統(tǒng)級(jí)時(shí)序逼近有足夠的性能余量。 內(nèi)核性能 采用Quartus II開發(fā)軟件中全集成的內(nèi)核體系結(jié)構(gòu),可以輕松實(shí)現(xiàn)Stratix III器件(該器件是業(yè)界速度最快的FPGA)的高性能優(yōu)勢(shì),對(duì)設(shè)計(jì)進(jìn)行最佳綜合,成功實(shí)現(xiàn)布局布線,盡快達(dá)到時(shí)序逼近,幫助設(shè)計(jì)人員提高效能,同時(shí)達(dá)到性能目標(biāo)。 圖11顯示了來自一組75個(gè)真實(shí)客戶設(shè)計(jì)的基準(zhǔn)測(cè)試結(jié)果,表明Stratix III器件要比Stratix II器件平均快25%。 圖11. Stratix III和Stratix II基準(zhǔn)測(cè)試 此外,Stratix III FPGA比競(jìng)爭(zhēng)65nm器件(例如Virtex-5,參見圖12)快出一個(gè)速率等級(jí)。這一平均性能優(yōu)勢(shì)基于業(yè)界認(rèn)可的基準(zhǔn)測(cè)試方法,在一組真實(shí)客戶設(shè)計(jì)中使用了帶有DSE和Xplorer的最新版Quartus II和Xilinx ISE設(shè)計(jì)軟件,以獲得最佳性能結(jié)果。 圖12. Stratix III和Virtex-5基準(zhǔn)測(cè)試 更好的系統(tǒng)級(jí)性能,并有余量 某些供應(yīng)商任意規(guī)定速率,使用戶不得不在實(shí)際中對(duì)規(guī)范進(jìn)行調(diào)整,很難獲得最佳性能,而Altera在規(guī)范上采取了保守的方法。設(shè)計(jì)人員使用Altera FPGA,可確保輕松實(shí)現(xiàn)時(shí)序逼近。例如,當(dāng)Altera說明能夠達(dá)到333MHz DDR2性能(例如采用Stratix II FPGA)時(shí),實(shí)際在所有情況下,設(shè)計(jì)人員都能保證系統(tǒng)工作在333MHz上。事實(shí)上,用戶的產(chǎn)品性能甚至可以達(dá)到400MHz DDR2。在另一個(gè)例子中,Stratix II FPGA在LVDS和DDR2規(guī)范上有足夠的余量,超過1.25Gbps和400MHz。按照這一趨勢(shì),Stratix III FPGA將繼續(xù)順利實(shí)現(xiàn)系統(tǒng)級(jí)時(shí)序要求。 要實(shí)現(xiàn)更高的系統(tǒng)性能,不但需要很好的內(nèi)核性能、片內(nèi)RAM、數(shù)字信號(hào)處理(DSP)模塊,而且還需要對(duì)I/O進(jìn)行優(yōu)化。Stratix III FPGA的DSP模塊和片內(nèi)RAM (TriMatrix存儲(chǔ)器)針對(duì)最佳DSP性能進(jìn)行了全面優(yōu)化,能夠運(yùn)行在600MHz上。此外,Stratix III FPGA比目前所有的單片DSP處理器的性能高出幾個(gè)數(shù)量級(jí),每秒乘累加運(yùn)算次數(shù)(GMAC)達(dá)到537吉。 TriMatrix片內(nèi)存儲(chǔ)器提供三種不同的存儲(chǔ)器結(jié)構(gòu):640位MLAB、9Kbit塊(M9K)和144Kbit塊(M144K)。這些模塊針對(duì)最大效率進(jìn)行優(yōu)化,MLAB可以放置在器件中的任何地方,非常靈活,能夠支持600MHz以上的時(shí)鐘速率。采用TriMatrix片內(nèi)存儲(chǔ)器和DSP模塊,Stratix III器件是視頻和圖像處理、高速數(shù)字通信以及其他高性能DSP應(yīng)用的理想選擇。FPGA內(nèi)核模塊的性能如表7所示。 表7. Stratix III FPGA內(nèi)核性能 為完善高性能內(nèi)核,Stratix III FPGA采用了高性能I/O進(jìn)行設(shè)計(jì),能夠與外部器件進(jìn)行寬帶連接。例如,Stratix III I/O外部存儲(chǔ)器接口采用專用存儲(chǔ)器接口電路,能夠?qū)崿F(xiàn)DDR3和QDR II+等最新的高性能存儲(chǔ)器接口。Stratix III FPGA是目前唯一支持400MHz DDR3和QDR II+的FPGA。而且,DDR2、QDR2 II和RLDRAM II的性能在Stratix II器件基礎(chǔ)上進(jìn)一步得到了提高(表8中進(jìn)行了總結(jié))。Altera與一流供應(yīng)商合作,確保用戶的Stratix III FPGA能夠連接最新的存儲(chǔ)器。 表8. Stratix III FPGA I/O性能 使用這些高級(jí)特性和可定制知識(shí)產(chǎn)權(quán)(IP),設(shè)計(jì)人員能夠迅速輕松的將多種應(yīng)用集成到復(fù)雜系統(tǒng)中,而不用降低Stratix III FPGA的性能。 低功耗 Stratix III FPGA采用了創(chuàng)新的工藝和體系結(jié)構(gòu)進(jìn)行開發(fā),降低了功耗,同時(shí)實(shí)現(xiàn)了最佳性能。其獨(dú)特的低功耗技術(shù)包括:
與1.2V的Stratix II FPGA和1.0V的Virtex-5相比,利用低功耗技術(shù),Stratix III FPGA在0.9V時(shí)靜態(tài)功耗降低了64%,動(dòng)態(tài)功耗降低了55%(參見表9)。表9中的數(shù)值針對(duì)Stratix II進(jìn)行了歸一化處理,來自供應(yīng)商功耗估算器工具的公開數(shù)據(jù)。計(jì)算結(jié)果基于每個(gè)ALM或者Virtex-5等價(jià)ALM的靜態(tài)功耗。 表9. 高端FPGA的靜態(tài)和動(dòng)態(tài)功耗對(duì)比 f 關(guān)于Stratix III低功耗技術(shù)的詳細(xì)說明,請(qǐng)參閱Stratix III可編程功耗白皮書www.altera.com/literature/wp/wp-01006.pdf。 基準(zhǔn)測(cè)試方法 對(duì)FPGA性能進(jìn)行基準(zhǔn)測(cè)試是一項(xiàng)復(fù)雜的任務(wù),不完善的測(cè)試過程會(huì)導(dǎo)致結(jié)果不確定或者不正確。Altera進(jìn)行了大量投入以開發(fā)嚴(yán)謹(jǐn)科學(xué)的基準(zhǔn)測(cè)試方法,并得到了業(yè)界專家的認(rèn)可,是測(cè)量FPGA性能可靠正確的方法。 f 關(guān)于基準(zhǔn)測(cè)試方法的詳細(xì)信息,請(qǐng)參考FPGA性能基準(zhǔn)測(cè)試方法白皮書www.altera.com/literature/wp/wpfpgapbm.pdf。 結(jié)論 由于很難控制好功耗,現(xiàn)在越來越難以跟上摩爾定律的預(yù)期——工藝尺寸不斷降低,性能和密度不斷提高。但是,經(jīng)過多年的研究,Stratix III FPGA取得了多項(xiàng)創(chuàng)新,例如ALM和布線體系結(jié)構(gòu)、嵌入式功能(DSP和RAM)、高級(jí)I/O標(biāo)準(zhǔn)以及外部存儲(chǔ)器接口等。這些創(chuàng)新特性集成在業(yè)界領(lǐng)先的Quartus II軟件中,能夠以極低的功耗提供優(yōu)異的性能,在盡可能小的FPGA中實(shí)現(xiàn)大型設(shè)計(jì)。 詳細(xì)信息
|