很多世界頂尖的“建筑師”可能是你從未聽說過的人,,他們設(shè)計并創(chuàng)造出了很多你可能從未見過的神奇結(jié)構(gòu),比如在芯片內(nèi)部的復(fù)雜體系,。制造芯片的基本材料源于沙子,,但芯片本身已經(jīng)成為人們當代生活不可或缺的東西,。如果你使用手機、電腦,,或者通過互聯(lián)網(wǎng)收發(fā)信息,,那么你就無時無刻不在受益于這些建筑師們的偉大工作。
FPGA是芯片的其中一種,,從上世紀八十年代誕生起,,F(xiàn)PGA已經(jīng)從簡單的可編程門陣列,發(fā)展成為了有著大量可編程邏輯的復(fù)雜片上系統(tǒng),。除了硬件結(jié)構(gòu)之外,,F(xiàn)PGA的開發(fā)工具和應(yīng)用場景也都取得了長足的進步和擴展,F(xiàn)PGA在整個半導(dǎo)體行業(yè)的重要性也在不斷增強,。FPGA芯片的演進,,離不開這些“建筑師”的不斷發(fā)明創(chuàng)造。
幾年前,,這些FPGA的頂級建筑師們選出了自上世紀九十年代起的20年以來FPGA領(lǐng)域最有影響力的25個研究成果,。通過這些重要的成果,我們會理解FPGA是如何發(fā)展至今,,并且知道FPGA技術(shù)未來將會發(fā)展向何處,。
這25個研究成果按研究領(lǐng)域分為架構(gòu)、EDA工具,、電路,、應(yīng)用等大類,每項成果都由一名該領(lǐng)域的頂級學(xué)者做推介。接下來,,我將在幾篇文章里,,分別介紹這這些改變了FPGA發(fā)展進程的重要研究成果。本文是系統(tǒng)架構(gòu)篇,。
?。ū疚慕榻B的5項成果原文,均已上傳至知識星球:老石談芯進階版,,請在文末掃碼進入星球查看)
01
FPGA與SIMD陣列的結(jié)合與統(tǒng)一
一句話總結(jié):FPGA作為并行計算加速器的開山之作
英文名:Unifying FPGAs and SMID Arrays
作者:Michael Bolotski, Andre? DeHon, Thomas F. Knight, Jr.
發(fā)表時間:1994年
推介人:Jonathan Rose(多倫多大學(xué))
Andre? DeHon(現(xiàn)任賓夕法尼亞大學(xué)教授)
這項成果在哲學(xué)的角度重新審視了FPGA這種計算“介質(zhì)”,,并將其與單指令多數(shù)據(jù)(SIMD)方法聯(lián)系起來,以進行常規(guī)計算的并行加速,。這個工作最早揭示了FPGA和SIMD這兩種計算方法如何被看成是一個連續(xù)的整體,,并在某種意義上將二者結(jié)合和統(tǒng)一。
這項成果提出了一種混合架構(gòu),,名為“動態(tài)可編程門陣列(DPGA)”,。在這種架構(gòu)中,用來配置邏輯和布線的比特流(bitstream)位于特殊設(shè)計過的本地存儲單元中,,并會不斷的快速變化,。在DPGA里,有一個中央上下文標識器(central context identifier),,負責(zé)決定從本地內(nèi)存中加載哪些配置,,如下圖所示。
通過使用這種方法,,使DPGA架構(gòu)在某種程度上類似于SIMD,。具體來說,如果這些本地內(nèi)存里的內(nèi)容相同,,那么就會執(zhí)行相同的“指令”,;反之,如果本地內(nèi)存中的內(nèi)容不同,,那么每個處理單元就會各自為戰(zhàn),。這使得DPGA既可以并行處理數(shù)據(jù),也可以串行處理數(shù)據(jù),。
此外,,這項成果還對這種新的計算體系架構(gòu)的成本和收益進行了深入的分析。
這項成果是關(guān)于DPGA的一系列富有影響力的成果的開山之作,,也是第一批探討FPGA編程里上下文的工作之一,。雖然這種可編程架構(gòu)并未成為業(yè)界主流,但它啟發(fā)了諸多后續(xù)的高質(zhì)量工作,,并為來者奠定了堅實的理論基礎(chǔ),。
02
一種高速的層次化同步可編程陣列
一句話總結(jié):高性能、高時鐘頻率FPGA架構(gòu)設(shè)計與時序優(yōu)化算法的開創(chuàng)性探索
英文名:HSRA: High-Speed, Hierarchical Synchronous Reconfigurable Array
作者:William Tsu, Kip Macy, Atul Joshi, Randy Huang, Tony Tung, Omid Rowhani, Varghese George, John Wawrzynek, Andre? DeHon
發(fā)表時間:1999年
推介人:Carl Ebeling(華盛頓大學(xué))
這項工作專注于解答這樣的一個問題:是否有可能設(shè)計一個FPGA架構(gòu),使其能和處理器或ASIC的時鐘頻率一較高下,?
通常情況下,,F(xiàn)PGA比CPU或ASIC的時鐘頻率要慢5到10倍,,這主要受制于于FPGA內(nèi)部的邏輯延時與互連延時,。而這項工作則希望通過結(jié)合FPGA架構(gòu)創(chuàng)新和CAD工具創(chuàng)新兩方面,使得FPGA的性能上升到一個新的臺階,。
總體而言,,這項工作采用的方法是根據(jù)特定的時鐘頻率設(shè)計系統(tǒng)架構(gòu)。事實上,,這與傳統(tǒng)的FPGA設(shè)計方法完全相左,。然而通過這種方式,設(shè)計者可以精確的定義一個時鐘周期中邏輯層的數(shù)量,、互聯(lián)和距離等,,這樣可以得到一個包括可編程互聯(lián)在內(nèi)的高度流水化的結(jié)構(gòu)。
HSRA最新穎的地方在于它的樹形分層互聯(lián)結(jié)構(gòu),,如下圖所示,。這種架構(gòu)允許連接通過點對點的方式完成,因此就可以得到任意兩點間的距離和延時,。利用這些信息,,就可以從時序的角度解決很多布局和布線問題。
另一方面,,并不是所有設(shè)計都可以按照HSRA架構(gòu)進行深度流水線優(yōu)化,。為了解決這個問題,這項工作創(chuàng)造性的采用了名為C-slowing的方法,,通過在電路中引入額外的并行性,,來處理和補償當設(shè)計中包含較大反饋時帶來的延時。C-slowing也在后來逐漸成為了retiming的主流方法之一,。
綜上所述,,這項工作在FPGA體系結(jié)構(gòu)這個領(lǐng)域中開拓出了一個新的方向,那就是針對時序和高性能的FPGA架構(gòu)設(shè)計,。HSRA架構(gòu)本身由于與傳統(tǒng)FPGA的差別太大,,從而沒有在商業(yè)化的道路上走遠,但這個工作中的很多思路和方法,,都對現(xiàn)代FPGA架構(gòu)的演進產(chǎn)生了深遠的影響,。
03
Virtex-II FPGA的動態(tài)功耗
一句話總結(jié):現(xiàn)代FPGA動態(tài)功耗分析、建模與優(yōu)化方法的開山之作
英文名:Dynamic Power Consumption in Virtex-II FPGA Family
作者:Li Shang, Alireza Kaviani, Kusuma Bathala
發(fā)表時間:2002年
推介人:Russ Tessier(馬薩諸塞大學(xué))
在這項工作之前,,很少有研究專門討論FPGA的功耗問題,。因此,這項成果為研究者深入理解FPGA的功耗、并進行功耗優(yōu)化邁出了重要的第一步,。
關(guān)于功耗,,業(yè)界一直假設(shè)互聯(lián)功耗是FPGA動態(tài)功耗的主要來源。這項工作通過實驗證明了這一假設(shè)是正確的,。在對動態(tài)功耗的分析過程中,,這項工作研究了FPGA中不同結(jié)構(gòu)對功耗的影響,從而為后來針對功耗優(yōu)化的CAD算法的出現(xiàn)提供了理論基礎(chǔ),。同時,,通過仿真和物理實測,這項成果提出的功耗分布結(jié)果是非??尚诺?,見下圖。
業(yè)界對于FPGA功耗優(yōu)化的興趣始于大約十年之前,,在當時FPGA的功耗優(yōu)化剛剛成為僅次于面積和延時優(yōu)化之外的另一個主要的優(yōu)化方向,。這項工作不僅提供了在FPGA上動態(tài)功耗的分布結(jié)果,還為今后十年間的功耗分析和優(yōu)化算法提供了詳細的方法論支持,。
這項工作還是一個工業(yè)界與學(xué)術(shù)界緊密合作的典型代表,。在這項工作中,賽靈思提供了FPGA器件的模型和數(shù)據(jù)集,,并提供了先進的動態(tài)功耗分析方法和技術(shù),。由于學(xué)術(shù)界對Virtex II FPGA架構(gòu)比較熟悉,因此不需要FPGA廠商公布額外的機密信息,,使得這項工作使用的方法論有著很強的通用性,。
04
Stratix FPGA的布線和邏輯架構(gòu)
一句話總結(jié):奠定五代Stratix核心架構(gòu)的基石之作
英文名:The Stratix Routing and Logic Architecture
作者:David Lewis, Vaughn Betz, David Jefferson, Andy Lee, Chris Lane, Paul Leventis, Sandy Marquardt, Cameron McClintock, Bruce Pedersen, Giles Powell, Srinivas Reddy, Chris Wysocki, Richard Cliff, Jonathan Rose
發(fā)表時間:2003年
推介人:Herman Schmit(卡耐基梅隆大學(xué))
Vaughn Betz(現(xiàn)任多倫多大學(xué)教授)
在過去的很多年中,由Jonathan Rose教授領(lǐng)導(dǎo)的多倫多大學(xué)團隊構(gòu)建了名為VPR的FPGA設(shè)計工具套件,,并用來設(shè)計和探索簡化過的FPGA系統(tǒng)架構(gòu)和微架構(gòu),。VPR包含F(xiàn)PGA后端設(shè)計的很多算法和流程,包含邏輯封裝,、布局和布線等等,,這使得很多的FPGA架構(gòu)問題都可以借助VPR進行量化分析。而這也使得多倫多大學(xué)成為了全球最重要的FPGA學(xué)術(shù)研究中心之一,。
在1998年,,Jonathan Rose教授創(chuàng)辦了一個名為RightTrack CAD的初創(chuàng)公司,其主旨就是將VPR進行商業(yè)轉(zhuǎn)化,。與此同時,,Altera也在努力改進他們的FPGA架構(gòu),以應(yīng)對賽靈思成功的Virtex系列帶來的競爭,。在2000年,,Altera收購了RightTrack,,并開發(fā)了Altera FPGA建模工具包(Modelling Toolkit),用來優(yōu)化他們的第一代Stratix FPGA架構(gòu),。
這項成果就詳細介紹了Stratix架構(gòu)的技術(shù)細節(jié),,見下圖。更重要的是,,它系統(tǒng)闡述了架構(gòu)師在設(shè)計Stratix時所作決策的具體過程,。這項工作證明了VPR所采用的定量分析方法同樣適用于分析實際的性能和設(shè)計指標,如FPGA的物理面積和關(guān)鍵路徑延時等,。這些方法和工具已經(jīng)被用于至少5代Stratix FPGA的設(shè)計,。而這項工作也成功的展示了學(xué)術(shù)研究與工業(yè)界技術(shù)發(fā)展之間的緊密聯(lián)系與合作,。
05
量化FPGA與ASIC的區(qū)別
一句話總結(jié):FPGA基準測試的標桿之作
英文名:Measuring the Gap between FPGAs and ASICs
作者:Ian Kuon, Jonathan Rose
發(fā)表年份:2006
推介人:Herman Schmit(卡耐基梅隆大學(xué))
Jonathan Rose(現(xiàn)任多倫多大學(xué)教授)
自發(fā)表以來,,這項工作已被引用超過1400次。它的最主要貢獻之一,,就是對可編程性的成本進行了量化,。這項工作表明,F(xiàn)PGA的核心面積要比一個標準的ASIC單元大40倍,。對于所有致力于提升和改進FPGA架構(gòu)的工作來說,,這就是它們最主要的動力之一。
在這項工作之前,,F(xiàn)PGA與ASIC之間大多數(shù)的比較都基于小型電路,,并且傾向于比較FPGA與掩膜可編程門陣列(mask-programmable gate arrays)。在這種情況下,,F(xiàn)PGA只消耗大概10倍的額外面積,。然而,到了2006年,,ASIC CAD工具已經(jīng)得到了長足的發(fā)展和進步,。基于可綜合的邏輯單元的ASIC設(shè)計已經(jīng)成為了業(yè)界的常見選擇,。
從客觀上講,,這里所說的40倍面積大小實際上不夠合理,因為這里只考慮了FPGA核心區(qū)域的面積,,同時很多邏輯和算術(shù)運算單元都沒有使用固化的乘法器幫助實現(xiàn),。在這項成果中,它根據(jù)電路中是否包含算術(shù)運算,、內(nèi)存單元,、結(jié)構(gòu)化邏輯以及寄存器,將待研究的基準電路集分成了四大類,,見下圖,。在包含邏輯單元和算術(shù)運算單元的電路設(shè)計中,,如果FPGA架構(gòu)里包含固化的乘法器,那么相比ASIC而言FPGA的面積會大28倍,。
這項工作更重要的貢獻是向人們揭示了FPGA的架構(gòu)特性(如固化的內(nèi)存單元和DSP等)與基準測試結(jié)果的相關(guān)性,。同時,這項工作深入分析了FPGA里固化的邏輯結(jié)構(gòu)對性能和成本的影響與關(guān)聯(lián),,而這也直接對現(xiàn)代FPGA的架構(gòu)設(shè)計產(chǎn)生了深遠影響,。在現(xiàn)代FPGA中,關(guān)于將哪些IP或邏輯電路采用硬核的方式實現(xiàn)已經(jīng)成為了影響FPGA發(fā)展的重要命題,。這與諸如LUT大小,、布線拓撲結(jié)構(gòu)等傳統(tǒng)FPGA架構(gòu)問題同樣重要。
在學(xué)術(shù)界,,像這樣的基準測試工作總是充滿爭議的,。因為它們要么在比較時采用了不同的衡量標準,要么對比較的標準進行了抽象,,使得結(jié)果不具有擴展性和通用性,。然而,這項成果為這類工作樹立了典范,,它展示了如何客觀的做比較,,以及如何細致的描述比較的具體細節(jié),這樣使得研究者可以從結(jié)果中得到自己的結(jié)論,,并將這種思想應(yīng)用到今后的研究工作中,。
結(jié)語
這五個FPGA系統(tǒng)架構(gòu)的重要工作,有的奠定了現(xiàn)代商用FPGA的基礎(chǔ)架構(gòu),,如賽靈思的Virtex和Altera的Stratix,,有的開創(chuàng)了FPGA作為并行硬件加速器的重要使用方向,有的統(tǒng)一了FPGA架構(gòu)基準測試的規(guī)范和標準,。更重要的是,,這些工作所采用的方法論、思維方式,、前瞻性與實用性的結(jié)合,、以及嚴謹?shù)闹螌W(xué)態(tài)度,都為之后的學(xué)術(shù)和工業(yè)研究樹立了最高的典范,。