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