先進工藝下時序Sign-off的革命性解決方案
2017-10-30 15:08:43 EETOP原標題:Silicon Accurate TimingSign-off at Advanced Technology Nodes
作者:董森華,華大九天產品總監,清華大學微電子所碩士畢業。 多年來專注于SoC數字后端優化方案研究,2004年起帶領團隊開始時鐘、時序、 功耗優化方案——ICExplorer的設計研發,并將其打造成為全球信賴的高端產品。
從16nm工藝開始,芯片設計需要考慮的問題越來越多,包括Physical物理效應和時序敏感性問題等,這些問題變得越來越復雜,使得我們在做Timing Sign-off時,不能簡單的再用STA(靜態時序分析)來做分析,實際上需要考慮方方面面的很多問題,這些問題疊加在一起,就導致了我們的時序分析和收斂變得越來越困難。
首先我們看到,在先進工藝節點下Timing Sign-off的數據量非常大。客戶經常需要幾十個甚至上百個scenario來做Timing Sign-off,這是非常困難的。而且在先進工藝節點下,芯片功能也越來越多、設計規模越來越大,要求100M instances做Sign-off,所以說這是個“海量大數據”。另外,做Timing Sign-off的時候,考慮到各種各樣的variation,需要加入大量的margin,但是如果每個步驟都要加margin,就會導致over-design,以至設計有時都做不下去了,芯片的PPA指標更是不能接受。
另外,在先進工藝節點下做sign-off需要考慮很多物理因素。以前要修正一個時序問題,找到一個空位插入buffer就可以了。但是在先進工藝節點下,尤其是像16nm以下就非常復雜。因為考慮到double-pattern等很多物理上的限制,不僅要找到可以放buffer的地方,還要保證放上去之后Routing能夠連出來,還不能引入新的DRC,所以整個Timing Sign-off的問題就非常復雜。
華大九天根據多年的研發和在先進工藝上的經驗積累,提出了幾個新的概念。以前做數字電路設計用STA做sign-off之后,這個設計基本就可以tape out了。但是在先進工藝節點下這個觀念要改變。STA Sign-off不等于芯片物理上的成功。為什么這么講呢?一方面是要修正timing問題,還要保證timing-sign-off之后由于timing造成的良率問題,要考慮很多variation的問題。如果不考慮這些,sign-off之后會造成芯片不工作或者良率不好。
傳統的STA算法很簡單,可以理解為類似用小學的“加減乘除”去解決問題。但是在先進工藝節點下就出現了一個特別嚴重的問題。要知道在先進工藝節點下variation特別大,但是variation并不是一個高斯分布,它不是互相獨立不相關的。如果這樣做一個簡單的加法,遇到非高斯分布,加起來就是錯的。所以說這是一個根本性的問題,用STA的加法去處理Variation,得到的結果是錯誤的,或者說不準確的。另外,在先進工藝節點下計算delay,loading是一個很重要的因素。但是我們知道在先進工藝,尤其是在低電壓的情況下,MOS的電容是一個非線性的狀態,如果用這樣一個電容來做延遲查表和計算,誤差會非常大。所以,在先進工藝下,尤其是做IoT芯片設計的時候,這個timing library的正確性、完整性會非常影響精度。使用STA算出來的時序值錯誤率會非常高。
下圖給出了用STA分析和Monte-Carlo仿真得到的結果對比。從design中提取出100條timingPaths,藍線是用STA分析的Timing數值(沒有加margin),紅線是用MonteCarlo仿真的方式對時序路徑做variation的分析結果。可以看到幾個問題:
1、用STA和MonteCarlo方法算出來的值誤差非常大;
2、如果對Timing path按仿真結果做排序,從第一條到最后一條是一個增加的趨勢,但是用STA的算法算出來的值幾乎是隨機的,兩者的一致性差很多。在這種情況下,如果用STA做timing sign-off,加margin就要非常非常悲觀了這就會導致Over-design,這是一個極難解決的事情。
現在的設計量產一定要做Sensitivity Analysis,分析芯片在不同工作電壓下的性能表現。下圖的例子是提取1000 條paths,做電壓掃描分析。可以看到在不同的電壓值下,這些路徑的時序表現是不一樣的,而且會有非線性的狀態。所以說雖然在某個電壓下做了sign-off,design在加壓或降壓之后,timing是否還能夠維持原來的狀態,是存疑的。
此外,在做設計的時候經常要做工藝的評估,這是先進工藝,特別是IoT設計必做的事。就是在先進工藝下,要選擇哪些單元來做design,能夠保證物理芯片的良率是好的、敏感度是符合設計要求的。從圖中可以看到在不同的開啟電壓條件下,device的頻率隨電壓的變化實際上也是呈現出一個完全不一樣的斜率。根據device電壓的變化靈敏度,可以指導我們在design時選擇哪些VT單元會比較好。
綜上所述,在先進工藝節點下,要保證設計成功,一方面需要一個比較好的時序收斂解決方案,能夠處理很大的數據量,上百個million instances,上百個scenario來做Timing Sign-off。另外,還要考慮芯片設計中各種復雜的因素,特別是variation和sensitive相關的因素,保證良率等各方面沒有問題。這對設計方法學是一個很大的挑戰。
目前SOC主要從characterized library做起,但在先進工藝節點下,SoC設計需要和更多的Foundry廠商進行更緊密的配合。同樣,對Foundry廠商來說,也需要把先進工藝轉給他的客戶去使用,需要和更多的設計公司協作,提供更可靠的timinglibrary和工藝條件。這對設計方法學也是一個挑戰。
ICE-XTime和ICE-XTop是華大九天最新的研發成果,為時序分析和收斂提供了最新的一站式解決方案。華大九天曾提出了世界上第一個支持physical-aware的時序解決方案,并幫助客戶成功tape-out了世界上第一顆16nm SoC芯片。這是華大九天在時序收斂方面十年積累的成果。
下面介紹華大九天針對這些問題的解決方案。ICE產品是華大九天在業界被大多數客戶一致認可的時序解決方案,這套平臺已經推出了將近9年的時間,很多客戶都在用。華大九天在今年上半年推出了這個系列的升級版ICE-XTime:主要功能是設計時序的大數據分析;和ICE-XTop: TimingExplorer的升級版,主要用于時序收斂。我們把這兩個軟件組成了一個系統解決方案,同時解決時序分析和優化的問題,可以支持上百個millioninstances,100+個scenario的design做timing sign-off;同時,對設計數據進行分析和挖掘,保障設計的良率和可靠性等。
一、ICE-XTime的主要功能和價值:
1、幫助Foundry廠商做工藝calibration以提高model和library的精度
2、電壓和溫度掃描,分析design的低電壓極限及工藝敏感度
3、利用快速Monte-Carlo仿真進行良率分析
4、 IR 信息反標,對Timing path進行更準確的sign-off
5、Timing calibration發現真正的critical path,消除假錯
6、 避免由于OCV引入的悲觀margin問題
綜上所述,ICE-XTime可以幫助客戶更準確的sign-off timing,同時找到真正的variation來源,并可以通過良率分析提高設計的質量。
二、ICE-XTop的主要功能和價值:
ICE-XTop是華大九天TimingExplorer的升級版,可以更好的處理大規模數據,支持100M instances以上的hierarchy設計,100個scenario同時sign-off,支持先進工藝的設計規則。
以下是客戶在實際項目中使用XTime和XTop的一些具體事例:這個case是16nm工藝的Mobile design,30多個Million Instances,用16個scenario去做Timing sign-off,客戶希望壓縮timing sign-off的時間并對design進行一些有效分析。在采用了華大九天提供的解決方案之后,Timing sign-off時間從原來的45天壓縮到了8天。并幫助客戶做了Timing Calibration、Voltage Sweep、Fast Monte Carlo等各項分析,大大提高了sign-off效率。
這是另一個客戶的case,用了21個scenario做Timing sign-off,通過數據能夠看到XTop在做Timing sign-off的收斂速度還是很快的。客戶還希望知道在Timing sign-off后通過加壓的方式是否能夠進一步提升頻率指標。以前,客戶都是通過實際的tape-out做芯片加減壓的驗證,時間比較長,并且結果無法更改;現在是采用XTime來做分析,精度跟實測的一致性保持的非常好,大大提高了效率,并在設計周期內即可了解芯片的敏感性,可以繼續提升芯片的設計質量和性能。
綜上所述,華大九天提供的解決方案可以在先進工藝,IoT等超低壓設計,提高Timing sign-off的效率和精度,并且可以對process進行各種分析,真正實現芯片設計的Silicon成功。