<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 看不懂芯片后端報告怎么做個(gè)合格的前端設計工程師

看不懂芯片后端報告怎么做個(gè)合格的前端設計工程師

作者: 時(shí)間:2019-02-13 來(lái)源:EETOP 收藏

  首先,我要強調,我不是做后端的,但是工作中經(jīng)常遇到和做市場(chǎng)和同事討論PPA。這時(shí),后端會(huì )拿出這樣一個(gè)表格:

本文引用地址:http://dyxdggzs.com/article/201902/397508.htm

  下圖是一個(gè)A53的后端實(shí)現結果,節點(diǎn)是TSMC16FFLL+,我們就此來(lái)解讀下。

  首先,我們需要知道,作為一個(gè)有理想的手機公司,可以選擇的工廠(chǎng)并不多,臺積電(TSMC),聯(lián)電(UMC),三星,Global Foundries(GF),中芯(SMIC)也勉強算一個(gè)。還有,今年開(kāi)始Intel工廠(chǎng)(ICF)也會(huì )開(kāi)放給ARM處理器。事實(shí)上有人已經(jīng)開(kāi)始做了,只不過(guò)用的不是第三方的物理庫。通常新工藝會(huì )選TSMC,然后要降成本的時(shí)候會(huì )去UMC。GF一直比較另類(lèi),保險起見(jiàn)不敢選,而三星不太理別人所以也沒(méi)人理他。至于SMIC,嘿嘿,那需要有很高的理想才能選。

  

  16nm的含義我就不具體說(shuō)了,網(wǎng)上很多解釋。而TSMC的16nm又分為很多小節點(diǎn),FFLL+,FFC等。他們之間的最高頻率,漏電,成本等會(huì )有一些區別,適合不同的,比如手機芯片喜歡漏電低,成本低的,服務(wù)器喜歡頻率高的,不一而足。

  接下來(lái)看表格第一排,Configuration。這個(gè)最容易理解,使用了四核A53,一級數據緩存32KB,二級1MB,打開(kāi)了ECC和加解密引擎。這幾個(gè)選項會(huì )對面積產(chǎn)生較大影響,對頻率和功耗也有較小影響。

  接下來(lái)是Performance target,目標頻率。后端工程師把頻率稱(chēng)作Performance,在做后端實(shí)現時(shí),必須在頻率,功耗,面積(PPA)里選定一個(gè)主參數來(lái)作為主要優(yōu)化目標。這個(gè)表格是專(zhuān)門(mén)為高性能A53做的,頻率越高,面積和漏電就會(huì )越大,這是沒(méi)法避免的。稍后我再貼個(gè)低功耗小面積的報告做對比。

  下面是Current Performance,也就是現在實(shí)現了的頻率。里面的TT/0.9V/85C是什么意思?我們知道,在一個(gè)晶圓(Wafer)上,不可能每點(diǎn)的電子漂移速度都是一樣的,而電壓,溫度不同,它們的特性也會(huì )不同,我們把它們分類(lèi),就有了PVT(Process,Voltage, Temperature),分別對應于TT/0.9V/85C。而Process又有很多Conner,類(lèi)似正態(tài)分布,TT只是其中之一,按照電子漂移速度還可以有SS,S,TT,F,FF等等。通常后端結果需要一個(gè)Signoff條件(我們這通常是SSG),按照這個(gè)條件出去流片,作為篩選門(mén)檻,之下的芯片就會(huì )不合格,跑不到所需的頻率。所以條件設的越低,良率(Yield)就會(huì )越高。但是條件也不能設的太低,不然后端很難做,或者干脆方程無(wú)解,跑不出結果。X86上有個(gè)詞叫體質(zhì),就是這個(gè)PVT。

  這一欄有四個(gè)頻率,上下兩組容易區分,就是不同的電壓。在頻率確定時(shí),動(dòng)態(tài)功耗是電壓的2次方,這個(gè)大家都知道。而左右兩組數字的區別就是Corner了,分別為T(mén)T和SSG。

  下一行是Optimization PVT。大家都知道后端EDA工具其實(shí)就是解方程,需要給他一個(gè)優(yōu)化目標,它會(huì )自動(dòng)找出最優(yōu)局部解。而1.0V和0.9V中必須選一個(gè)值,作為最常用的頻率,功耗和面積的甜點(diǎn)(Sweet Spot)。這里是選了1.0V,它的SSG和目標要求更接近,那些達不到的Corner可以作為降頻賤賣(mài)。

  再下一行是漏電Leakage,就是靜態(tài)功耗。CPU停在那啥都不跑也會(huì )有這個(gè)功耗,它包含了四個(gè)CPU中的邏輯和一級緩存的漏電。但是A53本身是不包含二級緩存的,其他的一些小邏輯,比如SCU(Snooping Control Unit)也在CPU核之外,這些被稱(chēng)作Non-CPU,包含在MP4中。我們待機的時(shí)候就是看的它,可以通過(guò)power gating關(guān)掉二三級緩存,但是通常來(lái)說(shuō),不會(huì )全關(guān),或者沒(méi)法關(guān)。

  下面是Dynamic Power,動(dòng)態(tài)功耗?;旧衔乙?jiàn)過(guò)的CPU在測量動(dòng)態(tài)功耗的時(shí)候,都是跑的Dhrystone。Dhrystone是個(gè)非常古老的跑分程序,基本上就是在做字符串拷貝,非常容易被軟件,編譯器和硬件優(yōu)化,作為性能指標基本上只有MCU在看了。但是它有個(gè)好處,就是程序很小,數據量也少,可以只運行在一級緩存(如果有的話(huà)),這樣二級緩存和它之后的電路全都只有漏電。雖然訪(fǎng)問(wèn)二級三級緩存甚至DDR會(huì )比訪(fǎng)問(wèn)一級緩存耗費更多的能量,但是它們的延遲也大,此時(shí)CPU流水線(xiàn)很可能陷入停頓。這樣的后果就是Dhrystone能最大程度的消耗CPU核心邏輯的功耗,比訪(fǎng)問(wèn)二級以上緩存的程序都要高。所以通常都拿Dhrystone來(lái)作為CPU最大功耗指標。實(shí)際上,是可以寫(xiě)出比Dhrystone更耗電的程序的,稱(chēng)作Max Power Vector,做SoC功耗估算的時(shí)候會(huì )用上。

  動(dòng)態(tài)功耗和電壓強相關(guān)。公式里面本身就是2次方,然后頻率變化也和電壓相關(guān),在跨電壓的時(shí)候就是三次方的關(guān)系了。所以別看1.0V只比0.72V高了39%,最終動(dòng)態(tài)功耗可能是3倍。而頻率高的時(shí)候,動(dòng)態(tài)功耗占了絕大部分,所以電壓不可小覷。

  此外,動(dòng)態(tài)功耗和溫度相關(guān),SoC運行的時(shí)候不可能溫度維持在0度,所以功耗通常會(huì )拿85度或者更高來(lái)計算,這個(gè)就不多說(shuō)了。

  下一行是Area,面積。面積是芯片公司的立足之本,和毛利率直接相關(guān)。所以在性能符合的情況下,越小越好,甚至可以犧牲功耗,不惜推高電壓,所以有了OD(Over Drive)。有個(gè)數據,當前28nm上,每個(gè)平方毫米差不多是10美分的成本,一個(gè)超低端的手機芯片怎么也得30mm(200塊錢(qián)那種手機用的,可能你都沒(méi)見(jiàn)過(guò),還是智能機),芯片面積成本就是3刀,這還不算封測,儲存和運輸。低端的也得是40mm(300塊的手機)。我們常見(jiàn)的600-700塊錢(qián)的手機,其中六分之一成本是手機芯片。當然,反過(guò)來(lái),也有人不缺錢(qián)的,比如蘋(píng)果,據說(shuō)A10在16nm上做到了125mm,換算成這里的A53MP4,單看面積不考慮功耗,足足可以放120個(gè)A53,極其奢侈,這可是跑在2.8G的A53,如果是1.5G的,150個(gè)都可能做到。

  那蘋(píng)果這么大的面積到底是做什么了?首先,像GPU,Video,Display,基帶,ISP這些模塊,都是可以輕易的拿面積換性能的,因為可以并行處理。而且,功耗也可以拿面積換,一個(gè)最簡(jiǎn)單的方法就是降頻,增加處理單元數。這樣漏電雖然增加,但是電壓下降,動(dòng)態(tài)功耗可以減少很多。一個(gè)例外就是CPU的單核性能,為什么蘋(píng)果可以做到Kirin960的1.8倍,散熱還能接受?和物理庫,后端,前端,軟件都有關(guān)系。

  首先,A10是6發(fā)射,同時(shí)代的A73只用了2發(fā)射。當然,由于受到了數據和指令相關(guān)性限制,性能不是三倍提升,而6發(fā)射的后果是面積和功耗非線(xiàn)性增加。作為一個(gè)比較,我看過(guò)ARM的6發(fā)射CPU模型,同工藝下,單核每赫茲性能是A73的1.8倍,動(dòng)態(tài)功耗估算超過(guò)2倍,面積也接近2倍。當然,它的微結構和A73是有挺大區別的。這個(gè)單核芯片跑在16nm,2.5Ghz,單核功耗差不多是1W。而手機芯片的功耗可以維持在2.5W不降頻,所以蘋(píng)果的2.3Ghz的A10算下來(lái)還是可行的。

  為了控制功耗,在做RTL的時(shí)候就需要插入額外晶體管,做Clock Gating,而且這還是分級的,RTL級,模塊級,系統級,信號時(shí)鐘上也有(我看到的SoC時(shí)鐘通常占了整個(gè)邏輯電路功耗的三分之一)。這樣一套搞下來(lái),面積起碼大1/3.然后就是Power Gating,也是分級的。最簡(jiǎn)單的是每塊緩存給一個(gè)開(kāi)關(guān),模塊也有一個(gè)開(kāi)關(guān)。復雜的根據不同指令,可以計算出哪些Cache bank短時(shí)間內不用,直接給它關(guān)了。Power Gating需要的延時(shí)會(huì )比Clock Gating大,有的時(shí)候如果操作很頻繁,Power Gating反而得不償失,這需要仔細的考量。而且,設計的越復雜,驗證也就越難寫(xiě),這里面需要做一個(gè)均衡。除了時(shí)鐘域,電源域,還有電壓域,可以根據不同頻率調電壓。當然了,域越多,布線(xiàn)越難,面積越大。

  再往上,可以定義出不同的power state,讓上層軟件也參與經(jīng)來(lái),形成電源管理和調度。我在這個(gè)回答里面寫(xiě)的更詳細一些:如何評價(jià) ARM 的 big.LITTLE 大小核切換技術(shù)?

  再回到蘋(píng)果A10,它還使用了6MB的緩存。這個(gè)在手機里面也算大的驚世駭俗。通常高端的A73加2MB,A53加1MB,已經(jīng)很高大上了,低端的加起來(lái)也不超過(guò)1MB。我拿SPECINT2K在A(yíng)53做過(guò)一些實(shí)驗,二級緩存從128KB增加到1MB只會(huì )增加15%不到的性能,到6MB那性能/面積收益更不是線(xiàn)性的,這是赤裸裸的面積換性能。而且蘋(píng)果宣揚的不是SPECINT,而是GeekBench4.0,我懷疑是不是這個(gè)跑分對緩存大小更敏感,有空可以做做實(shí)驗。順帶提一句,安兔兔5.0和緩存大小沒(méi)半毛錢(qián)關(guān)系,這讓廣大高端手機芯片公司情何以堪。到了6.0似乎改了,我還沒(méi)仔細研究過(guò)。至于使用了大面積緩存引起的漏電,倒是有辦法解決,那就是部分關(guān)閉緩存,用多少開(kāi)多少,是個(gè)精細活,需要軟硬件同時(shí)配合。

  影響面積的因素還沒(méi)完,上面只是前端,后端還有一堆考量呢。

  首先就是表格下一排,Metal Stack。芯片制造的時(shí)候是一層層蝕刻的,而蝕刻的時(shí)候需要一層層打碼,免得關(guān)鍵部分見(jiàn)光,簡(jiǎn)稱(chēng)Mask。這里的11m就表示有11層。晶體管本身是在最底層的,而走線(xiàn)就得從上面走,層數越多越容易,做板子布線(xiàn)的同學(xué)肯定一看就明白了。照理說(shuō)這就該多放幾層,但是工廠(chǎng)跟你算錢(qián)也是按照層數來(lái)的,越多越貴。層數少了不光走線(xiàn)難,總體面積的利用率也低,像A53,11層做到80%的利用率就挺好了。所以芯片上不是把每個(gè)小模塊面積求和就是總體面積,還得考慮布局布線(xiàn)(PR,Placing&Routing),考慮面積利用率。

  再看表格下兩排,Logic Architecture和Memory。這個(gè)也容易理解,就是邏輯和內存,數字電路的兩大模塊分類(lèi)。這個(gè)內存是片上靜態(tài)內存,不是外面的DDR。uLVT是什么意思呢,Ultra Low Voltage Threshold,指的是標準邏輯單元(Standard Cell)用了超低電壓門(mén)限。電壓低對于動(dòng)態(tài)功耗當然是個(gè)好事,但是這個(gè)標準單元的漏電也很高,和頻率是對數關(guān)系,也就是說(shuō),漏電每增加10倍,最高頻率才增加log10%。后端可以給EDA工具設一個(gè)限制條件,比如只有不超過(guò)1%的需要沖頻率的關(guān)鍵路徑邏輯電路使用uLVT,其余都使用LVT,SVT或者HVT(電壓依次升高,漏電減小),來(lái)減小總體漏電。

  對于動(dòng)態(tài)功耗,后端還可以定制晶體管的源極和漏極的長(cháng)度,越窄的電流越大,漏電越高,相應的,最高頻率就可以沖的更高。所以我們有時(shí)候還能看到uLVT C16,LVT C24之類(lèi)的參數,這里的C就是指Channel Length。

  接下去就是Memory,又作Memory Instance,也有人把它稱(chēng)作FCI(Fast Cache Instance)。訪(fǎng)問(wèn)Memory有三個(gè)重要參數,read,write和setup。這三個(gè)參數可以是同樣的時(shí)間,也可以不一樣。對于一級緩存來(lái)說(shuō)基本用的是同樣的時(shí)間,并且是一個(gè)時(shí)鐘周期,而且這當中沒(méi)法流水化。從A73開(kāi)始,我看到后端的關(guān)鍵路徑都是卡在訪(fǎng)問(wèn)一級緩存上。也就是說(shuō),這段路徑能做多快,CPU就能跑到多快的頻率,而一級緩存的大小也決定了索引的大小,越大就越慢,頻率越低,所以ARM的高端CPU一級緩存都沒(méi)超過(guò)64KB,這和后端緊密相關(guān)。當然,一級緩存增大帶來(lái)的收益本身也會(huì )非線(xiàn)性減小。之后的二三級緩存,可以使用多周期訪(fǎng)問(wèn),也可以使用多bank交替訪(fǎng)問(wèn),大小也因此可以放到幾百KB/幾MB。

  邏輯和內存統稱(chēng)為Physical Library,物理庫,它是根據工廠(chǎng)給的每個(gè)工藝節點(diǎn)的物理開(kāi)發(fā)包(PDK)設計的,而Library是一個(gè)Fabless芯片公司能做到的最底層。能夠定制自己的成熟物理庫,是這家公司后端領(lǐng)先的標志之一。

  最后一行,Margin。這是指的工廠(chǎng)在生產(chǎn)過(guò)程中,肯定會(huì )產(chǎn)生偏差,而這行指標定義了偏差的范圍。如下圖:

  藍色表示我們剛才說(shuō)的一些Corner的分布,紅色表示生產(chǎn)偏差Variation。必須做一些測試芯片來(lái)矯正這些偏差。SB-OCV表示stage-based on-chip variation,和其他的幾個(gè)偏差加在一起,總共+-7%,也就是說(shuō)會(huì )有7%的芯片不在后端設計結束時(shí)確定的結果之內。

  后面還有一些setup UC之類(lèi)的,表示信號建立時(shí)間,保持時(shí)間的不確定性(Uncertainty),以及PLL的抖動(dòng)范圍。

  至此,一張報告解讀完畢,我們再看看對應的低功耗版實(shí)現版本:

  這里頻率降到1.5G左右,每Ghz動(dòng)態(tài)功耗少了10%,但是靜態(tài)降到了12.88mW,只有25%。我們可以看到,這里使用了LVT,沒(méi)有uLVT,這就是靜態(tài)能夠做低的原因之一。由于面積不是優(yōu)化目標,它基本沒(méi)變,這個(gè)也是可以理解的,因為Channel寬度沒(méi)變,邏輯的面積沒(méi)法變小。



關(guān)鍵詞: 芯片 前端設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>