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