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