如何選擇滿足FPGA設(shè)計(jì)需求的工藝?
FPGA在系統(tǒng)中表現(xiàn)出的特性是由芯片制造的半導(dǎo)體工藝決定的,當(dāng)然它們之間的關(guān)系比較復(fù)雜。過去,在每一節(jié)點(diǎn)會改進(jìn)工藝的各個方面,每一新器件的最佳工藝選擇是尺寸最小的最新工藝。現(xiàn)在,情況已不再如此。
本文引用地址:http://www.biyoush.com/article/189583.htm取而代之的是,當(dāng)今的可編程邏輯供應(yīng)商必須研究各種工藝選擇,才能滿足采用FPGA的設(shè)計(jì)的各類需求。本文將介紹三類工藝特性,它們與現(xiàn)代FPGA內(nèi)部結(jié)構(gòu)的聯(lián)系,以及FPGA對采用了這些工藝的系統(tǒng)的影響。其中將特別介紹圍繞名為FinFET的晶體管加速應(yīng)用的革命性變革,Altera怎樣采用獨(dú)特的FinFET工藝,特別是Intel 的14nm三柵極工藝進(jìn)一步提高FPGA密度、性能和功效,而這是平面FET技術(shù)發(fā)展根本無法實(shí)現(xiàn)的。
工藝特性
對于IC設(shè)計(jì)人員,有三類由工藝決定的特性,這些特性一起體現(xiàn)了工藝。它們是特征層距、晶體管行為和可用性。
層距是指成品IC類似特性之間的最小間隔,有助于確定管芯尺寸和容量,還能夠間接地決定電路速率和功耗。管芯的每一特征層——晶體管、本地互聯(lián)、接觸,以及連續(xù)的上面金屬層,都有自己的層距。由工藝工程師根據(jù)光刻極限和其他工藝約束、成本以及工藝設(shè)計(jì)人員認(rèn)為客戶會怎樣使用工藝來選擇這些不同層的間距。這些層距相互作用,決定了某一類電路中晶體管的實(shí)際密度。
讓我們從底層開始。在某一電路中封裝多少晶體管大致取決于兩個問題:晶體管能夠靠得多近,互聯(lián)之間有多大的間距才能滿足它們的連接要求。兩者都會帶來限制,這取決于電路設(shè)計(jì)和布局。當(dāng)然,晶體管能夠封裝的距離有多近取決于其大小和形狀。
從本地互聯(lián)、接觸層往上,越到上面的金屬層堆疊(圖1),層距就越會急劇增大。一般而言,本地互聯(lián)和下面金屬層連接附近的晶體管,決定了標(biāo)準(zhǔn)單元或者 SRAM等仔細(xì)封裝的結(jié)構(gòu)的密度。上面的金屬層連接電路,最終將功能模塊連接起來,實(shí)現(xiàn)總線連線,分配電源和時鐘連接。上層的數(shù)量和層距對于芯片設(shè)計(jì)人員而言也非常重要,這是因?yàn)樗鼈儧Q定了芯片不同部分之間連接的帶寬和功耗。
圖1.堆疊越高,金屬層距越大,如這一傳統(tǒng)的Altera CPLD所示。
晶體管特性
最簡單的情況是,數(shù)字設(shè)計(jì)人員對于其晶體管只關(guān)心三方面:它們有多大、晶體管開關(guān)能有多快、它們的功耗有多大。多年來,這三方面互相協(xié)調(diào)發(fā)展的非常好:每一新工藝節(jié)點(diǎn)的晶體管尺寸都在減小,開關(guān)更快,功耗更低。
但在最近的工藝代,隨著晶體管尺寸的減小,功耗分成了兩個不同的部分:由開關(guān)活動造成的動態(tài)功耗,以及晶體管無法關(guān)斷的電流所消耗的泄漏功耗。速度和動態(tài)功耗一直是相關(guān)的,在每一新工藝節(jié)點(diǎn),速度逐漸提高,開關(guān)功耗慢慢下降,而靜態(tài)功耗在每一新節(jié)點(diǎn)都在增大。現(xiàn)在,如果希望晶體管非常快地進(jìn)行開關(guān),那么,它會泄漏。如果希望降低泄漏電流,晶體管的速度就會變慢。相應(yīng)地在芯片級,某些28nm SoC,一半的功耗都是靜態(tài)泄漏功耗。
工藝和電路設(shè)計(jì)人員對此進(jìn)行了反擊。工藝工程師為芯片設(shè)計(jì)人員提供了具有不同速度和泄漏電流的各類晶體管。電路設(shè)計(jì)人員仔細(xì)地選擇了晶體管,考慮了它們的關(guān)斷時鐘能力和供電電壓,以便有效的管理功耗。這些創(chuàng)新使得設(shè)計(jì)人員能夠開發(fā)基于單元的數(shù)字模塊,同時具有較好的峰值性能和較低的泄漏。
但是,平面FET的問題卻越來越嚴(yán)重。在以后的工藝代中,越來越難以進(jìn)一步降低平面FET的工作電壓。今天,很多工藝工程師同意,在20nm節(jié)點(diǎn)以后,再也不可能降低平面FET的延時功耗:電路設(shè)計(jì)人員圍繞這一指標(biāo)來綜合考慮速度和功耗。雖然已經(jīng)盡最大努力來延長傳統(tǒng)平面FET的生命周期,但是,它還是在逐漸淡出。
今天,很多工藝設(shè)計(jì)人員相信,未來屬于一類新晶體管:FinFET,即 Intel把他們的這類器件稱之為三柵極晶體管。實(shí)際上,晶體管是豎立在其側(cè)面的,在其他三個裸露側(cè)封裝柵極,F(xiàn)inFET的柵極能夠更好地控制通過溝道的電流,與同樣大小的平面FET相比,在速度一定時,顯著降低了泄漏(技術(shù)上,更低的閾值電壓)。更低的泄漏使得設(shè)計(jì)人員能夠以較低的電壓實(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ī)劃、測試芯片、實(shí)例,以及代工線產(chǎn)品等必須要滿足系統(tǒng)設(shè)計(jì)人員的開發(fā)計(jì)劃要求。必須盡早為FPGA設(shè)計(jì)人員提供工藝模型,以便他們估算芯片能夠?qū)崿F(xiàn)多高的性能,在系統(tǒng)設(shè)計(jì)流程早期將這一信息傳遞給系統(tǒng)規(guī)劃人員。必須為硬件原型開發(fā)提供實(shí)例和開發(fā)套件,以便開始硬件和軟件集成。當(dāng)然,進(jìn)行系統(tǒng)投產(chǎn)時,應(yīng)能夠批量提供 FPGA。
“可用性”是回答上面討論的問題的答案——為什么不采用FinFET來開發(fā)所有的東西?但還有另外一種回答。在目前的很多應(yīng)用中,現(xiàn)有的28nm或新出現(xiàn)的20nm平面FET工藝能夠滿足系統(tǒng)設(shè)計(jì)的特殊需求。這些系統(tǒng)設(shè)計(jì)不需要等待FinFET工藝。為了解這是怎樣工作的,我們需要查看現(xiàn)代FPGA中的每一類結(jié)構(gòu)。
FPGA內(nèi)部
半導(dǎo)體工藝的技術(shù)特征表現(xiàn)在系統(tǒng)行為上,就是影響FPGA內(nèi)部的很多不同結(jié)構(gòu)。在以前的工藝代中,認(rèn)為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è)計(jì)的模塊RAM,以及定制模擬IP(圖2)。這些都會對新工藝特性有不同的影響。
圖2.現(xiàn)代FPGA混合了可編程邏輯、基于單元的IP以及模擬模塊,如這一Altera Stratix V圖所示。
評論