晶片变异性分析晶片变异性分析(

上传人:ldj****22 文档编号:35838144 上传时间:2018-03-21 格式:PDF 页数:6 大小:359.47KB
返回 下载 相关 举报
晶片变异性分析晶片变异性分析(_第1页
第1页 / 共6页
晶片变异性分析晶片变异性分析(_第2页
第2页 / 共6页
晶片变异性分析晶片变异性分析(_第3页
第3页 / 共6页
晶片变异性分析晶片变异性分析(_第4页
第4页 / 共6页
晶片变异性分析晶片变异性分析(_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《晶片变异性分析晶片变异性分析(》由会员分享,可在线阅读,更多相关《晶片变异性分析晶片变异性分析((6页珍藏版)》请在金锄头文库上搜索。

1、 1 晶片變異性晶片變異性晶片變異性晶片變異性分析分析分析分析(On-Chip Variation Analysis) 南港 IC 設計育成中心(Nankang IC Design Incubation Center) E-mail:stc_nkitri.org.tw 1. 前言前言前言前言 隨著製程的不斷演進,深次微米製程(Deep-Submicron Processes) 的導線隨之變細,造成導線的延遲比重增加,所以時序的問題已越顯重要 , 由於製程變異性 (On-Chip Variation,OCV)造成的晶片的時序分析不再如此的準確,基於這種考量,如何能夠在晶片設計流程當中就即時的考慮

2、OCV所造成的製程偏差將成為先進製程中的重要議題,本文將詳述 OCV 現象,以及如何利用時序分析工具考慮製程變異的時序偏差 , 得到準確的時序分析結果。 2. On-Chip Variation簡介簡介簡介簡介 一般 On-Chip Variation 是由於晶片在生產的期間所造成的製程偏差,隨著 VLSI製程的進步 , 將會造成此製造偏差越來越明顯,而將會導致在相同的製造環境下,產生出來的晶片卻存在著不同的誤差 , 所以在先進製程中(通常指的是 90 奈米以下的製程) ,設計者必須要將此誤差一起考慮在設計流程裡 , 一般我們稱為此誤差為晶片變異量(On-Chip Variation) ,且隨

3、著製程的演進,此變異量的波動將會越來越顯著,以下將說明幾種製程偏差所造成的影響。 晶片在生產過程中 , 需要經過化學機械拋光(Chemical Mechanical Planarization,CMP) ,CMP 主要是在晶片完成後,將晶片上突出的積層加以去除,如圖 1 為有無平坦化的差異。 圖 1 Chemical Mechanical Planarization 由於晶片的密度不同 , 以及研磨的速度快 慢 , 將 會 導 致 金 屬 與 絕 緣 層 厚 度(Thickness)產生變動,如圖 2 所示,進一步的將會影響到電阻值與電容值的不同,而改善的方法可以利用填充 Dummy 2 Me

4、tal 的方式使得晶片密度可以均勻一點。圖 2 Thickness Variation Source: Ref.5 另外,由於光學微影技術(Optical Lithography)所能製作的最小線寬與光波長成正比,所以如果要得到更小的線寬,則必須採用波長更短的光源來完成微影技術;當光罩(Mask)中線寬尓寸逼近曝光時所用之光波波長時,光線透過光罩後產生的繞射現象將會更嚴重,因此當製程技術進步至奈米階段甚至更先進的製程,即線寬極小時,繞射現象將隨著線寬變小而愈為嚴重,而繞射光疊加的結果會導致實際呈像與光罩上所設計的圖像間有很大的不同,如圖 3 所示,即產生嚴重的失真,而這個失真也會造成時序分析上

5、的不同。 圖 3 Lithography Process Source: Ref.5 隨著製程的演進,晶片面積不斷縮小,且晶片上的導線寬度不斷的變細 , 使得導線上的寄生效應不斷的增加,由於製程的變動,會導致此寄生效應相對的變異,如圖 4所示,可以發現導線越細,則寄生電阻值將會與理論值差距越大 , 所以此變化量將日漸顯著 , 由於此效應的變動將會造成時序的不穩定 , 假設我們不能有效的掌握這個寄生效應的變化量,將會影響到 Gate 的啟鄆時間,造成電路的功能故障或時序紊亂。 圖 4 金屬導線變異性 Source: Ref.1 除了製程上的影響外 , 晶片的工作溫度也會對效率造成影響 , 因為晶

6、片在運作時會產生熱,如果散熱做的不好的話,將會造成晶體與導線的效率變差 , 進而影響到晶片的運作情形。 在 先 進 製 程 ( Deep-Submicron Processes)中,導線所造成的 Delay 將會主宰著整體晶片的效能 , 由於導線的寬度與長度將會直接的影響 RC Extraction 的結果,如果相同的導線在不同的晶片區域皆有不同的參數的話 , 則時序分析的準確度將會下降,所以設計者必須要考慮 OCV 效應,就可以較準確的 Modeling 內部連接導線的變化。 由於上述之製程變異性的影響 , 假設有整串 Buffer 都放在晶片的同一排 Row上,而且每一個 Buffer 的

7、架構都相同,但是彼此卻有不同的特性(通常指的是Delay) ,如圖 5 所示每個 Buffer 的 A,而這樣的特性將不利於整個分析流程。 圖 5 Delay Variation Source: Ref.7 由於在晶片上會發生 OCV 的現象,將會導致時序分析變的不那麼可靠,如果OCV 的情形嚴重的話,通常在 90nm 以下3 的製程 , 我們必須要謹慎的考慮此效應帶來的影響,以下將舉幾個例子來說明 OCV 可能會帶來的影響: ? Setup Problem 當我們在計算 Flip Flops 的 Arrival Time 時(A 點) ,如圖 6 所示,一般只有考慮Clock Driver的

8、Loading以及Clock Net的 Parasitics,而當我們在做 Worst-Case 的Timing Analysis 時,OCV 的影響並沒有一起被考慮進去;因為沒有考慮 OCV 效應,如果 Clock Path 的 Clock Driver(Clk_1_2)與 Data Path 的 Clock Driver(Clk_1_1)這兩顆 Cell 在晶片上的距離很遠時,這裡就會發生一個潛在的製造性問題 , 將有可能造成 Clock Path 的 Clock Driver(Clk_1_2)比Data Path 的 Clock Driver(Clk_1_1)還早一點到的狀況,而這種情形

9、 STA Tool 將不會告訴設計者有這個問題。 圖 6 Setup Time Example Source: Ref.4 ? Hold Problem 如圖 7 所示,在兩個 Flip Flops 中有一條很短的邏輯路徑,與上一個例子一樣,我們在做 Best-Case 的 Timing Analysis 時,只有考慮 Loading 與 Parasitics,而 OCV 沒有被考慮進去, 相同的一樣有可能會發生Hold Time Violation 的情形。 圖 7 Hold Time Example Source: Ref.4 3. How to Model On-Chip Variati

10、on in PrimeTime 為了能夠準確掌握 OCV 的變化,每一條 Timing Arc 都必須要有最大跟最小的Delay 值,而這些不同的 Delay 必須要根據不同的製程而有所變動 , 所以我們可以利用PrimeTime 來做 OCV 分析,而 PrimeTime提供 Advanced On-Chip Variation Modeling(AOCVM)來完成分析流程,以下將分別一一介紹每個指令的解釋以及用法。 圖 8 為 PrimeTime 的 AOCVM 流程,與傳統流程相比 , AOCVM 需要額外設定降額因子(Derate Factor)使得整體的時序分析流程更加的準確。 圖

11、8 Advanced OCV Flow Source: Ref.6 ? set_timing_derate 利用 set_timing_derate 這個指令,可以將不同種類之 Timing Path 的 Delay 來做個別的調整,並且可以指定的 Path 種類包含cell_check、net_delay 與 cell_delay 等等,且 early 與 late 不可以同時指定,如以下: 如以上的指令 , 我們可以看到指令需要指定這個 Derate_Factor 要套用到最短(early)或是最長(late)的 Path 上,兩者4 不能同時指定,加上 Derate Factor 後的D

12、elay 如下式: 所 以 我 們 必 須 要 根 據 ASIC 或 是Library Vendor 所提供的參數來設定,當我們 設 定 好 這 個 調 整 因 子 後 , 執 行report_timing 時就會根據這個因子來做時序報告。 ? set_aocvm_component 此指令可以讓使用者自行定義製程的變化參數,如果只有單單設定 Derate Factor的話,則降額因子(Derate Factor)將會套用到所有的時序路徑上 , 將會造成多餘的效能損失 , 而這些損失包含了降低效能及較長的設計週期,所以配合該指令的使用,將會使得時序分析更加的準確 , 定義的方式分為兩種:Ran

13、dom AOCVM Component 以及Systematic AOCVM Component。 Random AOCVM Component 是根據Path Depth 來定義變化量,而 Systematic AOCVM Component 是根據 Path Distance來定義,而這條指令就會合併前面所述之Derate Factor 配合來做 OCV 的時序分析。 如果 Random 或是 Systematic AOCVM沒有明確的指定 Depth 或是 Distance 的話,PrimeTime 將會以線性內插的方式算出來需要的 Depth 或是 Distance。 Path Dep

14、th 就是根據邏輯閘的級數,如圖 9 所示,原來的 Buffer 的 Delay 是 20,加入 Path Depth 的分析後,就會根據 Buffer的級數來調整不同的 Delay。 圖 9 Path Depth Source: Ref.6 Path Distance 就是根據邏輯的對角線距離,如圖 10 所示,由圖中可以發現,Net 跟 Cell的計算終點是有所不同的。 圖 10 Path Distance Source: Ref.6 ? set_aocvm_coefficient 般PrimeTime在進行Path Depth的運算時,每個 Cell 的單位個數是以一個單位來計算,可是當

15、我們必須考慮推力較強的Cell 時,該 Cell 的構成電晶體勢必會較多,所以我們可以定義較大顆的 Cell 所佔的Depth Weight 會較大,如圖 11 所示。 5 圖 11 Cell Coefficient Source: Ref.6 ? read_parasitics 使用者必須要利用 read_parasitics 指令將電路的寄生檔案(SPEF、DSPF、)讀進來,並且將 read_parasitics_load_location設成 true,PrimeTime 就能夠更加的準確知道每一個 Net、Pin 或是 Port 的位置,使得時序分析更準確。 ? report_aoc

16、vm and remove_aocvm 藉由這兩個個指令使用者可以查詢設定的參數以及重設所有參數,如下圖 ? read_aocvm 除了上述之介紹以外,PrimeTime 也可以利用 read_aocvm 的指令讀入 OCV Derate Factor Table,就不用一一輸入各個 Factor,當使用者用這個方式的時候,PrimeTime 將會忽略 set_aocvm_component 的設定,以下是表格的形式: 圖 12 Derate Factor Table 當以上的設定都完成後,就可以利用report_timing -aocvm 指令觀察電路的時序報告,如果沒有加 aocvm,則 PrimeTime 將只會使用固定 Derate Factor 來完成時序報告中。 4. 結論結論結論結論 藉由 OCV 分析使用者可以得到更加準確的時序分析,並且在晶片設計階段就可以掌握 OCV 的變化,避免晶片出現電路錯誤的情形,並且可以更加充分的減少多餘的(Design

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号