FPGA 發(fā)展之路: 將功耗和價格降低一萬倍
作者:Steve Trimberger,賽靈思公司,美國電子電氣工程師協(xié)會 (IEEE) 研究員、美國計算機協(xié)會 (ACM) 院士、美國國家工程院院士
本文引用地址:http://www.ex-cimer.com/article/201701/343255.htmFPGA 器件自問世以來,已經(jīng)經(jīng)過了幾個不同的發(fā)展階段。驅(qū)動每個階段發(fā)展的因素都是工藝技術(shù)和應(yīng)用需求。正是這些驅(qū)動因素,導(dǎo)致器件的特性和工具發(fā)生了明顯的變化。FPGA 經(jīng)歷了如下幾個時代:
● 發(fā)明時代;
● 擴展時代;
● 積累時代;
● 系統(tǒng)時代。
賽靈思于 1984 年發(fā)明了世界首款 FPGA,那個時候還不叫 FPGA,直到 1988 年 Actel 才讓這個詞流行起來。接下來的 30 年里,這種名為 FPGA 的器件,在容量上提升了一萬多倍,速度提升了 一百倍,每單位功能的成本和能耗降低了一萬多倍 (見圖 1)。
圖 1:與 1988 年的賽靈思 FPGA 特征對比。價格和功耗降低一萬倍。
這些進步主要由工藝技術(shù)所驅(qū)動, 而且人們很容易認為 FPGA 的發(fā)展只是隨著工藝的發(fā)展簡單地增大了容量。其實并沒有這么簡單。真正的故事要精彩得多。
1、發(fā)明時代(1984 年 - 1992 年)
首款 FPGA,即賽靈思 XC2064,只包含 64 個邏輯模塊,每個模塊含有兩個 3 輸入查找表 (LUT) 和一個寄存器。按照現(xiàn)在的計算,該器件有 64 個邏輯單元——不足 1000 個邏輯門。盡管容量很小,XC2064 晶片的尺寸卻非常大,比當(dāng)時的微處理器還要大;而且采用 2.5 微米工藝技術(shù)勉強能制造出這種器件。
每功能的晶片尺寸和成本至關(guān)重要。XC2064 只有 64 個觸發(fā)器,但由于晶片太大,成本高達數(shù)百美元。產(chǎn)量對大晶片來說是超線性的,因此晶片尺寸增加 5% 就會讓成本翻一倍,讓良率降至零,同時也導(dǎo)致初期的賽靈思無產(chǎn)品可賣。成本控制不僅僅是成本優(yōu)化的問題;更是牽扯到公司生存問題。
在成本壓力下,F(xiàn)PGA 架構(gòu)師尋求通過架構(gòu)和工藝創(chuàng)新來盡可能提高 FPGA 設(shè)計效率。盡管基于 SRAM 的 FPGA 是可重編程的,但是片上 SRAM 占據(jù)了 FPGA 大部分的晶片面積?;诜慈劢z的 FPGA 以犧牲可重編程能力為代價,避免了 SRAM 存儲系統(tǒng)片上占位面積過大問題。1990 年,最大容量的 FPGA 是基于反熔絲的 Actel 1280。Quicklogic 和 Crosspoint 也跟隨 Actel 的腳步開發(fā)出基于反熔絲的 FPGA。為提高效率,架構(gòu)經(jīng)歷了從復(fù)雜的 LUT 結(jié)構(gòu)到 NAND 門再到單個晶體管的演變。
在發(fā)明時代,F(xiàn)PGA 是數(shù)量遠遠比用戶的應(yīng)用產(chǎn)品小得多。因此,多 FPGA 系統(tǒng)變得流行,自動化多芯片分區(qū)軟件成為 FPGA 設(shè)計套件的重要組成部分。自動布局布線尚未有。完全不同的 FPGA 架構(gòu)排除了通用設(shè)計工具的可能,因此 FPGA 廠商就擔(dān)負起了為各自器件開發(fā)電子設(shè)計自動化 (EDA) 的任務(wù)。由于問題比較小,F(xiàn)PGA(邏輯和物理)手動設(shè)計是可以接受的。手動設(shè)計與優(yōu)化通常很有必要,因為芯片上布線資源有限會帶來很大設(shè)計挑戰(zhàn)。
2、擴展時代(1992 年 - 1999 年)
FPGA 初創(chuàng)公司都是無晶圓廠的公司,在當(dāng)時屬于新鮮事物。由于沒有晶圓廠,他們在上世紀 90 年代初期通常無法獲得領(lǐng)先的芯片技術(shù)。因此 FPGA 開啟了擴展時代,此時落后于 IC 工藝的發(fā)展。到上世紀 90 年代后期,IC 代工廠意識到 FPGA 是理想的工藝發(fā)展推動因素,由此 FPGA 成為掃除工藝發(fā)展障礙的利器。代工廠只要能用新工藝產(chǎn)出晶體管和電線,就能制造基于 SRAM 的 FPGA。每一代新工藝的出現(xiàn)都會將晶體管數(shù)量增加一倍,使每功能成本減半,并將最大 FPGA 的尺寸增大一倍?;瘜W(xué)-機械拋光(CMP)技術(shù)允許代工廠在 IC 上堆疊更多金屬層,使 FPGA 廠商能夠大幅增加片上互聯(lián),以適應(yīng)更大的 LUT 容量 (見圖 2)。
圖 2:FPGA LUT 和互連線路的增加。線路長度以數(shù)百萬晶體管間距來測量。
占位面積變得不再像發(fā)明時代時那么寶貴。現(xiàn)在,占位面積可讓位于性能、特性和易用性。更大的 FPGA 設(shè)計需要具有自動布局布線功能的綜合工具。 到上世紀 90 年代末,自動綜合、布局和布線已經(jīng)成為設(shè)計流程的必要步驟。FPGA 公司的命運對 EDA 工具的依賴程度不亞于對 FPGA 功能的依賴程度。
最重要的是,實現(xiàn)容量翻番和片上 FPGA 邏輯成本減半的最簡單方法是采用新一代工藝技術(shù)節(jié)點,因此,盡早采用新的工藝節(jié)點意義非凡?;?SRAM 的 FPGA 在這個時期實現(xiàn)了明顯的產(chǎn)品優(yōu)勢,因為它們率先采用了每種新工藝節(jié)點:基于 SRAM 的器件可立即使用密度更高的新工藝,而反熔絲在新節(jié)點上的驗證工作則額外需要數(shù)月甚至數(shù)年時間?;诜慈劢z的 FPGA 喪失了競爭優(yōu)勢。為獲得上市速度和成本優(yōu)勢,架構(gòu)創(chuàng)新與工藝改進相比就要退居其次。
3、積累時代(2000 年 - 2007 年)
新千年伊始,F(xiàn)PGA 已成為數(shù)字系統(tǒng)中的通用組件。容量和設(shè)計尺寸快速增加,F(xiàn)PGA 在數(shù)據(jù)通信領(lǐng)域開辟了巨大市場。2000年代初期互聯(lián)網(wǎng)泡沫破滅之后,迫切需要降低成本,這也減少了很多“臨時”ASIC 用戶。定制芯片對小的研發(fā)團隊來說風(fēng)險太大。當(dāng)他們發(fā)現(xiàn)FPGA可以解決他們的問題,自然他們就變成了 FPGA 用戶。
FPGA 問題不局限于典型問題,單純提高容量不足以保證市場增長。FPGA 廠商通過如下兩種方式解決了這一挑戰(zhàn)。針對低端市場,廠商再度關(guān)注效率問題,并生產(chǎn)低容量、低性能、“低成本”的 FPGA 系列,例如賽靈思 Spartan? FPGA 系列。針對高端市場,F(xiàn)PGA 廠商通過開發(fā)針對重要功能的軟邏輯 (IP) 庫,努力讓客戶更方便地填充最大的 FPGA。這些軟邏輯功能中最值得注意的是存儲器控制器、各種通信協(xié)議模塊(包括以太網(wǎng) MAC),甚至軟微處理器(如賽靈思 MicroBlaze? 處理器)。
設(shè)計特點在 2000 年代發(fā)生了改變。大型 FPGA 容納超大型設(shè)計(完整子系統(tǒng))。FPGA 用戶不再只是實現(xiàn)邏輯;他們需要使 FPGA 設(shè)計符合系統(tǒng)標(biāo)準(zhǔn)要求。這些標(biāo)準(zhǔn)主要是指信號和協(xié)議方面的通信標(biāo)準(zhǔn),可用來連接外部組件或者實現(xiàn)內(nèi)部模塊通信。處理標(biāo)準(zhǔn)讓 FPGA 在計算密集型應(yīng)用中發(fā)揮越來越重要的作用。積累時代末期,F(xiàn)PGA 已不僅是門陣列,而且還是集成有可編程邏輯的復(fù)雜功能集。FPGA 儼然變成了一個系統(tǒng)。
4、系統(tǒng)時代(2008 年以后)
為解決系統(tǒng)設(shè)計問題,F(xiàn)PGA 越來越多地整合系統(tǒng)模塊:高速收發(fā)器、存儲器、DSP 處理單元和完整處理器。同時還進一步集成了重要控制功能:比特流加密與驗證、混合信號處理、電源與溫度監(jiān)控以及電源管理等。這些特性在 Zynq All Programmable 器件中得到了充分體現(xiàn)。同時,器件也推動了工具的發(fā)展。系統(tǒng) FPGA 需要高效的系統(tǒng)編程語言,現(xiàn)可利用 OpenCL 和 C 語言以類似軟件的流程來編程。
FPGA 發(fā)展何時才能到頭?可編程性的基本價值已經(jīng)為業(yè)界所共識,小型、高效的邏輯操作可加速很多重要算法并降低功耗,F(xiàn)PGA 技術(shù)會持續(xù)存在, 并不斷發(fā)展演進。點擊了解更多信息: https://china.xilinx.com/
評論