2017/5/8

(­四)淺談晶片實體設計-風險決策(Decision Making)


看晶片實體設計的風險決策, 恰如金庸於小說笑傲江湖中描繪的「葵花寶典」之感, 亦有元朝關漢卿雜劇: 「有心栽花花不開,無心插柳柳成蔭」之實! 我們應該花心思研究「無心插柳」的成功案例, 使之成為「系統化方法」的可能.


買保險(可能性效應)
展望理論」告訴我們, 當人們在所有的選擇都是壞的時候(有很高機率會輸時), 會更願意去冒險. 「損失(負向預期)」帶來的感覺大於「得(正向預期), /負向預期具不對稱性. 對失的反應強過對得的反應, 就是「損失規避」. 即幾乎不可能的結果常常會被高估(保險公司賺錢的心裡遊戲), 而幾乎確定的結果反而被嚴重的低估(人們願意付比「期望值」高很多的錢去買保險). 這是真的, 劉文聰: 「我不甲意輸的感覺! 就陳述了同樣的心智歷程.



我們於晶片實體設計的過程常有所謂的「買保險」, 但請仔細想想, 我們到底在買到了甚麼? 買得了嗎? 買心安呢? 還是根本壞了大事?

如下圖, 基於一個常態分佈模型簡化對晶片效能與良率的評估. Foundry總是告訴我們, 由於製程變異性(process variation), 晶片後矽的實際效能會有這麼大分佈的範圍. 因為「可能性效應」作祟, 我們常會把小風險高估, 甚至願意付比期望值高很多的「代價」去終止這個千分之三的「不確定性(meet target speed), 而將「說不定還有救」的最後一點希望之可能性放得很大(去賭).




決策加權
當一件非常不可能的事(千分之三)變成我們注意力中心時, 我們給它的「加權」會遠大於它在機率上該得的權重. 因為擔心的程度會超越威脅應有的機率, 想去除這個憂慮, 則必須要將風險的機率降到零心裏才能安心.

同樣的心智歷程也發生在思考RMA(Return Merchandise Authorization)的議題, 從前我們寧可「錯殺無辜(Over Kill)」也不願放掉任何導致退貨的可能性, 這是「事後諸葛: 少錯為先」的DFT(Design for Test)方法框架. 然而反映在晶片實體設計現實中, 恰如同康納曼所說的: 「對於罕見機率來說, 我們的心智不是去設計把事情做對的!. 沒有仔細研究在異常的「加權」之後, Majority是否真的如此有把握? (後面討論)



當然, 在晶片實體設計方法的演進過程中也有一些精進, 例如把原本含糊攏統搞在一起的PVT效應各別拆開來了, 並假設只有P(process)有「抵銷效應(cancellation effect)(如之前提到的AOCV方法), 因為只有當變異性為隨機的前提下, timing path整體的變異性綜效才會隨著級數增加而收斂. (好比一張紙上分佈了均勻的加號與減號, 以筆任意畫一條直線, 其通過加號與減號的機率會隨著線的長度增加而彼此相互抵銷) 很顯然, 以前沿用了幾十年的方法總算被修正了! 因為只有process能假設是random, 但事實上還是看得到PDN品質與光罩/製程等綜效的不random, 故不完全有cancellation effect(暫不討論). 此外, 把原本variation加諸於兩極端的single-side derating變成向內退縮再加上local variation效應的double-side derating, 都有做部份的檢討與改進. (但筆者認為這些都沒有真正踩中要害)

而今日我們應逐漸調整, 將目標放在「如何多賣?」的作法上. 這須要鋪設「事前諸葛: 提高競爭力」的DFC(Design for Competitiveness)思維框架, 也是筆者努力去讓它發生的. 千分之三的製程特例、動態電壓降效應、熱衰減、老化(Aging)等問題試著用偵測、監控系統(Machine-learning)與軟體搭配著去解, 而不是硬幹!


激進策略(Aggressive Strategy)? or 葵花寶典?
馮紐曼和摩根斯在七十多年前就已有洞見/證明: 「凡是不能完全依照機率來分配不確定結果的加權, 將會導致不一致性和其他災難」. 這個付出的代價就是競爭力(Competitiveness)的損失, 而實際收到效用很可能也得不償失, 並且陷入一個負向循環的災難開始. 以為花極大的代價把兩個極端的點(約千分之三的機率)顧好了就可以涵蓋未來的全貌? 對於真正能獲益的大宗反而極不敏感!

我們應該探討一些成功案例, 如計畫性的「放棄」賭那不可控的千分之三並且真正花心思守住大宗(Majority)的方法, 有些策略甚至是刻意的降規, 但筆者也見過許多「無心插柳」的案例(體質優而利於施作各種市場操控). 整個事件於最後收割的結果來看, 彷彿真有如「葵花寶典: 欲練神功, 引刀自宮」般真實. 「放棄賭」的部份事實上可以贏回來(有時候超出預期), 而付出龐大代價想要終止的「不確定性」反而往往事與願違, 呼應了本文起頭的: 「有心栽花花不開,無心插柳柳成蔭」之說.






微笑曲線(Smile Curve)
劇本看似發展逐漸得合理, 但細部內容破綻百出. 災難是如何形成的呢? 我們一一來拆解.



上圖顯示一基本元件「逆溫現象(Temperature Inversion Phenomenon)」的分析, 可由任選一晶片設計中最常使用到的標準元件(standard cell), 並針對各個製程與環境參數以每隔約20C溫度跑SPICE模擬得到. 圖中, 我們說紅色曲線(條件在SSG低壓時)具有明顯的逆溫現象, 藍色曲線(條件在FFG高壓時)無逆溫現象, 而黑色曲線(條件在TT常壓時)逆溫現象不明顯. 這裡有一個我們須要注意的地方, 即快與慢的元件其效能對溫度的反應往往是對立的!

根據不同的製程, 逆溫的曲率會有所不同, 但等效於偏快的元件(如製程偏FFlow-Vt、短通道或施予額外的正偏壓)與等效於偏慢的元件(如製程偏SShigh-Vt、長通道或施予額外的負偏壓)的趨勢是可預測的, 即透過各種手段(包括voltage binning)使元件往慢的方向將使逆溫現象更顯著. 於此, 我們要注意的是當元件之逆溫現象處於較「隱晦」的狀態時(本例為TT常壓一般工作溫度), 微笑曲線(Smile Curve)的底部(元件速度最快時的操作環境)有較高的機率發生在一般工作溫度區間(25C~80C). 比如說, 當晶片演算法偵測出製程偏慢而施以額外補償電壓時, 即容易出現微笑曲線. 同理, 也很容易發生在低功耗電源管理介入製程偏快的晶片或執行低功耗的晶片評等(low voltage bin). 微笑曲線告訴我們, 逆溫現象在Majority(TT室溫~工作溫度)是嚴重被低估了, 傳統兩端的主控角(dominate corners)是無法安全地包覆「Hold-Time」的! (筆者: 一旦決定要做voltage compensationvoltage binning, 寧可笑著放棄6/1000的機率也不該含淚失去994/1000的大片江山啊!)

此外無論多先進的製程, 任一標準元件其操作於兩個傳統主控角(dominate corner)之間的差距(timing gap)約為七~八倍(此為device nature, 無法對抗), 即藍色曲線(條件在FFG高壓時)至紅色曲線(條件在SSG低壓時). 以高度競爭的手機晶片而言, 採用傳統主控角的設計方法因為要對抗如此巨大的晶片性能降解(performance degradation)鴻溝, 在一些關鍵區塊如CPU與許多timing path上勢必會套用較高速而耗電的基本元件(low-Vt、短通道、增壓或以後矽調控讓製程偏快等特性如上圖藍色曲線) . 這是一連串負向循環的開端, Leakage變得較不可控了, 增加的功耗預算(power budget)附帶的提高對PDN(Package)更強建佈局的需求而與實體布局與繞線規劃互相競爭資源. 為了近一步抑制功耗預算, 勢必將晶片時序較不關鍵的部份元件套上較低速但體質也相對較差(逆溫明顯且變異性較大)的基本元件(high-Vt、長通道、低壓或以後矽調控讓製程偏慢等特性如上圖紅色曲線). 這些逆溫現象異質體的集合(對立的效能與溫度敏感度), 無疑讓施做clock-tree與時序收斂等實體設計過程吃足了苦頭. 於後矽調控(post-silicon tuning)的操作, 這些異質體像一支意見分崩離析的傭兵彼此湊合在一起, 對其發號施令向前/, 結果其回饋的步伐完全不同調, 製程N/P摻雜的調節又往往有連動性, 無疑成為了施做晶片除錯(debugging)與效能評等(binning)人員的噩夢.


在微笑曲線的章節, 我們不難理解為何有些公司採取較大膽的策略, 反而實質收到更大的好處. 如下圖所示, 跟前面提到為了「極少數的可能性」而付出「陷入負向循環」的代價相比, 整個策略的心智歷程是反過來思考的. 所收割的甜美果實反映於前期的策略看來有如「葵花寶典」般真實, 其達到的功效實則是換來更均一的體質, 除了實體設計的施做變得更容易且有效率, 在最後決勝負的製程N/P摻雜的調節與後矽調控(post-silicon tuning)的操作都更可控制/預期.



對於無心插柳的玩家, 筆者想要提醒(不是每個製程都能複製幸運, 要找出原因): 當晶片一旦被偵測出製程偏向SS, 系統無論是採取動態調控(AVS)、靜態補償或效能評等(voltage binning)都須要增壓(例如, +50mV/+100mV)而非習知的WCL控制角(SSG/SSGNP, 0.9VDD, -40C)所能含蓋. 同理, 一旦偵測出製程偏向FF, 系統調控須要減壓而非習知控制角(FFG/FFGNP, 1.1VDD, -40C)可含蓋. 套用於動/靜態補償與晶片評等(binning), 上述這兩種操作於室溫~工作溫度有機會讓「逆溫現象」變得模稜兩可, 也使傳統習知的控制角(dominate corner)無法涵蓋. (即無論後矽製程偏向何方, 室溫~工作溫度在某些製程節點可能須被考慮, 須於前期規劃時跑SPICE模擬分析趨勢)


良率估算(Yield Assessment)



若以常態分佈來評估未來晶片效能(如前面的幾張圖), 非常容易落入過度樂觀估測良率的陷阱. 之前我們提過「資料視覺化(Data Visualization)」的重要性, 因此我們以一典型的晶片之Speed-Leakage建立的散佈(scatter)累積來看這「無心插柳」的現象. 而事實上它應該以三維來呈現, 我們至少要把SIDD量測的數據一起看. 如上圖, 典型的機率密度函數在Speed軸的投影接近常態分佈(normal-distribution), 但並不是(應該用skewed-normal來調整描述). 而另外一維Leakage, 它呈現的是類似指數型的常態分佈(log-normal-distribution). 

此外晶片於出貨前至少須經過速度與漏電流的篩選, 因此下圖中淺藍色區域才是我們要的. 若以常態分佈或是二維的橢圓PCM散佈圖來想事情, 都很容易被「輪廓」蒙蔽實際「機率密度」的重要性, 因為我們應該更關心藍色區域裡所圍起來的「體積」而非「面積」.


另外須要注意的是, 一般SPICE mode是通常挑著Speed-Leakage散佈下緣的樣本建立. Speed軸鎖定TT這部分通常是沒什麼大問題, 後矽製程配方通常都可以調整靶心. 然而Leakage軸不可控(跟目標速度與使用的元件庫類別相關, 且通常是複合的Vt與通道長度), 既使套用對數座標也非呈常態分佈, 如上圖由TT至所有可能散佈點的上緣(都是可能收到的晶片)就被轉嫁至晶片實體設計的功耗預算內(power budget), 即所謂的「Magic Factor.



市場策略(Marketing Strategy)
很多原因, 如上述基於不合理加權(過度專注在千分之三)而設的實體設計配方、不良的製程配方、不良的SPICE準確性等等, 都可能使實際晶片Speed-Leakage的散佈比預期(基於假設SPICE是命中靶心的準確)來的大. 如下圖, 事實上若SPICE model與「設計餘量(design margin)」能與後矽保有一定的相關性(correlation), 大多都可經由「途徑A: 製程調控(process tuning)」而不至於有太大的災難.

一般的市場策略是為了達到良率的最大化而設計, 因此我們仍須搭配「途徑B: 電壓調控(voltage tuning). 例如, 一旦偵測出晶片製程偏快, 於動態的調節方法我們提供負偏壓以減少功耗同時保持目標效能, 或施予較低的封裝電壓於晶片評等(Voltage Bin)之靜態調節方法. 然而若基於市場掠奪的策略, 或產品屬於長期而穩定的類型, 若能定義/找到幾種較低價的的消費族群來之撐大部份成本, 則我們相當有機會定義出遠遠超出所有現行市場規格的產品(Speed/Price Bin).



下面這張圖解釋了為何有「葵花寶典」或 「有心栽花花不開, 無心插柳柳成蔭」之實? 也回應之前: 「鹿死誰手未定論」之說. 以往許多經驗告訴我們, 既使我們對千分之三施加了許多額外關注, 然而往往總是付出Leakage不可控的代價, 或是總是得到一些意料之外的驚喜(surprise loss). 如上一張圖所示, Speed/IDD整坨分佈(scatter)與額外施加電壓的特性會沿著藍色虛線箭頭走, 即加壓會使整坨分佈向右移並且立的較為陡峭. 因此當我們施予電壓補償(無論動/靜態或施予晶片效能評等), 我們救了第一象限的樣本很可能導致讓另外一些樣本落入第三象限(不符一些靜態測試的條件). 我們被只看速度軸且基於常態分佈的假設給蒙蔽了, 因為我們實際想要得到的是下圖中第二象限區域的樣本.




框架效應
哥白尼如何動搖歐洲中世紀宗教神學的理論基礎而提倡「日心說」? 我們身處於太陽系內, 如何得知太陽系之樣貌? 關鍵是「Scope, 我們必須跳脫套牢自己的框!

往往工程師各施其職, 不一定了解集合各部門合作的綜效與更廣義/深遠的目的, 所以可能會用到「窄框」. 例如: RO會增加設計與測試成本!」、「這些額外硬體偵測電路可以不放嗎?」、「測試是為了節省成本的!」、「這些對量產無關的測試資料要求反而增加了不少成本?」等等.

然而唯有當我們放大框架才會做出比較多的理性決策, 你必須先當傳教師: 「我們必須藉由增加部份工程樣本階段的成本以換取更宏觀的產能提升與產品競爭力, 要看更宏觀的成本」, 用到的則是「廣框」.