《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電子元件 > 業(yè)界動(dòng)態(tài) > 回顧FPGA的三個(gè)時(shí)代

回顧FPGA的三個(gè)時(shí)代

2020-10-10
來(lái)源:半導(dǎo)體行業(yè)觀察
關(guān)鍵詞: AMD Xilinx FPGA

  昨天,在華爾街日?qǐng)?bào)爆出AMD將收購(gòu)Xilinx之后,,市場(chǎng)上關(guān)于FPGA的討論又多了起來(lái),。為此,,我們分享一篇我們之前發(fā)過(guò)的文章,,幫助大家了解一下FPGA這個(gè)已經(jīng)面世三十多年的產(chǎn)品,。值得一提的,,這篇文章由IEEE發(fā)表于較早以前,可能信息稍微有點(diǎn)滯后,,多謝海涵,。

  自引入以來(lái),,現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)的容量增加了10000倍以上, 性能增加了100倍,。 單位功能的成本和功耗都減少了超過(guò)1000倍,。 這些進(jìn)步是由工藝縮放技術(shù)所推動(dòng)的, 但是 FPGA 的故事比簡(jiǎn)單縮放技術(shù)的更復(fù)雜,。 摩爾定律的數(shù)量效應(yīng)推動(dòng)了FPGA在體系結(jié)構(gòu),、應(yīng)用和方法方面發(fā)生質(zhì)的變化。 因此,, FPGA 已經(jīng)經(jīng)歷了幾個(gè)不同的發(fā)展階段,。 本文分別總結(jié)了發(fā)明、擴(kuò)張,、累積這三個(gè)階段,, 并討論了它們的驅(qū)動(dòng)壓力和基本特征。 本文最后展望了未來(lái)的FPGA階段,。

  Xilinx 在1984年引入了第一個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列(FPGAs),, 盡管直到Actel在1988年普及這個(gè)術(shù)語(yǔ)它們才被稱(chēng)為FPGAs. 在接下來(lái)的30年里,我們稱(chēng)之為FPGA的設(shè)備的容量增加了1萬(wàn)多倍,,速度增加了100倍,。 單位功能的成本和能耗降低了1000倍以上(見(jiàn)圖1)。

微信圖片_20201010112157.jpg

  圖1 Xilinx FPGA屬性相對(duì)于1988年,。容量指邏輯細(xì)胞計(jì)數(shù),。速度指可編程織物的同功能性能。價(jià)格指每個(gè)邏輯單元,。能量指每個(gè)邏輯單元,。價(jià)格和能量按一萬(wàn)倍放大。數(shù)據(jù)來(lái)源: Xilinx發(fā)表的數(shù)據(jù),。

  這些進(jìn)步在很大程度上是由工藝技術(shù)驅(qū)動(dòng)的,, 隨半導(dǎo)體的擴(kuò)展, 很容易把 FPGA 的進(jìn)化看成是一個(gè)簡(jiǎn)單的容量發(fā)展,。 這種看法太簡(jiǎn)單了,。FPGA 進(jìn)展的真實(shí)故事要有趣得多。

  自其引入以來(lái),, FPGA 設(shè)備經(jīng)過(guò)幾個(gè)不同的發(fā)展階段已取得進(jìn)展,。 每個(gè)階段都受到工藝技術(shù)機(jī)會(huì)和應(yīng)用程序需求的驅(qū)動(dòng)。這些驅(qū)動(dòng)壓力引起設(shè)備特性和工具的可觀察變化,。在本文中,, 我們回顧了FPGA的三階段,。 每個(gè)階段長(zhǎng)達(dá)8年, 并且每一段在回顧中都很明顯,。

  三個(gè)階段分別是:

  1)發(fā)明階段,, 1984–1991;

  2)擴(kuò)張階段, 1992–1999;

  3)累積階段,, 2000–2007.

微信圖片_20201010112223.jpg

  圖2. FPGA與ASIC交叉點(diǎn),。圖表顯示總成本與單位數(shù)量。FPGA線條較暗,,從左下角開(kāi)始,。隨著下一個(gè)工藝節(jié)點(diǎn)的采用(從較早節(jié)點(diǎn)的虛線箭頭到稍后節(jié)點(diǎn)的實(shí)線箭頭),由垂直虛線表示的交叉點(diǎn)變大,。

  前言: 關(guān)于FPGA的重大問(wèn)題有哪些,?

  A.FPGA  VS  ASIC

  20世紀(jì)80年代,專(zhuān)用集成電路(ASIC)公司為電子市場(chǎng)帶來(lái)了一個(gè)驚人的產(chǎn)品:定制集成電路,。到20世紀(jì)80年代中期,,有數(shù)十家公司在銷(xiāo)售ASIC,在激烈的競(jìng)爭(zhēng)中,,成本低,,容量大,速度快的技術(shù)更具受青睞,。當(dāng)FPGA出現(xiàn)的時(shí)候,,它在所有這幾個(gè)方面上都并不突出,但卻一枝獨(dú)秀,。這是為什么,?

  ASIC的功能是由自定義掩模工具決定的。ASIC的客戶為這些掩模工具支付了前期的一次性工程(NRE)費(fèi)用,。由于沒(méi)有定制的工具,,F(xiàn)PGA降低了預(yù)付成本和建立定制數(shù)字邏輯的風(fēng)險(xiǎn)。通過(guò)制造一種可以被成百上千的客戶使用的自定義硅設(shè)備,,F(xiàn)PGA供應(yīng)商可以有效地平攤所有客戶的NRE成本,,從而不會(huì)對(duì)任何一個(gè)客戶收取任何費(fèi)用,又同時(shí)增加了每個(gè)客戶的單位芯片成本,。

  前期的NRE成本確保了FPGA在某些數(shù)量上比ASIC更具成本效益,。FPGA供應(yīng)商在他們的“交叉點(diǎn)”上吹噓這個(gè)數(shù)字,這個(gè)數(shù)字證明了ASIC的更高的NRE開(kāi)銷(xiāo),。在圖2中,,圖線顯示了購(gòu)買(mǎi)數(shù)量單位的總成本。ASIC具有NRE的初始成本,,并且每個(gè)后續(xù)單元將其單位成本增加到總數(shù),。FPGA沒(méi)有NRE電荷,,但是每個(gè)單元的成本都比功能相當(dāng)?shù)腁SIC要高,因此斜率更陡峭,。兩條線在交叉點(diǎn)相遇,。如果所需的單元數(shù)量少于此數(shù)量,則FPGA解決方案便宜,; 超過(guò)該數(shù)量的單位表明ASIC具有較低的總體成本,。

  由于NRE成本占ASIC總體擁有成本的很大一部分,所以FPGA每單位成本超過(guò)ASIC成本的優(yōu)勢(shì)隨著時(shí)間的推移而減少,。圖2中的虛線表示某個(gè)工藝節(jié)點(diǎn)的總成本。實(shí)線表示下一個(gè)工藝節(jié)點(diǎn)的情況,,NRE成本增加,,但是每個(gè)芯片的成本較低。FPGA和ASIC都利用低成本制造,,而ASIC NRE收費(fèi)繼續(xù)攀升,,推高交叉點(diǎn)。最終,,交叉點(diǎn)變得如此之高,,以至于大多數(shù)客戶,單元的數(shù)量已經(jīng)不再適用于ASIC,。定制芯片只保證非常高的性能或很高的體積,; 所有其他人可以使用可編程解決方案。

  摩爾定律最終將推動(dòng)FPGA能力覆蓋ASIC要求,,這是對(duì)可編程邏輯業(yè)務(wù)的一個(gè)基本早期認(rèn)識(shí),。如今,器件成本在性能,,上市時(shí)間,,功耗,I / O容量以及其他功能方面都不如FPGA,。許多ASIC客戶使用較老的工藝技術(shù),,降低了NRE成本,但降低了單芯片成本優(yōu)勢(shì),。

  FPGA不僅消除了前期掩蔽費(fèi)用并降低庫(kù)存成本,,而且通過(guò)消除整個(gè)類(lèi)別的設(shè)計(jì)問(wèn)題也降低了設(shè)計(jì)成本。這些設(shè)計(jì)問(wèn)題包括晶體管級(jí)設(shè)計(jì),,測(cè)試,,信號(hào)完整性,串?dāng)_,,I / O設(shè)計(jì)和時(shí)鐘分配,。

  與低前期成本和簡(jiǎn)單設(shè)計(jì)一樣重要的是,,主要的FPGA優(yōu)勢(shì)是即時(shí)可用性和降低的故障可見(jiàn)性。盡管大量的仿真時(shí),,ASIC第一次似乎很少是正確的,。隨著晶圓制造周轉(zhuǎn)時(shí)間在幾個(gè)星期或幾個(gè)月內(nèi),芯片重新調(diào)整對(duì)時(shí)間安排造成重大影響,,而且隨著掩膜成本的上升,,芯片重新調(diào)整對(duì)公司日益增長(zhǎng)的水平而言是顯而易見(jiàn)的。錯(cuò)誤的高成本要求廣泛的芯片驗(yàn)證,。由于FPGA可以在幾分鐘內(nèi)完成重做,,因此FPGA設(shè)計(jì)不會(huì)因?yàn)殄e(cuò)誤而延誤數(shù)周。因此,,驗(yàn)證不一定要徹底,。“自我模仿”,,俗稱(chēng)“下載試用”,,可以代替大量的模擬。

  最后看一下ASIC生產(chǎn)風(fēng)險(xiǎn):ASIC公司只有在客戶的設(shè)計(jì)投入生產(chǎn)時(shí)才賺錢(qián),。在20世紀(jì)80年代,,由于開(kāi)發(fā)過(guò)程中需求的變化,產(chǎn)品故障或完全設(shè)計(jì)錯(cuò)誤,,只有三分之一的設(shè)計(jì)實(shí)際投入生產(chǎn),。三分之二的設(shè)計(jì)損失了錢(qián)。這些損失不僅由ASIC客戶承擔(dān),,還由ASIC供應(yīng)商承擔(dān),,這些供應(yīng)商的NRE收費(fèi)很少包括他們的實(shí)際成本,從未在快速貶值的制造設(shè)施中彌補(bǔ)失去機(jī)會(huì)的成本,。另一方面,,可編程邏輯公司和客戶仍然可以小批量賺錢(qián),并且可以快速糾正小的錯(cuò)誤,,而不需要昂貴的掩模,。

微信圖片_20201010112247.jpg

  圖3.通用PAL架構(gòu)。

  B. FPGA   VS  PAL

  可編程邏輯在FPGA之前就已經(jīng)建立起來(lái)了,。在20世紀(jì)80年代早期,,EPROM編程的可編程陣列邏輯(PAL)已經(jīng)開(kāi)辟了一個(gè)市場(chǎng)。但是,,F(xiàn)PGA具有體系結(jié)構(gòu)優(yōu)勢(shì),。為了理解FPGA的優(yōu)勢(shì),我們首先看看這些早期的80年代器件的簡(jiǎn)單可編程邏輯結(jié)構(gòu),。一個(gè)PAL設(shè)備,,如圖3所示,,由一個(gè)兩級(jí)邏輯結(jié)構(gòu)組成。顯示輸入在底部,。在左邊,,一個(gè)可編程和陣列產(chǎn)生產(chǎn)品條款,以及輸入和它們的反轉(zhuǎn)的任何組合,。右側(cè)塊中的固定或門(mén)完成宏單元產(chǎn)品術(shù)語(yǔ)的組合邏輯功能,。每個(gè)宏單元輸出是芯片的輸出。宏單元中的可選寄存器并反饋到和陣列的輸入使得實(shí)現(xiàn)非常靈活的狀態(tài)機(jī)成為可能,。

  不是每一個(gè)功能都可以通過(guò)PAL的宏單元陣列實(shí)現(xiàn)一次,,但是幾乎所有的常用功能都可以,而那些不可能通過(guò)陣列實(shí)現(xiàn)的功能,。無(wú)論執(zhí)行的功能還是位于陣列中的位置,,通過(guò)PAL陣列的延遲都是相同的。PAL具有簡(jiǎn)單的擬合軟件,,可將邏輯快速映射到陣列中的任意位置,而不會(huì)影響性能,。PAL適配軟件可以從獨(dú)立的EDA供應(yīng)商處獲得,,使IC制造商可以輕松地將PAL添加到他們的產(chǎn)品線中。

  從制造的角度來(lái)看,,PAL是非常有效的,。PAL結(jié)構(gòu)與EPROM存儲(chǔ)器陣列非常相似,其中晶體管被密集地包裝以產(chǎn)生有效的實(shí)現(xiàn),。PAL與存儲(chǔ)器非常相似,,許多存儲(chǔ)器制造商能夠用PAL來(lái)擴(kuò)展他們的產(chǎn)品線。當(dāng)周期性?xún)?nèi)存業(yè)務(wù)出現(xiàn)停滯時(shí),,內(nèi)存廠商進(jìn)入可編程邏輯業(yè)務(wù),。

  當(dāng)考慮縮放時(shí),PAL的架構(gòu)問(wèn)題是顯而易見(jiàn)的,。在和陣列中的可編程點(diǎn)的數(shù)量隨著輸入數(shù)量的平方(更確切地說(shuō),,輸入乘以乘積項(xiàng))的平方增長(zhǎng)。工藝縮放以收縮因數(shù)的平方來(lái)提供更多的晶體管,。然而,,陣列中的二次增加限制了PAL僅通過(guò)收縮因數(shù)線性增長(zhǎng)邏輯。PAL輸入和產(chǎn)品期限也很重,,所以延遲隨著尺寸的增加而迅速增長(zhǎng),。像任何這種類(lèi)型的存儲(chǔ)器,PAL都具有跨越整個(gè)芯片的字線和位線,。隨著每一代,,所編程的晶體管的驅(qū)動(dòng)與負(fù)載的比例下降,。更多的投入或產(chǎn)品條款增加了這些線路的負(fù)載。增加晶體管尺寸以降低電阻也提高了總電容,。為了保持速度,,耗電量急劇上升。大型PAL在區(qū)域和性能上都是不切實(shí)際的,。作為回應(yīng),,在20世紀(jì)80年代,Altera率先推出了復(fù)雜可編程邏輯器件(CPLD),,由多個(gè)PAL型塊組成,,其中較小的交叉開(kāi)關(guān)連接。但FPGA具有更具可擴(kuò)展性的解決方案,。

微信圖片_20201010112302.jpg

  圖4.通用陣列FPGA架構(gòu),。4 4陣列,每行和每列有三條接線軌跡,。開(kāi)關(guān)位于交叉點(diǎn)的圓上,。設(shè)備輸入和輸出分布在陣列周?chē)?/p>

  FPGA的創(chuàng)新是消除了提供可編程性的數(shù)組和陣列。相反,,配置存儲(chǔ)器單元分布在陣列周?chē)钥刂乒δ芎筒季€,。這種改變放棄了PAL結(jié)構(gòu)的類(lèi)似存儲(chǔ)器陣列的效率,有利于架構(gòu)的可擴(kuò)展性,。如圖4所示,,F(xiàn)PGA的架構(gòu)由一系列可編程邏輯塊組成,并與現(xiàn)場(chǎng)可編程開(kāi)關(guān)互連,。FPGA的容量和性能不再受到陣列的二次增長(zhǎng)和布線布局的限制,。并不是每一個(gè)功能都是芯片的輸出,所以容量可以隨著摩爾定律而增長(zhǎng),。

  FPGA架構(gòu)看起來(lái)不像內(nèi)存,。設(shè)計(jì)和制造與內(nèi)存非常不同。

  邏輯塊較小,。不能保證一個(gè)單一的功能可以融入其中,。因此,提前確定將有多少邏輯適合FPGA是很困難的,。

  FPGA的性能取決于邏輯放置在FPGA中的位置,。FPGA需要布局和布線,所以完成的設(shè)計(jì)的性能不容易事先預(yù)測(cè),。

  需要使用復(fù)雜的EDA軟件來(lái)將設(shè)計(jì)融入FPGA,。

  隨著陣列和陣列的消除,F(xiàn)PGA架構(gòu)師可以自由構(gòu)建任何邏輯模塊和任何互連模式。FPGA架構(gòu)師可以定義全新的邏輯實(shí)現(xiàn)模型,,而不是基于晶體管或門(mén),,而是基于自定義功能單元。延遲模型不需要基于金屬線,,而是基于節(jié)點(diǎn)和開(kāi)關(guān),。這個(gè)架構(gòu)自由迎來(lái)了FPGA的第一個(gè)階段,即發(fā)明階段,。

  發(fā)明階段 1984~1991

  首款FPGA,,即賽靈思XC2064,只包含64 個(gè)邏輯模塊,,每個(gè)模塊含有兩個(gè)3輸入查找表 (LUT) 和一個(gè)寄存器,。按照現(xiàn)在的計(jì)算,該器件有 64 個(gè)邏輯單元——不足 1000 個(gè)邏輯門(mén),。盡管容量很小,,XC2064 晶片的尺寸卻非常大,比當(dāng)時(shí)的微處理器還要大,;而且采用 2.5 微米工藝技術(shù)勉強(qiáng)能制造出這種器件,。

  每功能的晶片尺寸和成本至關(guān)重要。XC2064 只有 64 個(gè)觸發(fā)器,,但由于晶片太大,,成本高達(dá)數(shù)百美元。產(chǎn)量對(duì)大晶片來(lái)說(shuō)是超線性的,,因此晶片尺寸增加 5% 就會(huì)讓成本翻一倍,讓良率降至零,,同時(shí)也導(dǎo)致初期的賽靈思無(wú)產(chǎn)品可賣(mài),。成本控制不僅僅是成本優(yōu)化的問(wèn)題;更是牽扯到公司生存問(wèn)題,。

  在成本壓力下,,F(xiàn)PGA 架構(gòu)師尋求通過(guò)架構(gòu)和工藝創(chuàng)新來(lái)盡可能提高 FPGA 設(shè)計(jì)效率。盡管基于 SRAM 的 FPGA 是可重編程的,,但是片上 SRAM 占據(jù)了FPGA 大部分的晶片面積,。基于反熔絲的 FPGA 以犧牲可重編程能力為代價(jià),,避免了 SRAM 存儲(chǔ)系統(tǒng)片上占位面積過(guò)大問(wèn)題,。

  在20世紀(jì)80年代,賽靈思的四輸入LUT架構(gòu)被認(rèn)為是“粗粒度”的,。四輸入功能被視為邏輯設(shè)計(jì)中的“甜蜜點(diǎn)”,,但網(wǎng)表分析表明許多LUT配置未被使用。而且,許多LUT沒(méi)有使用投入,。為了提高效率,,F(xiàn)PGA架構(gòu)師希望能夠消除邏輯塊中的浪費(fèi)。幾家公司實(shí)現(xiàn)了包含固定功能的更細(xì)粒度的體系結(jié)構(gòu),,以消除邏輯單元浪費(fèi),。Algotronix CAL使用一個(gè)固定MUX功能實(shí)現(xiàn)雙輸入LUT 。Concurrent公司(后來(lái)的Atmel)和他們的被許可人IBM公司使用了一種小型單元,,包括雙輸入nand和異或門(mén)和CL器件中的一個(gè)寄存器,。皮爾金頓將其架構(gòu)作為邏輯塊作為邏輯塊。他們授權(quán)Plessey(ERA系列),,Toshiba(TC系列)和Motorola(MPA系列)使用基于nand-cell的SRAM編程設(shè)備,。細(xì)粒度架構(gòu)的極限是交叉點(diǎn)CLi FPGA,其中各個(gè)晶體管通過(guò)反熔絲可編程連接相互連接,。

  早期的FPGA架構(gòu)師指出,,高效的互聯(lián)體系結(jié)構(gòu)應(yīng)該遵守集成電路的二維性。PAL的長(zhǎng)而慢的線被相鄰塊之間的短連接代替,,這些短連接可以根據(jù)需要通過(guò)編程串聯(lián)在一起以形成更長(zhǎng)的路由路徑,。最初,簡(jiǎn)單的傳輸晶體管將信號(hào)引導(dǎo)通過(guò)互連段到相鄰的塊,。接線效率高,,因?yàn)闆](méi)有未使用的導(dǎo)線部分。這些優(yōu)化極大地縮小了互連區(qū)域,,并使FPGA成為可能,。與此同時(shí),由于大電容和通過(guò)晶體管開(kāi)關(guān)網(wǎng)絡(luò)分布的串聯(lián)電阻,,通過(guò)FPGA布線增加了信號(hào)延遲和延遲不確定性,。由于互連線和交換機(jī)增加了尺寸,但不是(計(jì)費(fèi))邏輯,,所以FPGA架構(gòu)師不愿增加太多,。早期的FPGA非常難以使用,因?yàn)樗鼈內(nèi)狈ミB,。

  發(fā)明階段回顧

  在發(fā)明階段,,F(xiàn)PGA很小,所以設(shè)計(jì)問(wèn)題很小,。雖然他們是可取的,,綜合甚至自動(dòng)布局和路由不被認(rèn)為是必不可少的。許多人認(rèn)為,,即使在當(dāng)時(shí)的個(gè)人電腦上嘗試設(shè)計(jì)自動(dòng)化也是不切實(shí)際的,,因?yàn)樵诖笮陀?jì)算機(jī)上ASIC的布局和布線正在進(jìn)行,。手動(dòng)設(shè)計(jì),無(wú)論是邏輯的還是物理的,,都是可接受的,,因?yàn)閱?wèn)題的規(guī)模很小。手工設(shè)計(jì)往往是必要的,,因?yàn)樾酒系穆酚少Y源有限,。

  完全不同的體系結(jié)構(gòu)排除了ASIC業(yè)務(wù)中可用的通用FPGA設(shè)計(jì)工具。FPGA供應(yīng)商為其設(shè)備增加了EDA開(kāi)發(fā)的負(fù)擔(dān),。隨著FPGA供應(yīng)商嘗試并改進(jìn)其架構(gòu),,這最終被認(rèn)為是一個(gè)優(yōu)勢(shì)。過(guò)去十年的PAL制造商依靠外部工具供應(yīng)商提供軟件來(lái)將設(shè)計(jì)映射到他們的PAL中,。因此,,PAL供應(yīng)商僅限于工具供應(yīng)商支持的架構(gòu),導(dǎo)致商品化,,低利潤(rùn)率和缺乏創(chuàng)新,。在FPGA架構(gòu)蓬勃發(fā)展的同時(shí),PLD架構(gòu)被扼殺,。

  強(qiáng)制性軟件開(kāi)發(fā)的另一個(gè)優(yōu)勢(shì)是,,F(xiàn)PGA客戶不需要從第三方EDA公司購(gòu)買(mǎi)工具,這會(huì)增加NRE成本,。正如他們對(duì)NRE收費(fèi)一樣,,F(xiàn)PGA供應(yīng)商將他們的工具開(kāi)發(fā)成本分?jǐn)偟剿麄兊墓瓒▋r(jià)中,從而使他們的設(shè)備的前期成本非常低,。無(wú)論如何,,EDA公司對(duì)FPGA工具的興趣不大,因?yàn)槭袌?chǎng)分散,,數(shù)量少,,銷(xiāo)售價(jià)格低廉,而且需要在動(dòng)力不足的電腦上運(yùn)行,。

  在發(fā)明階段,F(xiàn)PGA比用戶想要投入的應(yīng)用要小得多,。因此,,多FPGA系統(tǒng)變得流行起來(lái),自動(dòng)化的多芯片分區(qū)軟件被確定為FPGA設(shè)計(jì)套件的重要組成部分,。

微信圖片_20201010112330.jpg

  圖5. FPGA架構(gòu)系譜樹(shù)

  FPGA回顧

  發(fā)明的階段以在FPGA業(yè)務(wù)中的殘酷耗損而告終,。第三節(jié)和在圖5的FPGA族譜里大部分的公司或產(chǎn)品名稱(chēng),一個(gè)現(xiàn)代讀者可能不會(huì)不知道,。許多公司消失了,。其他人在退出FPGA業(yè)務(wù)時(shí)悄然出售資產(chǎn)。這種損耗的原因不僅僅是正常的市場(chǎng)動(dòng)態(tài)。技術(shù)發(fā)生了重大變化,,那些沒(méi)有利用這些變化的公司就無(wú)法進(jìn)行競(jìng)爭(zhēng),。由于摩爾定律引起的數(shù)量變化導(dǎo)致了使用半導(dǎo)體技術(shù)構(gòu)建的FPGA的質(zhì)變。這些變化是擴(kuò)張階段的特征,。

  擴(kuò)張階段 1992~1999

  到了20世紀(jì)90年代,,摩爾定律繼續(xù)快速前進(jìn),晶體管數(shù)量每?jī)赡暝黾右槐?。由于開(kāi)創(chuàng)無(wú)晶圓廠商業(yè)模式,,F(xiàn)PGA創(chuàng)業(yè)公司在二十世紀(jì)九十年代初通常無(wú)法獲得領(lǐng)先的硅技術(shù)。結(jié)果,,F(xiàn)PGA開(kāi)始落后于工藝引入曲線,。在20世紀(jì)90年代,隨著代工廠意識(shí)到使用FPGA作為過(guò)程驅(qū)動(dòng)器應(yīng)用的價(jià)值,,他們成為了過(guò)程領(lǐng)導(dǎo)者,。一旦能夠用新技術(shù)生產(chǎn)晶體管和導(dǎo)線,代工廠就能夠構(gòu)建SRAM FPGA,。FPGA廠商出售他們巨大的設(shè)備,,而代工廠改進(jìn)他們的流程。新一代硅片的可用晶體管數(shù)量增加了一倍,,這使可能最大的FPGA尺寸增加了一倍,,而每個(gè)功能的成本也降低了一半。比簡(jiǎn)單的晶體管縮放更重要的是,,引入化學(xué)機(jī)械拋光(CMP)允許鑄造廠堆疊更多的金屬層,。由于昂貴的(不可消耗的)互連的成本比晶體管的成本下降得更快,F(xiàn)PGA供應(yīng)商積極地增加了設(shè)備上的互連以適應(yīng)更大的容量(參見(jiàn)圖6),,這對(duì)于ASIC來(lái)說(shuō)是有價(jià)值的,。這個(gè)快速的改進(jìn)過(guò)程有以下幾個(gè)效果。

微信圖片_20201010112345.png

  圖6. FPGA LUT和互連導(dǎo)線的增長(zhǎng)導(dǎo)線長(zhǎng)度,,以數(shù)百萬(wàn)個(gè)晶體管間距進(jìn)行測(cè)量,。

  A.區(qū)域變得珍貴

  在20世紀(jì)90年代中期沒(méi)有人加入FPGA行業(yè),他們認(rèn)為成本不重要,,或者地區(qū)不重要,。但是,那些在20世紀(jì)80年代經(jīng)歷過(guò)產(chǎn)品開(kāi)發(fā)痛苦的人當(dāng)然看到了差異,。在20世紀(jì)80年代,,晶體管的效率是必要的,以便交付任何產(chǎn)品,。在20世紀(jì)90年代,,這僅僅是一個(gè)產(chǎn)品定義的問(wèn)題,。面積仍然是重要的,但現(xiàn)在它可以被交易的性能,,功能和易用性,。所得到的器件的硅片效率較低。在幾年前的發(fā)明階段,,這是不可想象的,。

  B.設(shè)計(jì)自動(dòng)化變得必不可少

  在擴(kuò)展階段,F(xiàn)PGA器件容量隨著成本的下降而迅速增長(zhǎng),。FPGA應(yīng)用程序?qū)τ谑謩?dòng)設(shè)計(jì)而言變得太大,。1992年,旗艦產(chǎn)品Xilinx XC4010交付了一個(gè)(聲稱(chēng))最多10000個(gè)門(mén),。到1999年,,Virtex XCV1000被評(píng)為一百萬(wàn)。在20世紀(jì)90年代早期,,在擴(kuò)張階段開(kāi)始時(shí),,自動(dòng)布局和路由是首選的,但不是完全可信的,。到20世紀(jì)90年代末,,自動(dòng)化綜合,布局布線,,是設(shè)計(jì)過(guò)程中需要采取的步驟,。沒(méi)有自動(dòng)化,設(shè)計(jì)的努力就會(huì)太棒了?,F(xiàn)在,,F(xiàn)PGA公司的壽命取決于設(shè)計(jì)自動(dòng)化工具的目標(biāo)設(shè)備的能力。那些控制他們軟件的FPGA公司控制著他們的未來(lái),。

微信圖片_20201010112411.jpg

  圖7.更長(zhǎng)線長(zhǎng)分段性能縮放,。

  來(lái)自工藝縮放的更便宜的金屬導(dǎo)致更多可編程的互連線,使得自動(dòng)化的放置工具可以以較不精確的放置成功,。自動(dòng)化設(shè)計(jì)工具需要自動(dòng)化友好型架構(gòu),,具有常規(guī)和豐富的互連資源的架構(gòu),以簡(jiǎn)化算法決策,。更便宜的電線也承認(rèn)了更長(zhǎng)的電線分割,,跨越多個(gè)邏輯塊的互連線??缭蕉鄠€(gè)塊的電線有效地使物理距離邏輯更接近邏輯,從而提高性能,。圖7中的圖表顯示了來(lái)自工藝技術(shù)和互連范圍組合的大的性能收益,。過(guò)程縮放本身會(huì)降低曲線,,但保持形狀;更長(zhǎng)的分割平坦了曲線,。較長(zhǎng)的分段互連簡(jiǎn)化了布局,,因?yàn)椴捎幂^長(zhǎng)的互連,將兩個(gè)模塊精確對(duì)齊以將其與高性能路徑連接起來(lái)并不是必須的,。

  另一方面,,當(dāng)線段的整個(gè)長(zhǎng)度未被使用時(shí),金屬跡線的部分被有效地浪費(fèi),。許多硅片效率的發(fā)明架構(gòu)是以布線效率為基礎(chǔ)的,,其特點(diǎn)是短線可以消除浪費(fèi)。通常,,他們嚴(yán)格遵循物理硅的二維限制,,從而使這些FPGA成為“蜂窩”標(biāo)簽。在擴(kuò)展階段,,更長(zhǎng)的線分割是可能的,,因?yàn)閺U金屬的成本現(xiàn)在是可以接受的。由最鄰近連接主導(dǎo)的體系結(jié)構(gòu)無(wú)法與利用較長(zhǎng)線分割的體系結(jié)構(gòu)的性能或易于自動(dòng)化相匹配,。

  類(lèi)似的效率轉(zhuǎn)變應(yīng)用于邏輯塊,。在發(fā)明階段,小的簡(jiǎn)單的邏輯塊是有吸引力的,,因?yàn)樗鼈兊倪壿嬔舆t很短,,并且因?yàn)樵谖词褂没虿糠质褂脮r(shí)浪費(fèi)很少。當(dāng)一個(gè)三輸入函數(shù)在其中被實(shí)例化時(shí),,四輸入LUT中的一半配置存儲(chǔ)器單元被浪費(fèi)了,。聰明的設(shè)計(jì)人員可以手動(dòng)將復(fù)雜的邏輯結(jié)構(gòu)映射到最小數(shù)量的細(xì)粒度邏輯塊,但自動(dòng)化工具并不成功,。對(duì)于更大的功能,,連接幾個(gè)小塊的需求對(duì)互連提出了更高的要求。在擴(kuò)張階段,,不僅有更多的邏輯塊,,而且塊本身變得更加復(fù)雜。

  許多具有不規(guī)則邏輯塊和稀疏互連的高效發(fā)明架構(gòu)難以自動(dòng)布局和布線,。在發(fā)明階段,,這不是一個(gè)嚴(yán)重的問(wèn)題,因?yàn)樵O(shè)備足夠小,,手工設(shè)計(jì)是實(shí)用的,。但擴(kuò)張階段的許多設(shè)備和公司都面臨著過(guò)高的面積效率?;谧钚』壿嬂速M(fèi)的細(xì)粒度體系結(jié)構(gòu)(如Pilkington nand-gate模塊,,Algotronix / Xilinx 6200多路復(fù)用器2LUT模塊,,交叉點(diǎn)晶體管模塊)簡(jiǎn)直就不存在了。通過(guò)互連來(lái)實(shí)現(xiàn)其效率的架構(gòu)也已經(jīng)死亡,。這些包括所有最近鄰居基于網(wǎng)格的架構(gòu),。擴(kuò)展階段也注定了時(shí)間復(fù)用設(shè)備,因?yàn)橹恍枰却乱淮幚?,相?dāng)?shù)娜萘繑U(kuò)展就可以避免復(fù)雜性和性能的損失,。FPGA業(yè)務(wù)中的幸存者是那些利用工藝技術(shù)進(jìn)步實(shí)現(xiàn)自動(dòng)化的公司。Altera首先將CPLD的長(zhǎng)距離連接引入Altera FLEX架構(gòu),。FLEX比其他被短導(dǎo)線占主導(dǎo)地位的FPGA的自動(dòng)化程度更高,。它取得了快速的成功。20世紀(jì)90年代中期,,美國(guó)電話電報(bào)公司(AT&T)/朗訊(Lucent)發(fā)布了ORCA ,,賽靈思公司在擴(kuò)大XC4000互連數(shù)量和長(zhǎng)度的同時(shí)擴(kuò)大了設(shè)備規(guī)模。擴(kuò)張階段由此確立,。

  C.作為選擇技術(shù)的SRAM的出現(xiàn)

  摩爾定律快速發(fā)展的一個(gè)方面就是需要站在過(guò)程技術(shù)的最前沿,。將容量加倍和邏輯成本減半的最簡(jiǎn)單方法是針對(duì)下一個(gè)工藝技術(shù)節(jié)點(diǎn)。這迫使FPGA廠商采用領(lǐng)先的工藝技術(shù),。采用新技術(shù)難以實(shí)現(xiàn)的技術(shù)的FPGA公司在結(jié)構(gòu)上處于劣勢(shì),。非易失性可編程技術(shù)如EPROM,F(xiàn)lash和反熔絲就是這種情況,。當(dāng)一種新的工藝技術(shù)可用時(shí),,可用的第一個(gè)組件是晶體管和電線,這是電子電路的基本組成部分,?;陟o態(tài)內(nèi)存的設(shè)備可以立即使用新的更密集的進(jìn)程。對(duì)于特定的技術(shù)節(jié)點(diǎn),,防偽設(shè)備被精確地推廣為更高效,,但需要數(shù)月或數(shù)年的時(shí)間才能確定新節(jié)點(diǎn)上的反熔絲。在反熔絲被證實(shí)的時(shí)候,,SRAM FPGA已經(jīng)開(kāi)始在下一個(gè)節(jié)點(diǎn)上交付,。防偽技術(shù)無(wú)法跟上技術(shù)發(fā)展的步伐,所以為了維持產(chǎn)品的平價(jià),,它們的效率要比SRAM高一倍,。

  防偽裝置有第二個(gè)缺點(diǎn):缺乏重新編程能力。隨著客戶習(xí)慣于“易失性”SRAM FPGA,,他們開(kāi)始體會(huì)到系統(tǒng)內(nèi)可編程性和硬件現(xiàn)場(chǎng)更新的優(yōu)勢(shì),。相比之下,一次性可編程設(shè)備需要進(jìn)行物理處理才能更新或修復(fù)設(shè)計(jì)錯(cuò)誤。反熔絲設(shè)備的替代品是一個(gè)廣泛的類(lèi)似ASIC的驗(yàn)證階段,,這削弱了FPGA的價(jià)值,。

  摩爾定律在擴(kuò)張階段的快速發(fā)展將反熔絲和閃存FPGA降級(jí)為利基產(chǎn)品。

  D. LUT作為選擇邏輯單元的出現(xiàn)

  雖然在擴(kuò)張時(shí)期被記錄下來(lái)的低效率,,但有幾個(gè)原因,LUT仍然存在并占據(jù)主導(dǎo)地位,。首先,,基于LUT的體系結(jié)構(gòu)是綜合工具的簡(jiǎn)單目標(biāo)。這個(gè)說(shuō)法在20世紀(jì)90年代中期會(huì)有爭(zhēng)議,,當(dāng)時(shí)綜合供應(yīng)商抱怨FPGA不是“合成友好的”,。這種觀點(diǎn)產(chǎn)生是因?yàn)榫C合工具最初是針對(duì)ASIC設(shè)計(jì)的。他們的技術(shù)映射者期望一個(gè)小型庫(kù),,其中每個(gè)單元被描述為一個(gè)帶有逆變器的網(wǎng)絡(luò),。由于LUT實(shí)現(xiàn)了22n個(gè)輸入組合中的任何一個(gè),所以完整的庫(kù)將是巨大的,。ASIC技術(shù)映射工作者在基于LUT的FPGA上做了apoor工作,。但到了20世紀(jì)90年代中期,有針對(duì)性的LUT映射器利用了將任意函數(shù)映射到LUT中的簡(jiǎn)單性,。

  LUT具有隱藏的效率,。LUT是一個(gè)內(nèi)存,并且存儲(chǔ)器在硅片中有效地布局,。LUT還可以節(jié)省互連,。FPGA可編程互連在面積和延遲方面是昂貴的。FPGA互連不像ASIC那樣簡(jiǎn)單的金屬線,,而是包含緩沖區(qū),,路由多路復(fù)用器和存儲(chǔ)單元來(lái)控制它們。因此,,更多的邏輯成本實(shí)際上是在互連,。由于LUT實(shí)現(xiàn)了其輸入的任何功能,因此自動(dòng)化工具只需要在LUT中將所需的信號(hào)一起發(fā)送,,以淘汰這些輸入的功能,。沒(méi)有必要為了創(chuàng)建一小組輸入的所需功能而使得多級(jí)LUT成為可能。LUT輸入引腳是可任意交換的,,所以路由器不需要針對(duì)特定的引腳,。結(jié)果,基于LUT的邏輯減少了實(shí)現(xiàn)功能所需的互連數(shù)量,。通過(guò)良好的綜合,,來(lái)自未使用的LUT功能的浪費(fèi)小于來(lái)自減少的互連要求的節(jié)省。

  分布式存儲(chǔ)單元編程允許架構(gòu)自由,,并使FPGA供應(yīng)商幾乎可以普遍獲得工藝技術(shù),。用于邏輯實(shí)現(xiàn)的LUT減輕了互連的負(fù)擔(dān),。Xilinx衍生的基于LUT的體系結(jié)構(gòu)出現(xiàn)在賽靈思的第二個(gè)來(lái)源:Monolithic Memories,AMD和AT&T,。在擴(kuò)展階段,,其他公司,特別是Altera和AT&T / Lucent也采用了存儲(chǔ)單元和LUT架構(gòu),。

  插曲:FPGA 鐘形容量曲線

8.jpg

  圖8. FPGA市場(chǎng)的增長(zhǎng)

  圖8中的鐘形曲線表示ASIC應(yīng)用程序的大小分布的直方圖,。某個(gè)時(shí)候的FPGA容量是X軸上的一個(gè)點(diǎn),用豎條表示,。條形圖左側(cè)的所有應(yīng)用程序都是可以由FPGA來(lái)處理的應(yīng)用程序,,因此FPGA的可尋址市場(chǎng)是條形圖左側(cè)曲線下方的陰影區(qū)域。在擴(kuò)展階段,,摩爾定律的FPGA容量增加了,,所以吧移到了右邊。當(dāng)然,,應(yīng)用程序的整個(gè)鐘形曲線也向右移動(dòng),,但應(yīng)用程序大小的增長(zhǎng)速度比FPGA容量增長(zhǎng)要慢。結(jié)果,,代表FPGA的條形圖相對(duì)于設(shè)計(jì)的分布迅速地移動(dòng),。由于FPGA解決了曲線的低端問(wèn)題,因此即使可用容量略有增加,,也承認(rèn)了大量的新應(yīng)用,。在擴(kuò)展階段,F(xiàn)PGA容量覆蓋了現(xiàn)有設(shè)計(jì)的不斷增長(zhǎng)的一小部分,,并逐漸成為解決大部分ASIC應(yīng)用的技術(shù),。

9.jpg

  圖9.設(shè)計(jì)差距 來(lái)源:Synopsys,Gartner,,VLSI Technology,,Xilinx。

  從1990年代后期在EDA供應(yīng)商中流行的“設(shè)計(jì)差距”幻燈片中也可以看出這種增加的適用性(圖9),。按照摩爾定律,,ASIC和FPGA的容量在增長(zhǎng):ASIC以每年59%的速度增長(zhǎng),F(xiàn)PGA以每年48%的速度增長(zhǎng),。觀察到的平均ASIC設(shè)計(jì)開(kāi)始增長(zhǎng)速度要慢得多,,每年只有25%。因此,,F(xiàn)PGA容量在2000年達(dá)到了平均的ASIC設(shè)計(jì)規(guī)模,,但是對(duì)于一個(gè)大的(昂貴的)FPGA。但到了2004年,預(yù)計(jì)10美元的FPGA將滿足ASIC的平均要求,。在二十一世紀(jì)初,,這個(gè)交叉點(diǎn)進(jìn)一步發(fā)展,因?yàn)镕PGA解決了ASIC市場(chǎng)的低端問(wèn)題,,而這些小型設(shè)計(jì)成為了FPGA設(shè)計(jì),。平均ASIC設(shè)計(jì)尺寸計(jì)算中不再包含小型設(shè)計(jì),從而在新的千年中平均ASIC設(shè)計(jì)尺寸大幅增加,。今天,,由于FPGA幾乎成功吸收了ASIC業(yè)務(wù)的整個(gè)低端市場(chǎng),所以平均ASIC比圖9所顯示的要大得多,。

  擴(kuò)張階段回顧

  通過(guò)擴(kuò)張階段,摩爾定律迅速提高了FPGA的容量,,導(dǎo)致了對(duì)設(shè)計(jì)自動(dòng)化的需求,,并允許更長(zhǎng)的互連分段。過(guò)于高效的架構(gòu),,無(wú)法有效自動(dòng)化簡(jiǎn)單地消失,。SRAM器件首先開(kāi)發(fā)新的工藝技術(shù)并主導(dǎo)業(yè)務(wù)。由于FPGA器件容量的增長(zhǎng)速度超過(guò)了應(yīng)用的需求,,F(xiàn)PGA正在侵蝕ASIC領(lǐng)域,。用戶不再要求使用多FPGA分區(qū)軟件:設(shè)計(jì)有時(shí)適合于現(xiàn)有的FPGA。

  隨著FPGA越來(lái)越流行,,EDA公司開(kāi)始為他們提供工具,。然而,EDA公司的提議被懷疑,。FPGA退伍軍人已經(jīng)看到PLD供應(yīng)商如何通過(guò)交出軟件而失去對(duì)其創(chuàng)新的控制,。他們拒絕讓這種情況發(fā)生在FPGA領(lǐng)域。此外,,主要的FPGA公司擔(dān)心客戶可能會(huì)依賴(lài)外部EDA公司的工具,。如果發(fā)生這種情況,EDA公司可以通過(guò)軟件工具價(jià)格有效地提升FPGA NRE,。這將削弱FPGA的價(jià)值主張,,將交叉點(diǎn)轉(zhuǎn)回到較低的交易量。一些重要的FPGA-EDA聯(lián)盟是在合成域V中由定義體系結(jié)構(gòu)的物理設(shè)計(jì)工具進(jìn)行的,。盡管聯(lián)盟,,F(xiàn)PGA公司保持競(jìng)爭(zhēng)力的項(xiàng)目,以防止依賴(lài)的可能性,。在擴(kuò)展階段,,F(xiàn)PGA供應(yīng)商發(fā)現(xiàn)自己與ASIC技術(shù)和EDA技術(shù)競(jìng)爭(zhēng)。

10.jpg

  圖10. 賽靈思市場(chǎng)營(yíng)銷(xiāo),圖片由Xilinx提供,。

  插曲:XILINX的市場(chǎng)

  到20世紀(jì)90年代后期,,擴(kuò)展階段在FPGA業(yè)務(wù)中得到了很好的理解。FPGA供應(yīng)商正在積極尋求處理技術(shù),,以解決其尺寸,,性能和容量問(wèn)題。每一代新工藝都帶來(lái)了許多新的應(yīng)用,。圖10中的幻燈片摘自2000年Xilinx市場(chǎng)推廣演示,。當(dāng)時(shí)可用的最大的FPGA Virtex 1000被描述為左下角的小黑色矩形?;脽羝@示,,擴(kuò)張階段將繼續(xù)有增無(wú)減,在接下來(lái)的五年里,,把城門(mén)數(shù)量增加到5000萬(wàn),。盡管摩爾定律堅(jiān)定不移,但這并沒(méi)有發(fā)生,。在下面的章節(jié)中,,我們將研究真正發(fā)生的事情和原因。

11.jpg

  圖11. FPGA可尋址市場(chǎng)的增長(zhǎng)正在縮小,。

  累積階段,, 2000–2007.

  在新千年的開(kāi)始,F(xiàn)PGA是數(shù)字系統(tǒng)的通用組件,。容量和設(shè)計(jì)規(guī)模不斷擴(kuò)大,,F(xiàn)PGA在數(shù)據(jù)通信行業(yè)中發(fā)現(xiàn)了巨大的市場(chǎng)。二十一世紀(jì)初的網(wǎng)絡(luò)泡沫造成了對(duì)低成本的需求,。硅片制造的成本和復(fù)雜性日益增加,,消除了“臨時(shí)”的ASIC用戶。定制芯片對(duì)于一個(gè)小團(tuán)隊(duì)來(lái)說(shuō)成功執(zhí)行風(fēng)險(xiǎn)太大了,。當(dāng)他們看到他們可以將他們的問(wèn)題融入到FPGA中時(shí),,他們就成了FPGA的客戶。

  就像在擴(kuò)張階段一樣,,摩爾定律的必然步伐使FPGA變得更大?,F(xiàn)在他們比典型的問(wèn)題大。有能力比所需要的要多,,沒(méi)有什么不好的,,但是也沒(méi)有什么特別的美德。結(jié)果,,客戶不愿意為最大的FPGA支付高額的費(fèi)用,。

  僅僅增加產(chǎn)能也不足以保證市場(chǎng)的增長(zhǎng),。再看圖11,F(xiàn)PGA鐘形曲線,。由于FPGA容量通過(guò)了平均設(shè)計(jì)尺寸,,鐘形曲線的峰值,容量的增加承認(rèn)逐漸減少的應(yīng)用,。幾乎可以保證在擴(kuò)張時(shí)期獲得成功的產(chǎn)品的尺寸,,在接下來(lái)的幾年里,吸引越來(lái)越少的新客戶,。

  FPGA供應(yīng)商通過(guò)兩種方式解決了這一挑戰(zhàn),。對(duì)于低端市場(chǎng),他們重新關(guān)注效率,,并生產(chǎn)低容量,,低性能的“低成本”FPGA產(chǎn)品系列:Xilinx的Spartan,Altera的Cyclone和Lattice的EC / ECP,。

  對(duì)于高端市場(chǎng),,F(xiàn)PGA供應(yīng)商希望能夠讓客戶更容易地填滿他們寬敞的FPGA。他們?yōu)橹匾δ苤谱髁塑涍壿嫞↖P)庫(kù),。這些軟邏輯功能中最值得注意的是微處理器(Xilinx MicroBlaze和Altera Nios),存儲(chǔ)器控制器和各種通信協(xié)議棧,。在以太網(wǎng)MAC在Virtex-4的晶體管上實(shí)現(xiàn)之前,,它是作為Virtex-II的軟核心在LUT中實(shí)現(xiàn)的。IP組件的標(biāo)準(zhǔn)接口消耗了額外的LUT,,但與節(jié)省設(shè)計(jì)工作量相比,,效率不高。

  大型的FPGA比一般的ASIC設(shè)計(jì)更大,。到2000年代中期,,只有ASIC仿真器需要多芯片分區(qū)器。更多的客戶有興趣在一個(gè)單一的FPGA上聚合多個(gè)可能不相關(guān)的組件,。賽靈思推出了“互聯(lián)網(wǎng)可重構(gòu)邏輯”和FPGA區(qū)域劃分,,允許功能單元?jiǎng)討B(tài)插入可編程邏輯資源的一個(gè)子集。

  設(shè)計(jì)的特點(diǎn)在2000年代發(fā)生了變化,。大型FPGA承認(rèn)大型設(shè)計(jì)是完整的子系統(tǒng),。FPGA用戶不再只是簡(jiǎn)單地實(shí)現(xiàn)邏輯;他們需要他們的FPGA設(shè)計(jì)來(lái)遵守系統(tǒng)標(biāo)準(zhǔn),。這些標(biāo)準(zhǔn)主要是信號(hào)和協(xié)議的通信標(biāo)準(zhǔn),,用于連接外部組件或在內(nèi)部組件之間通信。由于FPGA在計(jì)算密集型應(yīng)用中的作用越來(lái)越大,,處理標(biāo)準(zhǔn)也開(kāi)始適用,。隨著FPGA成長(zhǎng)為客戶整體系統(tǒng)邏輯的一小部分,,其成本和功耗也相應(yīng)增長(zhǎng)。這些問(wèn)題比擴(kuò)張階段變得更為重要,。

  遵循標(biāo)準(zhǔn),,降低成本和降低功耗的壓力導(dǎo)致了架構(gòu)戰(zhàn)略的轉(zhuǎn)變,從簡(jiǎn)單地增加可編程邏輯和乘以摩爾定律,,如在擴(kuò)展階段所做的,,到添加專(zhuān)用的邏輯塊。這些模塊包括大存儲(chǔ)器,,微處理器,,乘法器,靈活的I / O和源同步收發(fā)器,。由專(zhuān)門(mén)設(shè)計(jì)的晶體管而不是ASIC門(mén)構(gòu)成,,它們通常比ASIC的實(shí)現(xiàn)效率更高。對(duì)于使用它們的應(yīng)用程序,,他們減少了可編程性的面積,,性能,功耗和設(shè)計(jì)工作量,。

12.jpg

  圖12.賽靈思市場(chǎng)營(yíng)銷(xiāo) 圖片由Xilinx提供,。

  其結(jié)果是“平臺(tái)FPGA”,從2005年的賽靈思營(yíng)銷(xiāo)幻燈片中捕獲到,,如圖12所示,。與圖10相比較,不再是數(shù)百萬(wàn)門(mén)的消息,,而是預(yù)定義的,,性能專(zhuān)用塊。甚至“門(mén)”這個(gè)詞也從幻燈片中消失了,。這個(gè)FPGA不僅僅是LUT,,觸發(fā)器,I / O和可編程路由的集合,。它包括乘法器,,RAM塊,多個(gè)Power-PC微處理器,,時(shí)鐘管理,,千兆速率源同步收發(fā)器和位流加密,以保護(hù)設(shè)計(jì)的IP,。FPGA工具不斷增長(zhǎng),,以實(shí)現(xiàn)這一不斷增長(zhǎng)的實(shí)施目標(biāo)。

  為了減輕使用新功能和滿足系統(tǒng)標(biāo)準(zhǔn)的負(fù)擔(dān),,F(xiàn)PGA供應(yīng)商提供了邏輯發(fā)生器,,通過(guò)將其專(zhuān)用功能和軟邏輯相結(jié)合來(lái)構(gòu)建目標(biāo)功能,。軟邏輯的生成器和庫(kù)為軟核和強(qiáng)化處理器上的外設(shè)提供了CoreConnect,AXI和其他總線的接口,。他們還構(gòu)建了圍繞串行收發(fā)器的固定功能物理接口的總線協(xié)議邏輯,。Xilinx系統(tǒng)生成器和Altera DSP Builder自動(dòng)化了DSP系統(tǒng)的大部分組裝,由固定功能和LUT組合而成,。為了簡(jiǎn)化微處理器系統(tǒng)的創(chuàng)建,,賽靈思提供了嵌入式設(shè)計(jì)套件(EDK),而Altera則發(fā)布了其嵌入式系統(tǒng)設(shè)計(jì)套件(ESDK),。這些功能的演示包括在FPGA處理器上運(yùn)行的FPGA,,在FPGA架構(gòu)中進(jìn)行視頻壓縮和解壓縮。

  但是,,那些不需要固定職能的積累年齡的客戶是什么呢,?對(duì)于不需要Power-PC處理器,存儲(chǔ)器或乘法器的客戶來(lái)說(shuō),,該塊的面積被浪費(fèi)了,,有效地降低了FPGA的成本和速度。起初,,F(xiàn)PGA供應(yīng)商試圖確保這些功能可以用于邏輯,,如果他們不是主要用途的需要。他們提供了“大型LUT映射”軟件,,將邏輯移入未使用的RAM塊,。賽靈思發(fā)布了“超級(jí)控制器”,將狀態(tài)機(jī)映射到Virtex-II Pro中硬化Power-PC的微處理器代碼,。但是這些措施最終被認(rèn)為是不重要的。這表明我們距離發(fā)明階段還有多遠(yuǎn),,F(xiàn)PGA供應(yīng)商和客戶都只是接受了浪費(fèi)的領(lǐng)域,。Xilinx副總裁表示,他將在FPGA上提供四個(gè)Power-PC處理器,,并不關(guān)心客戶是否使用其中任何一個(gè),。我們給他們免費(fèi)的處理器。

1111.jpg

  表1 FPGA上選定專(zhuān)用邏輯

  插曲:所有階段都如此

  積累的階段并不是獨(dú)一無(wú)二的,,正如增加設(shè)備的能力并不是獨(dú)特的擴(kuò)張階段或獨(dú)特的發(fā)明階段的建筑創(chuàng)新,。在發(fā)明階段,門(mén),,路由和三態(tài)總線是可用的,,而算術(shù),內(nèi)存和專(zhuān)用I / O出現(xiàn)在擴(kuò)展階段(表1),。在FPGA的各個(gè)階段都增加了專(zhuān)用的模塊,,這充分表明它們將繼續(xù)在多樣性和復(fù)雜性方面發(fā)展,。一般來(lái)說(shuō),成功的專(zhuān)用功能本質(zhì)上是通用的,,使用可編程LUT和互連的靈活性來(lái)定制功能,。嘗試生產(chǎn)針對(duì)特定領(lǐng)域或特定應(yīng)用的FPGA尚未證明是成功的,因?yàn)樗鼈兪チ薋PGA經(jīng)濟(jì)所依賴(lài)的批量生產(chǎn)的優(yōu)勢(shì),。當(dāng)然,,直到“積累階段”才引起了“通信FPGA”的興起。

  累積階段回顧

  A.應(yīng)用

  “積累階段”中FPGA的最大變化是目標(biāo)應(yīng)用程序的變化,。FPGA業(yè)務(wù)不是從通用的ASIC替代發(fā)展而是由通信基礎(chǔ)設(shè)施的采用,。像Cisco這樣的公司使用FPGA來(lái)定制數(shù)據(jù)路徑,以便通過(guò)交換機(jī)和路由器轉(zhuǎn)發(fā)大量的互聯(lián)網(wǎng)和打包語(yǔ)音流量,。他們的性能要求消除了標(biāo)準(zhǔn)微處理器和陣列處理器,,單位體積在FPGA交叉點(diǎn)內(nèi)。新的網(wǎng)絡(luò)路由架構(gòu)和算法可以在FPGA中快速實(shí)施并在現(xiàn)場(chǎng)進(jìn)行更新,。在“積累階段”,,通信行業(yè)的銷(xiāo)售額迅速增長(zhǎng),超過(guò)FPGA業(yè)務(wù)的一半,。

  當(dāng)然,,這一成功使得主要FPGA制造商為通信行業(yè)定制FPGA。通信專(zhuān)用FPGA集成了高速I(mǎi) / O收發(fā)器,,數(shù)千個(gè)專(zhuān)用高性能乘法器,,能夠在不犧牲吞吐量的情況下制作大量數(shù)據(jù)路徑和深度流水線。為了更好地滿足通信應(yīng)用需求而添加的專(zhuān)用塊和路由減少了可用的通用邏輯區(qū)域,。到2000年代末,,F(xiàn)PGA不像通用數(shù)據(jù)路由引擎那樣通用ASIC替代。隨著多核處理器和通用圖形處理器單元(GPGPU)的出現(xiàn),,F(xiàn)PGA仍然是高吞吐量,,實(shí)時(shí)計(jì)算的首選。同時(shí),,F(xiàn)PGA保持其通用性,。FPGA逐位可編程能力確保了它們?cè)诎刂坪推?chē)系統(tǒng)在內(nèi)的廣泛應(yīng)用中的持續(xù)使用。

  B. 摩爾定律

  經(jīng)典的Dennard縮放,,同時(shí)在成本,,容量,功耗和性能方面進(jìn)行了改進(jìn),,在2000年代中期結(jié)束,。后來(lái)的技術(shù)世代仍然在容量和成本方面進(jìn)行了改進(jìn)。電力也在不斷改善,,但與性能之間有著明顯的折衷,。從一個(gè)技術(shù)節(jié)點(diǎn)到下一個(gè)技術(shù)節(jié)點(diǎn)的性能收益是適度的,,并且與節(jié)能相抵消。這種效應(yīng)在圖1中的性能增長(zhǎng)放緩中表現(xiàn)得很明顯,。這些折衷也推動(dòng)了功能的積累,,因?yàn)槿缭跀U(kuò)展階段那樣簡(jiǎn)單地依賴(lài)于工藝技術(shù)的縮放并不足以改善功率和性能。邏輯強(qiáng)化提供了必要的改進(jìn),。

  我們現(xiàn)在將步入FPGA的下一個(gè)階段,,那么下一個(gè)階段是什么呢?

13.jpg

  圖13.按全球流程節(jié)點(diǎn)估算的芯片設(shè)計(jì)成本,。

  數(shù)據(jù):賽靈思和Gartner,,2011。

  目前階段:不再是可編程邏輯

  在積累階段結(jié)束之前,,F(xiàn)PGA不是門(mén)陣列,,而是集成了可編程邏輯的累積模塊集合。他們?nèi)匀皇强删幊痰?,但不限于可編程邏輯,。在累積階段獲得的可編程性的額外維度增加了設(shè)計(jì)負(fù)擔(dān)。設(shè)計(jì)工作是FPGA與ASIC競(jìng)爭(zhēng)的一個(gè)優(yōu)勢(shì),,與新近到來(lái)的多核處理器和GPU競(jìng)爭(zhēng)是一個(gè)劣勢(shì),。

  FPGA開(kāi)發(fā)者繼續(xù)承受著壓力。2008年開(kāi)始的經(jīng)濟(jì)放緩繼續(xù)推動(dòng)降低成本的愿望,。這種壓力不僅體現(xiàn)在降低功能價(jià)格的要求上,,而且體現(xiàn)在降低使用這些設(shè)備的成本的低功耗上。后Dennard縮放處理技術(shù)未能實(shí)現(xiàn)新工藝技術(shù)在過(guò)去幾十年中所帶來(lái)的成本,,容量,,性能,功耗和可靠性方面的巨大并發(fā)利益,。特別需要關(guān)注的是權(quán)力和績(jī)效之間的權(quán)衡,。怎么辦?

  A.應(yīng)用

  在積累階段,,20世紀(jì)80年代把定制設(shè)備推向市場(chǎng)的ASIC公司正悄然消失,。當(dāng)然,,定制插座專(zhuān)用ASIC器件仍然存在,,但僅限于具有非常大的體積或極端操作要求的設(shè)計(jì)。FPGA是否打敗了他們,?好吧,,部分。在2000年代,,ASIC NRE收費(fèi)對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō)太大了,。這可以在圖13中看到,,其中開(kāi)發(fā)成本以百萬(wàn)美元繪制在技術(shù)節(jié)點(diǎn)上。定制設(shè)備的開(kāi)發(fā)成本達(dá)到幾十億美元,。一家將20%的收入用于研發(fā)的公司需要從芯片銷(xiāo)售中獲得5億美元的收s入,,以此來(lái)支付億元的開(kāi)發(fā)成本。FPGA交叉點(diǎn)達(dá)到了數(shù)百萬(wàn)個(gè)單位,。有很少的芯片可以銷(xiāo)售,,特別是微處理器,存儲(chǔ)器和手機(jī)處理器,。伴隨著另一次經(jīng)濟(jì)衰退,,銷(xiāo)售不確定性和新產(chǎn)品收入的長(zhǎng)期交易,結(jié)果是不可避免的:如果應(yīng)用程序需求可以通過(guò)可編程器件滿足,,則可編程邏輯是首選解決方案,。FPGA的優(yōu)勢(shì)從最初的階段起依然在運(yùn)行:通過(guò)共享開(kāi)發(fā)成本降低總體成本。

  ASIC并沒(méi)有消亡,。ASIC通過(guò)以應(yīng)用特定標(biāo)準(zhǔn)產(chǎn)品(ASSP)片上系統(tǒng)(SoC)器件的形式增加可編程性而存活并擴(kuò)展,。SoC結(jié)合了一系列固定功能模塊和一個(gè)微處理器子系統(tǒng)。通常為特定應(yīng)用領(lǐng)域選擇功能塊,,如圖像處理或聯(lián)網(wǎng),。微處理器控制數(shù)據(jù)流,并允許通過(guò)編程以及現(xiàn)場(chǎng)更新進(jìn)行定制,。SoC為硬件解決方案提供了結(jié)構(gòu),,編程微處理器比設(shè)計(jì)硬件更容易。利用FPGA的優(yōu)勢(shì),,可編程ASSP器件服務(wù)于更廣泛的市場(chǎng),,更廣泛地分?jǐn)偲溟_(kāi)發(fā)成本。構(gòu)建ASSP SoC的公司成為無(wú)晶圓半導(dǎo)體供應(yīng)商,,能夠滿足高開(kāi)發(fā)成本所需的銷(xiāo)售目標(biāo),。

  隨著ASIC向SoC轉(zhuǎn)移,可編程邏輯供應(yīng)商開(kāi)發(fā)了可編程SoC,。這絕對(duì)不是在數(shù)據(jù)通信領(lǐng)域如此流行的數(shù)據(jù)吞吐量引擎,,也不是門(mén)陣列??删幊滔到y(tǒng)FPGA是完全可編程的片上系統(tǒng),,包含存儲(chǔ)器,微處理器,,模擬接口,,片上網(wǎng)絡(luò)和可編程邏輯模塊。這種新型FPGA的例子是Xilinx All-Programmable Zynq,Altera SoC FPGA和Actel / Microsemi M1,。

  B.設(shè)計(jì)工具

  這些新的FPGA具有新的設(shè)計(jì)要求,。最重要的是,它們是軟件可編程的,,也是硬件可編程的,。微處理器并不是象“積累階段”(Age of Accumulation)那樣將簡(jiǎn)單的硬件模塊放入FPGA中,而是包含一個(gè)帶有高速緩存,,總線,,片上網(wǎng)絡(luò)和外設(shè)的完整環(huán)境。捆綁軟件包括操作系統(tǒng),,編譯器和中間件:整個(gè)生態(tài)系統(tǒng),,而不是一個(gè)集成的功能塊。一起編程軟件和硬件增加了設(shè)計(jì)復(fù)雜性,。

  但這仍然是冰山一角,。為了實(shí)現(xiàn)替代ASIC或SoC的目標(biāo),F(xiàn)PGA繼承了這些器件的系統(tǒng)要求?,F(xiàn)代FPGA具有功率控制,,如電壓調(diào)節(jié)和Stratix自適應(yīng)體偏置。最先進(jìn)的安全性是必需的,,包括Xilinx Zynq SoC和Microsemi SmartFusion中的公鑰加密技術(shù),。完整的系統(tǒng)需要混合信號(hào)接口來(lái)實(shí)現(xiàn)真實(shí)的接口。這些也監(jiān)測(cè)電壓和溫度,。所有這些都需要FPGA成為一個(gè)完整的片上系統(tǒng),,一個(gè)可信的ASSP SoC器件。因此,,F(xiàn)PGA已經(jīng)發(fā)展到邏輯門(mén)陣列通常不到面積的一半,。一路上,F(xiàn)PGA設(shè)計(jì)工具已經(jīng)發(fā)展到包含廣泛的設(shè)計(jì)問(wèn)題,。FPGA公司的EDA工程師數(shù)量與設(shè)計(jì)工程師的數(shù)量相當(dāng),。

  C.工藝技術(shù)

  盡管在過(guò)去的三十年中,工藝規(guī)模一直在穩(wěn)步持續(xù)發(fā)展,,但摩爾定律對(duì)FPGA架構(gòu)的影響在不同的階段是截然不同的,。為了在發(fā)明階段取得成功,F(xiàn)PGA需要積極的架構(gòu)和流程創(chuàng)新,。

  在擴(kuò)張階段,,駕駛摩爾定律是解決不斷增長(zhǎng)的市場(chǎng)的最成功的方法。隨著FPGA逐漸成為系統(tǒng)組件,,它們被要求滿足這些標(biāo)準(zhǔn),,網(wǎng)絡(luò)泡沫破裂要求它們以更低的價(jià)格提供這些接口,。FPGA行業(yè)依靠工藝技術(shù)擴(kuò)展來(lái)滿足其中的許多要求,。

  自Dennard縮放結(jié)束以來(lái),,工藝技術(shù)的性能收益有限,無(wú)法達(dá)到功耗目標(biāo),。每個(gè)工藝節(jié)點(diǎn)也提供了較少的密度改進(jìn),。隨著復(fù)雜工藝變得越來(lái)越昂貴,每個(gè)新節(jié)點(diǎn)中晶體管數(shù)量的增長(zhǎng)減慢,。一些預(yù)測(cè)聲稱(chēng),,每個(gè)晶體管的成本將上升。像整個(gè)半導(dǎo)體行業(yè)一樣,,F(xiàn)PGA產(chǎn)業(yè)依靠技術(shù)擴(kuò)展來(lái)提供改進(jìn)的產(chǎn)品,。如果改進(jìn)不再來(lái)自技術(shù)擴(kuò)展,那么它們從哪里來(lái),?

  減緩工藝技術(shù)改進(jìn)提高了新型FPGA電路和架構(gòu)的可行性:回到發(fā)明階段,。但是這并不像回到1990年那么簡(jiǎn)單。這些改變必須在不降低FPGA的易用性的情況下進(jìn)行,。這個(gè)新階段給FPGA電路和應(yīng)用工程師帶來(lái)了更大的負(fù)擔(dān),。

  D.設(shè)計(jì)努力

  注意最后一節(jié)的重點(diǎn)是設(shè)備屬性:成本,容量,,速度和功耗,。成本,容量和速度正是FPGA在20世紀(jì)80年代和90年代處于ASIC劣勢(shì)的那些屬性,。然而他們興旺起來(lái),。對(duì)這些屬性的狹隘關(guān)注可能會(huì)被誤導(dǎo),就像ASIC公司在20世紀(jì)90年代對(duì)它們的狹隘關(guān)注導(dǎo)致他們低估了FPGA,。盡管存在缺點(diǎn),,但可編程性給了FPGA一個(gè)優(yōu)勢(shì)。這種優(yōu)勢(shì)轉(zhuǎn)化為風(fēng)險(xiǎn)更低,,設(shè)計(jì)更簡(jiǎn)單,。這些屬性仍然有價(jià)值,但其他技術(shù)也提供可編程性,。

  設(shè)計(jì)工作和風(fēng)險(xiǎn)正在成為可編程邏輯中的關(guān)鍵要求,。非常大的系統(tǒng)難以正確設(shè)計(jì),需要設(shè)計(jì)師團(tuán)隊(duì),。組裝復(fù)雜的計(jì)算或數(shù)據(jù)處理系統(tǒng)的問(wèn)題促使客戶找到更簡(jiǎn)單的解決方案,。隨著設(shè)計(jì)成本和時(shí)間的增加,它們成為FPGA的一個(gè)問(wèn)題,,如ASIC在20世紀(jì)90年代的ASIC NRE成本,。從本質(zhì)上講,大的設(shè)計(jì)成本會(huì)破壞FPGA的價(jià)值主張。

  就像30年前尋求定制集成電路的客戶被ASIC吸引到FPGA一樣,,現(xiàn)在很多人都被多核處理器,,圖形處理器(GPU)和軟件可編程應(yīng)用特定標(biāo)準(zhǔn)產(chǎn)品(ASSP)所吸引。這些替代解決方案提供預(yù)先設(shè)計(jì)的系統(tǒng)軟件,,以簡(jiǎn)化到他們的映射問(wèn)題,。它們犧牲了易用性的可編程邏輯的一些靈活性,性能和功率效率,。很明顯,,雖然有許多FPGA用戶需要利用FPGA技術(shù)的極限,但是還有許多其他技術(shù)能力足夠的人,,但是由于使用這種技術(shù)的復(fù)雜性而使他們感到害怕,。

  設(shè)備的復(fù)雜性和能力促使設(shè)計(jì)工具的能力增加。現(xiàn)代的FPGA工具集包括從C,,Cuda和OpenCL到邏輯或嵌入式微處理器的高級(jí)綜合匯編,。供應(yīng)商提供的邏輯和處理功能庫(kù)支持設(shè)計(jì)成本。工作的操作系統(tǒng)和管理程序控制FPGA SoC操作,。FPGA設(shè)計(jì)系統(tǒng)內(nèi)置了團(tuán)隊(duì)設(shè)計(jì)功能,,包括構(gòu)建控制。一些功能是由供應(yīng)商自己建立的,,另一些則是不斷增長(zhǎng)的FPGA生態(tài)系統(tǒng)的一部分,。

  顯然,可用性對(duì)于FPGA的下一個(gè)階段至關(guān)重要,。這種可用性是通過(guò)更好的工具,,更高級(jí)的建筑,工藝技術(shù)的開(kāi)發(fā)還是固定塊的更多積累來(lái)實(shí)現(xiàn)的,?最有可能的是,,就像以前的每一個(gè)年齡都需要為每個(gè)年齡段做出貢獻(xiàn)一樣,所有的技巧都需要成功,。還有更多,。與其他階段一樣,F(xiàn)PGA的下一個(gè)階段將只是在回顧中才會(huì)完全清楚,。在整個(gè)年齡,,期望看到歷史悠久的好工程:從現(xiàn)有的技術(shù)生產(chǎn)出最好的產(chǎn)品。隨著現(xiàn)有技術(shù)和“最佳”定義的不斷變化,,這一良好的工程將會(huì)完成,。

  FPGA的未來(lái)

  未來(lái)是什么?此后是什么階段,?我拒絕推測(cè),,而是發(fā)出一個(gè)挑戰(zhàn):記住Alan Kay的話:“預(yù)測(cè)未來(lái)的最好方法就是發(fā)明它,。”

  



本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]