自引入以來,,現(xiàn)場可編程門陣列(FPGA)的容量增加了10000倍以上, 性能增加了100倍. 單位功能的成本和功耗都減少了超過1000倍. 這些進步是由工藝縮放技術(shù)所推動的, 但是 FPGA 的故事比簡單縮放技術(shù)的更復(fù)雜. 摩爾定律的數(shù)量效應(yīng)推動了FPGA在體系結(jié)構(gòu),、應(yīng)用和方法方面發(fā)生質(zhì)的變化. 因此, FPGA 已經(jīng)經(jīng)歷了幾個不同的發(fā)展階段. 本文分別總結(jié)了發(fā)明、擴張,、累積這三個階段, 并討論了它們的驅(qū)動壓力和基本特征. 本文最后展望了未來的FPGA階段.
Xilinx 在1984年引入了第一個現(xiàn)場可編程門陣列(FPGAs), 盡管直到Actel在1988年普及這個術(shù)語它們才被稱為FPGAs. 在接下來的30年里,,我們稱之為FPGA的設(shè)備的容量增加了1萬多倍,速度增加了100倍. 單位功能的成本和能耗降低了1000倍以上(見圖1).
圖1 Xilinx FPGA屬性相對于1988年,。容量指邏輯細胞計數(shù),。速度指可編程織物的同功能性能。價格指每個邏輯單元,。能量指每個邏輯單元,。價格和能量按一萬倍放大。數(shù)據(jù)來源: Xilinx發(fā)表的數(shù)據(jù),。
這些進步在很大程度上是由工藝技術(shù)驅(qū)動的, 隨半導(dǎo)體的擴展, 很容易把 FPGA 的進化看成是一個簡單的容量發(fā)展. 這種看法太簡單了,。FPGA 進展的真實故事要有趣得多。
自其引入以來, FPGA 設(shè)備經(jīng)過幾個不同的發(fā)展階段已取得進展. 每個階段都受到工藝技術(shù)機會和應(yīng)用程序需求的驅(qū)動,。這些驅(qū)動壓力引起設(shè)備特性和工具的可觀察變化,。在本文中, 我們回顧了FPGA的三階段. 每個階段長達8年, 并且每一段在回顧中都很明顯。
三個階段分別是:
1)發(fā)明階段, 1984–1991;
2)擴張階段, 1992–1999;
3)累積階段, 2000–2007.
圖2. FPGA與ASIC交叉點,。 圖表顯示總成本與單位數(shù)量,。 FPGA線條較暗,從左下角開始,。 隨著下一個工藝節(jié)點的采用(從較早節(jié)點的虛線箭頭到稍后節(jié)點的實線箭頭),,由垂直虛線表示的交叉點變大。
二,、前言: 關(guān)于FPGA的重大問題有哪些,?
A.FPGA VS ASIC
20世紀80年代,專用集成電路(ASIC)公司為電子市場帶來了一個驚人的產(chǎn)品:定制集成電路。 到20世紀80年代中期,,有數(shù)十家公司在銷售ASIC,,在激烈的競爭中,成本低,,容量大,,速度快的技術(shù)更具受青睞。 當FPGA出現(xiàn)的時候,,它在所有這幾個方面上都并不突出,,但卻一枝獨秀。這是為什么,?
ASIC的功能是由自定義掩模工具決定的,。ASIC的客戶為這些掩模工具支付了前期的一次性工程(NRE)費用。由于沒有定制的工具,,F(xiàn)PGA降低了預(yù)付成本和建立定制數(shù)字邏輯的風險,。通過制造一種可以被成百上千的客戶使用的自定義硅設(shè)備,F(xiàn)PGA供應(yīng)商可以有效地平攤所有客戶的NRE成本,,從而不會對任何一個客戶收取任何費用,,又同時增加了每個客戶的單位芯片成本。
前期的NRE成本確保了FPGA在某些數(shù)量上比ASIC更具成本效益,。FPGA供應(yīng)商在他們的“交叉點”上吹噓這個數(shù)字,,這個數(shù)字證明了ASIC的更高的NRE開銷。 在圖2中,,圖線顯示了購買數(shù)量單位的總成本,。 ASIC具有NRE的初始成本,并且每個后續(xù)單元將其單位成本增加到總數(shù),。 FPGA沒有NRE電荷,,但是每個單元的成本都比功能相當?shù)腁SIC要高,因此斜率更陡峭,。 兩條線在交叉點相遇。 如果所需的單元數(shù)量少于此數(shù)量,,則FPGA解決方案便宜; 超過該數(shù)量的單位表明ASIC具有較低的總體成本,。
由于NRE成本占ASIC總體擁有成本的很大一部分,所以FPGA每單位成本超過ASIC成本的優(yōu)勢隨著時間的推移而減少,。 圖2中的虛線表示某個工藝節(jié)點的總成本,。 實線表示下一個工藝節(jié)點的情況,NRE成本增加,,但是每個芯片的成本較低,。 FPGA和ASIC都利用低成本制造,而ASIC NRE收費繼續(xù)攀升,推高交叉點,。 最終,,交叉點變得如此之高,以至于大多數(shù)客戶,,單元的數(shù)量已經(jīng)不再適用于ASIC,。 定制芯片只保證非常高的性能或很高的體積; 所有其他人可以使用可編程解決方案。
摩爾定律最終將推動FPGA能力覆蓋ASIC要求,,這是對可編程邏輯業(yè)務(wù)的一個基本早期認識,。如今,器件成本在性能,,上市時間,,功耗,I / O容量以及其他功能方面都不如FPGA,。許多ASIC客戶使用較老的工藝技術(shù),,降低了NRE成本,但降低了單芯片成本優(yōu)勢,。
FPGA不僅消除了前期掩蔽費用并降低庫存成本,,而且通過消除整個類別的設(shè)計問題也降低了設(shè)計成本。這些設(shè)計問題包括晶體管級設(shè)計,,測試,,信號完整性,串擾,,I / O設(shè)計和時鐘分配,。
與低前期成本和簡單設(shè)計一樣重要的是,主要的FPGA優(yōu)勢是即時可用性和降低的故障可見性,。盡管大量的仿真時,,ASIC第一次似乎很少是正確的。隨著晶圓制造周轉(zhuǎn)時間在幾個星期或幾個月內(nèi),,芯片重新調(diào)整對時間安排造成重大影響,,而且隨著掩膜成本的上升,芯片重新調(diào)整對公司日益增長的水平而言是顯而易見的,。錯誤的高成本要求廣泛的芯片驗證,。由于FPGA可以在幾分鐘內(nèi)完成重做,因此FPGA設(shè)計不會因為錯誤而延誤數(shù)周,。因此,,驗證不一定要徹底。 “自我模仿”,,俗稱“下載試用”,,可以代替大量的模擬,。
最后看一下ASIC生產(chǎn)風險:ASIC公司只有在客戶的設(shè)計投入生產(chǎn)時才賺錢。 在20世紀80年代,,由于開發(fā)過程中需求的變化,,產(chǎn)品故障或完全設(shè)計錯誤,只有三分之一的設(shè)計實際投入生產(chǎn),。 三分之二的設(shè)計損失了錢,。 這些損失不僅由ASIC客戶承擔,還由ASIC供應(yīng)商承擔,,這些供應(yīng)商的NRE收費很少包括他們的實際成本,,從未在快速貶值的制造設(shè)施中彌補失去機會的成本。 另一方面,,可編程邏輯公司和客戶仍然可以小批量賺錢,,并且可以快速糾正小的錯誤,而不需要昂貴的掩模,。
圖3.通用PAL架構(gòu),。
B. FPGA VS PAL
可編程邏輯在FPGA之前就已經(jīng)建立起來了。在20世紀80年代早期,,EPROM編程的可編程陣列邏輯(PAL)已經(jīng)開辟了一個市場,。但是,F(xiàn)PGA具有體系結(jié)構(gòu)優(yōu)勢,。為了理解FPGA的優(yōu)勢,,我們首先看看這些早期的80年代器件的簡單可編程邏輯結(jié)構(gòu)。一個PAL設(shè)備,,如圖3所示,,由一個兩級邏輯結(jié)構(gòu)組成。顯示輸入在底部,。在左邊,,一個可編程和陣列產(chǎn)生產(chǎn)品條款,以及輸入和它們的反轉(zhuǎn)的任何組合,。右側(cè)塊中的固定或門完成宏單元產(chǎn)品術(shù)語的組合邏輯功能,。每個宏單元輸出是芯片的輸出。宏單元中的可選寄存器并反饋到和陣列的輸入使得實現(xiàn)非常靈活的狀態(tài)機成為可能,。
不是每一個功能都可以通過PAL的宏單元陣列實現(xiàn)一次,,但是幾乎所有的常用功能都可以,而那些不可能通過陣列實現(xiàn)的功能,。無論執(zhí)行的功能還是位于陣列中的位置,通過PAL陣列的延遲都是相同的,。 PAL具有簡單的擬合軟件,,可將邏輯快速映射到陣列中的任意位置,,而不會影響性能。 PAL適配軟件可以從獨立的EDA供應(yīng)商處獲得,,使IC制造商可以輕松地將PAL添加到他們的產(chǎn)品線中,。
從制造的角度來看,PAL是非常有效的,。 PAL結(jié)構(gòu)與EPROM存儲器陣列非常相似,,其中晶體管被密集地包裝以產(chǎn)生有效的實現(xiàn)。 PAL與存儲器非常相似,,許多存儲器制造商能夠用PAL來擴展他們的產(chǎn)品線,。當周期性內(nèi)存業(yè)務(wù)出現(xiàn)停滯時,內(nèi)存廠商進入可編程邏輯業(yè)務(wù),。
當考慮縮放時,,PAL的架構(gòu)問題是顯而易見的。在和陣列中的可編程點的數(shù)量隨著輸入數(shù)量的平方(更確切地說,,輸入乘以乘積項)的平方增長,。工藝縮放以收縮因數(shù)的平方來提供更多的晶體管。然而,,陣列中的二次增加限制了PAL僅通過收縮因數(shù)線性增長邏輯,。 PAL輸入和產(chǎn)品期限也很重,所以延遲隨著尺寸的增加而迅速增長,。像任何這種類型的存儲器,,PAL都具有跨越整個芯片的字線和位線。隨著每一代,,所編程的晶體管的驅(qū)動與負載的比例下降,。更多的投入或產(chǎn)品條款增加了這些線路的負載。增加晶體管尺寸以降低電阻也提高了總電容,。為了保持速度,,耗電量急劇上升。大型PAL在區(qū)域和性能上都是不切實際的,。作為回應(yīng),,在20世紀80年代,Altera率先推出了復(fù)雜可編程邏輯器件(CPLD),,由多個PAL型塊組成,,其中較小的交叉開關(guān)連接。但FPGA具有更具可擴展性的解決方案,。
圖4.通用陣列FPGA架構(gòu),。 4 4陣列,每行和每列有三條接線軌跡,。 開關(guān)位于交叉點的圓上,。 設(shè)備輸入和輸出分布在陣列周圍,。
FPGA的創(chuàng)新是消除了提供可編程性的數(shù)組和陣列。相反,,配置存儲器單元分布在陣列周圍以控制功能和布線,。這種改變放棄了PAL結(jié)構(gòu)的類似存儲器陣列的效率,有利于架構(gòu)的可擴展性,。如圖4所示,,F(xiàn)PGA的架構(gòu)由一系列可編程邏輯塊組成,并與現(xiàn)場可編程開關(guān)互連,。 FPGA的容量和性能不再受到陣列的二次增長和布線布局的限制,。并不是每一個功能都是芯片的輸出,所以容量可以隨著摩爾定律而增長,。
?FPGA架構(gòu)看起來不像內(nèi)存,。 設(shè)計和制造與內(nèi)存非常不同。
?邏輯塊較小,。 不能保證一個單一的功能可以融入其中,。 因此,提前確定將有多少邏輯適合FPGA是很困難的,。
?FPGA的性能取決于邏輯放置在FPGA中的位置,。 FPGA需要布局和布線,所以完成的設(shè)