《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 如何選擇滿足FPGA設(shè)計需求的工藝?

如何選擇滿足FPGA設(shè)計需求的工藝?

2015-10-15
關(guān)鍵詞: FPGA 工藝

  FPGA在系統(tǒng)中表現(xiàn)出的特性是由芯片制造的半導(dǎo)體工藝決定的,,當(dāng)然它們之間的關(guān)系比較復(fù)雜,。過去,在每一節(jié)點會改進工藝的各個方面,,每一新器件的最佳工藝選擇是尺寸最小的最新工藝。現(xiàn)在,情況已不再如此,。
  取而代之的是,當(dāng)今的可編程邏輯供應(yīng)商必須研究各種工藝選擇,,才能滿足采用FPGA的設(shè)計的各類需求,。本文將介紹三類工藝特性,它們與現(xiàn)代FPGA內(nèi)部結(jié)構(gòu)的聯(lián)系,,以及FPGA對采用了這些工藝的系統(tǒng)的影響,。其中將特別介紹圍繞名為FinFET的晶體管加速應(yīng)用的革命性變革,Altera怎樣采用獨特的FinFET工藝,,特別是Intel 的14nm三柵極工藝進一步提高FPGA密度,、性能和功效,而這是平面FET技術(shù)發(fā)展根本無法實現(xiàn)的,。
  工藝特性
  對于IC設(shè)計人員,,有三類由工藝決定的特性,這些特性一起體現(xiàn)了工藝,。它們是特征層距,、晶體管行為和可用性。
  層距是指成品IC類似特性之間的最小間隔,有助于確定管芯尺寸和容量,,還能夠間接地決定電路速率和功耗,。管芯的每一特征層——晶體管、本地互聯(lián),、接觸,,以及連續(xù)的上面金屬層,都有自己的層距,。由工藝工程師根據(jù)光刻極限和其他工藝約束,、成本以及工藝設(shè)計人員認為客戶會怎樣使用工藝來選擇這些不同層的間距。這些層距相互作用,,決定了某一類電路中晶體管的實際密度,。
  讓我們從底層開始。在某一電路中封裝多少晶體管大致取決于兩個問題:晶體管能夠靠得多近,,互聯(lián)之間有多大的間距才能滿足它們的連接要求,。兩者都會帶來限制,這取決于電路設(shè)計和布局,。當(dāng)然,,晶體管能夠封裝的距離有多近取決于其大小和形狀。
  從本地互聯(lián),、接觸層往上,,越到上面的金屬層堆疊(圖1),層距就越會急劇增大,。一般而言,,本地互聯(lián)和下面金屬層連接附近的晶體管,決定了標(biāo)準(zhǔn)單元或者 SRAM等仔細封裝的結(jié)構(gòu)的密度,。上面的金屬層連接電路,,最終將功能模塊連接起來,實現(xiàn)總線連線,,分配電源和時鐘連接,。上層的數(shù)量和層距對于芯片設(shè)計人員而言也非常重要,這是因為它們決定了芯片不同部分之間連接的帶寬和功耗,。
  堆疊越高,,金屬層距越大

30.png

  圖1.堆疊越高,金屬層距越大,,如這一傳統(tǒng)的Altera CPLD所示,。
  晶體管特性
  最簡單的情況是,數(shù)字設(shè)計人員對于其晶體管只關(guān)心三方面:它們有多大,、晶體管開關(guān)能有多快,、它們的功耗有多大,。多年來,這三方面互相協(xié)調(diào)發(fā)展的非常好:每一新工藝節(jié)點的晶體管尺寸都在減小,,開關(guān)更快,,功耗更低。
  但在最近的工藝代,,隨著晶體管尺寸的減小,,功耗分成了兩個不同的部分:由開關(guān)活動造成的動態(tài)功耗,以及晶體管無法關(guān)斷的電流所消耗的泄漏功耗,。速度和動態(tài)功耗一直是相關(guān)的,,在每一新工藝節(jié)點,速度逐漸提高,,開關(guān)功耗慢慢下降,,而靜態(tài)功耗在每一新節(jié)點都在增大。現(xiàn)在,,如果希望晶體管非??斓剡M行開關(guān),那么,,它會泄漏,。如果希望降低泄漏電流,晶體管的速度就會變慢,。相應(yīng)地在芯片級,,某些28nm SoC,,一半的功耗都是靜態(tài)泄漏功耗,。
  工藝和電路設(shè)計人員對此進行了反擊。工藝工程師為芯片設(shè)計人員提供了具有不同速度和泄漏電流的各類晶體管,。電路設(shè)計人員仔細地選擇了晶體管,,考慮了它們的關(guān)斷時鐘能力和供電電壓,以便有效的管理功耗,。這些創(chuàng)新使得設(shè)計人員能夠開發(fā)基于單元的數(shù)字模塊,,同時具有較好的峰值性能和較低的泄漏。
  但是,,平面FET的問題卻越來越嚴重,。在以后的工藝代中,越來越難以進一步降低平面FET的工作電壓,。今天,,很多工藝工程師同意,在20nm節(jié)點以后,,再也不可能降低平面FET的延時功耗:電路設(shè)計人員圍繞這一指標(biāo)來綜合考慮速度和功耗,。雖然已經(jīng)盡最大努力來延長傳統(tǒng)平面FET的生命周期,,但是,它還是在逐漸淡出,。
  今天,,很多工藝設(shè)計人員相信,未來屬于一類新晶體管:FinFET,,即 Intel把他們的這類器件稱之為三柵極晶體管,。實際上,晶體管是豎立在其側(cè)面的,,在其他三個裸露側(cè)封裝柵極,,F(xiàn)inFET的柵極能夠更好地控制通過溝道的電流,與同樣大小的平面FET相比,,在速度一定時,,顯著降低了泄漏(技術(shù)上,更低的閾值電壓),。更低的泄漏使得設(shè)計人員能夠以較低的電壓實現(xiàn)要求的工作頻率,,同時降低了動態(tài)和泄漏功耗,或者在一定的總功耗水平上,,以更高的速度工作,。
  而且,由于晶體管是豎立在其側(cè)面上,,影響驅(qū)動電流的溝道寬度不會直接限制晶體管彼此之間封裝的距離,。因此,F(xiàn)inFET陣列要比使用相同溝道寬度的平面FET陣列的密度高得多,。而且,,由于器件的尺寸,F(xiàn)inFET原理上要比最小尺寸的平面FET的一致性更好,。工藝工程師解釋說,,平面器件在理論上已經(jīng)變得非常小,以至于可以數(shù)出溝道中摻雜原子的數(shù)量,。不管出于什么原因,,在生產(chǎn)過程中一些原子出錯是難以控制的,這會導(dǎo)致晶體管閾值電壓有很大的不同,,因此,,其電氣性能也會不同。FinFET對這類變化的敏感度要低得多,。
  FinFET在幾方面顯示出完全不會有平面FET那樣越來越多的問題,。FinFET可以封裝得更靠近一些。它們有更低,、一致性更好的閾值電壓,,不會出現(xiàn)不可接受的泄漏電流,。較低的閾值電壓支持工作在較低的供電電壓下,顯著降低了功耗,,或者工作在正常電壓下,,但是大幅度提高了速度。
  何時可以得到
  第三個關(guān)鍵的工藝問題并不是技術(shù)上的;它是可用性問題,。特別是器件仿真模型規(guī)劃,、測試芯片、實例,,以及代工線產(chǎn)品等必須要滿足系統(tǒng)設(shè)計人員的開發(fā)計劃要求,。必須盡早為FPGA設(shè)計人員提供工藝模型,以便他們估算芯片能夠?qū)崿F(xiàn)多高的性能,,在系統(tǒng)設(shè)計流程早期將這一信息傳遞給系統(tǒng)規(guī)劃人員,。必須為硬件原型開發(fā)提供實例和開發(fā)套件,以便開始硬件和軟件集成,。當(dāng)然,,進行系統(tǒng)投產(chǎn)時,應(yīng)能夠批量提供 FPGA,。
  “可用性”是回答上面討論的問題的答案——為什么不采用FinFET來開發(fā)所有的東西?但還有另外一種回答,。在目前的很多應(yīng)用中,現(xiàn)有的28nm或新出現(xiàn)的20nm平面FET工藝能夠滿足系統(tǒng)設(shè)計的特殊需求,。這些系統(tǒng)設(shè)計不需要等待FinFET工藝,。為了解這是怎樣工作的,我們需要查看現(xiàn)代FPGA中的每一類結(jié)構(gòu),。
  FPGA內(nèi)部
  半導(dǎo)體工藝的技術(shù)特征表現(xiàn)在系統(tǒng)行為上,,就是影響FPGA內(nèi)部的很多不同結(jié)構(gòu)。在以前的工藝代中,,認為FPGA是統(tǒng)一的可編程邏輯架構(gòu),,周圍是通用I/O可配置環(huán),,這種看法當(dāng)時是正確的,。但在今天,這種模型已經(jīng)不正確,。
  現(xiàn)代FPGA含有四種不同類型的功能模塊:可編程邏輯架構(gòu),、基于單元的數(shù)字知識產(chǎn)權(quán)(IP)、手動設(shè)計的模塊RAM,,以及定制模擬IP(圖2),。這些都會對新工藝特性有不同的影響。
  現(xiàn)代FPGA混合了可編程邏輯,、基于單元的IP以及模擬模塊

31.png

  圖2.現(xiàn)代FPGA混合了可編程邏輯,、基于單元的IP以及模擬模塊,,如這一Altera Stratix V圖所示。

  FPGA 邏輯架構(gòu)實際上是大量經(jīng)過復(fù)制的定制設(shè)計邏輯單元(LE)陣列——微小SRAM,,復(fù)用器和寄存器,,以及交換結(jié)構(gòu),覆蓋了非常復(fù)雜的多層金屬,。因此,,可編程架構(gòu)的設(shè)計是要在LE實現(xiàn)多少功能以及單元需要多少互聯(lián)之間達到很好的平衡。對于某一體系結(jié)構(gòu),,架構(gòu)的總密度對底層和中間金屬層的層距非常敏感,。但是,由于規(guī)劃人員嘗試使用互聯(lián)堆疊下面所有的可用區(qū)域,,因此,,對于LE中晶體管的封裝密度也非常敏感。用戶在邏輯架構(gòu)中實現(xiàn)的電路的速度和功效取決于晶體管特性,,也與架構(gòu)密度,,互聯(lián)RC產(chǎn)品和晶體管驅(qū)動電流有關(guān)。
  因此,,一般而言,,能夠提供較小金屬層距以及封裝更緊密的晶體管的工藝可以實現(xiàn)密度較高的邏輯架構(gòu),對于用戶電路,,性能更好,,功耗更低。泄漏電流是邏輯架構(gòu)的一個特殊問題,,這是因為,,芯片設(shè)計人員并不知道用戶怎樣使用可編程邏輯,他們使用電路級功耗管理技術(shù)來降低基于單元的設(shè)計的靜態(tài)功耗,,這種方法能力有限,。
  相反,基于單元的數(shù)字IP有關(guān)鍵通路,,這些通路主要是通過本地短互聯(lián)或者底層金屬直接互相連接的快速晶體管?,F(xiàn)代FPGA中的這一類結(jié)構(gòu)包括數(shù)字信號處理(DSP)模塊、I/O和存儲器控制器,、增強CPU內(nèi)核,,等等。這些IP模塊的大小主要受仔細封裝的標(biāo)準(zhǔn)單元庫的密度的影響,,以及庫中各種單元的影響,。在可編程架構(gòu)中,用戶可以開發(fā)需要的任何電路,,而基于單元的硬核IP是預(yù)先定義好的,,因此,,芯片設(shè)計人員可以采用所有的功耗管理技術(shù)。這樣,,硬核數(shù)字IP將極大的受益于更小的工藝尺寸以及更高的晶體管速度,,在系統(tǒng)層,可以使用功耗管理技術(shù),,調(diào)整平面FET較大的泄漏電流,。
  模塊RAM是一類特殊的基于單元的IP。一般使用代工線提供的,,經(jīng)過手動優(yōu)化的SRAM單元進行開發(fā),,但是,F(xiàn)PGA設(shè)計人員通常會調(diào)整陣列,,在模塊應(yīng)用的范圍內(nèi),,優(yōu)化速度、密度和功耗,。由于模塊非常靈活,,因此,很難在FPGA RAM上實現(xiàn)功耗管理策略,。FPGA中的其他結(jié)構(gòu)可能不會對晶體管的所有特性變化敏感,。
  這些考慮意味著,某一系統(tǒng)應(yīng)用FPGA的最佳工藝選擇取決于系統(tǒng)設(shè)計對可編程架構(gòu)和基于單元的邏輯的相對壓力,。對系統(tǒng)總體性能還有一定影響的是在架構(gòu)中實現(xiàn)的模塊的行為,,28nm或者20nm工藝中端FPGA能夠以較低的成本在較短的時間內(nèi)實現(xiàn)所需要的系統(tǒng)性能。
  最后,,還有高性能模擬IP的問題,,這些IP是目前鎖相環(huán)(PLL)和串化器解串器(SerDes)電路的主要構(gòu)成。這些設(shè)計并沒有采用最小層距,,相反,,使用了各種尺寸的晶體管、電路布局和金屬層間距,,這些通常涉及到了手動布局,。它們對于晶體管的電氣行為非常敏感,包括,,數(shù)字工程師不太關(guān)心的一些參數(shù),。數(shù)字設(shè)計人員仿真邏輯功能,,模擬設(shè)計人員仿真晶體管,。對于模擬設(shè)計人員,另一個絕對關(guān)鍵的問題是一致性:很多標(biāo)準(zhǔn)電路依靠密切匹配的成對的晶體管來實現(xiàn),。
  在 finFET上還有一些爭論,。某些模擬設(shè)計人員指出,,您不能為FinFET選擇任意寬度。由于晶體管是豎立在側(cè)面,,意味著是在縱向測量寬度,,因此,它們必須有相同的寬度,。您可以使用一個最小寬度的FinFET,,或者,您希望電流更大,,可以將幾個并聯(lián)起來使用,。這些設(shè)計人員擔(dān)心,模擬設(shè)計人員很難甚至無法在其熟悉的電路拓撲中使用這些新晶體管,。
  但是,,其他有經(jīng)驗的模擬設(shè)計人員指出,更高的速度,、更強的溝道控制,,以及,特別是 FinFET更好的一致性,,對于模擬設(shè)計都非常有利,,遠遠抵消了晶體管寬度的量化問題。爭論還在繼續(xù),,而Intel在CPU中模擬結(jié)構(gòu)上的工作表明,,它們使用其22nm三柵極工藝開發(fā)了這一結(jié)構(gòu),三柵極晶體管極大的提高了高精度模擬設(shè)計的性能,。
  采用合適的工藝開始定制
  工藝特性以不同的方式影響FPGA的不同結(jié)構(gòu),。相似地,不同的應(yīng)用對這些 FPGA結(jié)構(gòu)有不同的要求,。結(jié)果,,在一定時期內(nèi),沒有一種工藝技術(shù)能夠為多種應(yīng)用提供最合適的平臺,。計劃,、成本和性能要求促使FPGA中的某些結(jié)構(gòu)采用混合定制方法來實現(xiàn),以滿足FPGA設(shè)計對多種工藝選擇的要求,。
  三個例子可以說明這一點,。首先,考慮一個單芯片電機控制 SoC(圖3),。芯片接收來自四個電機的連桿傳感器位置數(shù)據(jù),,都是較高的kHz速率,以較低的MHz速率驅(qū)動四個驅(qū)動電路板。它連接至中速DDR2 DRAM,,進行編碼和數(shù)據(jù)存儲,,連接至工業(yè)以太網(wǎng),將SoC連接至工廠車間控制網(wǎng)絡(luò),。
  單芯片多軸電機控制器

33.png

  圖3.單芯片多軸電機控制器結(jié)合了基于單元的DSP電路來計算FOC算法,,可編程邏輯對I/O信號進行編碼和解碼,CPU用于管理和功能安全算法,。
  芯片實際上支持兩項主要任務(wù),。第一項是在FPGA DSP模塊中進行計算的現(xiàn)場定位控制(FOC)算法,實際上是每一電機大量的矩陣算術(shù),??删幊碳軜?gòu)中的I/O電路以相對較低的速率和功耗,對位置數(shù)據(jù)進行解碼,,對信號進行編碼,,以便驅(qū)動電路板。第二項任務(wù)是功能安全封裝,,一組設(shè)計用于保護機器運行以及設(shè)備完整性的功能,,運行在SoC FPGA的嵌入式ARM Cortex-A9 CPU上。
  這一設(shè)計有兩個很大的難點,。第一,,客戶希望不斷提高能效和精度,降低噪聲,,這些都要求更大的帶寬,,更復(fù)雜的算法,進行FOC計算,。因此,,應(yīng)用程序要求使用硬核DSP模塊和RAM。第二,,成本問題,,這個問題更嚴重。
  對形勢進行分析,,這一應(yīng)用最關(guān)鍵的FPGA結(jié)構(gòu)是硬核IP模塊,、模塊RAM,以及隨著功能安全要求的提高,,還有CPU內(nèi)核,。這些模塊相應(yīng)地要求半導(dǎo)體工藝良好的標(biāo)準(zhǔn)單元庫,合適的SRAM以及盡可能低的價格?,F(xiàn)在,,Altera的Cyclone V SoC產(chǎn)品采用了TSMC的28低功耗(28LP)工藝,很好的結(jié)合了高性能硬核IP和存儲器,降低了成本,,可以及時供貨,。
  幫助駕駛員開車
  第二個例子是下一代汽車輔助駕駛系統(tǒng)(ADAS)設(shè)計,。這一SoC接收來自汽車雷達和幾個HD視頻攝像機的數(shù)據(jù),,使用圖像處理例程和人工智能(AI)算法算出車輛的位置,驅(qū)動兩個實時顯示屏,,向車輛控制模塊發(fā)送命令,,進行換擋、剎車和傳動系統(tǒng)控制,。大部分I/O數(shù)據(jù)流會通過一對冗余的10G以太網(wǎng)端口,。由于嚴格的推出計劃,必須在2013年年中開始系統(tǒng)體系結(jié)構(gòu)設(shè)計,。
  這一系統(tǒng)中的難點是進行大量的視頻和雷達信號處理,,識別目標(biāo),滿足分類和AI例程的計算需求,,以及大量的本地和外部寬帶存儲器的需求,。這些需求主要依靠可編程架構(gòu)來滿足,使用了DSP硬核IP,、模塊RAM和外部 DRAM,。由于計算負載是偶發(fā)的,車輛沒有移動或者慢速行駛時,,計算很少,,而計算強度基于環(huán)境的復(fù)雜度,因此,,需要很好地進行功耗管理,。這類FPGA需要金屬層距和晶體管性能優(yōu)于目前中端FPGA的工藝,以便滿足可編程架構(gòu)和硬核IP的性能目標(biāo),。但是,,設(shè)計最初并不需要FinFET那樣的速度和功耗。 Altera的20nm產(chǎn)品系列基于TSMC的20nm芯片系統(tǒng)(20SoC)平面工藝,,很好的同時實現(xiàn)了帶寬,、計算性能和可用性。
  最后,,讓我們進一步了解一下近期會怎樣,。新一代數(shù)據(jù)中心將不僅僅包括高密度服務(wù)器類CPU芯片簇,而且還有大容量的高速FPGA,。這些FPGA以及CPU和共享高速緩存將位于超高速本地網(wǎng)中,,用作虛擬的動態(tài)重新配置網(wǎng)絡(luò)數(shù)據(jù)包引擎和計算加速器。
  這類芯片要求很高的晶體管密度和金屬層距,提高芯片的容量和帶寬,,特別是,,考慮到服務(wù)器機架嚴格的散熱和功耗限制以及較高的占空比,這些都限制了動態(tài)功耗管理的效率,,因此,,功耗性能點超出了任何建議的平面晶體管的能力范圍。此外,,為能夠連接超高速數(shù)據(jù)網(wǎng)絡(luò),,以支持外部存儲器極大的帶寬,這些FPGA需要的集成模擬電路性能水平超出了目前針對FPGA所討論的電路性能,。這些應(yīng)用促使Altera選擇了Intel的14nm三柵極工藝,。
  結(jié)論
  本文介紹了三種場景,每一種都結(jié)合了硬核IP應(yīng)用,、可編程架構(gòu)應(yīng)用,、存儲器帶寬,以及I/O帶寬,,很好地滿足了不同半導(dǎo)體工藝的要求,。這一工藝實際上就是 Altera的定制方法:每一類應(yīng)用的FPGA性能、余量,、計劃和成本都能夠滿足系統(tǒng)要求,。最好的選擇給系統(tǒng)開發(fā)人員帶來了明顯的優(yōu)勢。

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