版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、建立soc全晶片si分析驗證流程並完成參考範例與報告一份(查核點b16)主辦單位:經濟部工業局執行單位:財團法人工業技術研究院中華民國98年11月30日目錄緣起1第一章 簡介2第二章 si(signal integrity)現象分析介紹4i.crosstalk4ii.ir drop5iii.electromigration6第三章 si prevention流程8i.analysis flow9ii.prevention methodology11第四章 實驗流程13i.case introduction13ii.environment setup16iii.experiment flow19
2、第五章 結論58cadence encounter run script59reference63圖目錄圖 1、ir drop3圖 2、aggressor and victim4圖 3、電子飄移7圖 4、因電子飄移而產生的堆積與斷裂7圖 5、預防、偵測及修復si問題的方法與流程8圖 6、si eco的流程9圖 7、耦合電容造成的串音效應10圖 8、減少串音效應的glitch與delay12圖 9、openrisc架構圖13圖 10、記憶體的架構之一14圖 11、記憶體的架構之二15圖 12、artisan memory compiler16圖 13、design import17圖 14、fo
3、otprint setup17圖 15、設定power net18圖 16、rc extraction libraries18圖 17、si analysis libraries19圖 18、完成floor plan20圖 19、加入core的power ring21圖 20、加入blocks的power rings22圖 21、power rings23圖 22、連接blocks的power pin的設定 - 124圖 23、連接blocks的power pin的設定 224圖 24、power ring的連接狀況25圖 25、連接power pads的設定26圖 26、pad與ring連接
4、的結果27圖 27、設定halo28圖 28、blocks的擺置限制28圖 29、連接standard cell的power設定 - 129圖 30、連接standard cell的power設定 - 229圖 31、完成special route,藍色部分為follow pin30圖 32、placement的設定31圖 33、完成placement31圖 34、clock tree32圖 35、未選擇si driven的繞線設定33圖 36、未選擇si driven繞線結果33圖 37、選擇si driven34圖 38、選擇si driven的繞線結果35圖 39、timing repo
5、rt36圖 40、pad location37圖 41、edit net toggle probability37圖 42、power analysis static mode38圖 43、power analysis statistical mode39圖 44、display rail analysis40圖 45、power rail analysis的結果41圖 46、violation browser42圖 47、power rail analysis未包含訊號線的結果43圖 48、加上power stripes44圖 49、未考慮si效應的設定45圖 50、繞線完成圖45圖 51、
6、未考慮si效應時power rail analysis後的結果46圖 52、timing violation with power stripes47圖 53、display power rail analysis with power stripes48圖 54、violation browser with power stripes48圖 55、power rail analysis with power stripes的結果49圖 56、重新floor plan50圖 57、重新floor plan後加上power ring51圖 58、重新floor plan後display rail
7、 analysis52圖 59、重新floor plan後rail analysis設定52圖 60、重新floor plan後power rail analysis的結果53圖 61、重新floor plan後violation browser54圖 62、重新floor plan後加入power stripes55圖 63、重新floor plan後power rail analysis的結果56圖 64、串音效應的修正方法57iv緣起ic設計產業因為製程的進步所面臨的挑戰也日趨加重,ic設計工程師所要考慮的因素也相對的越多。近年來系統晶片(system-on-chip,soc)設計的整合
8、,導致晶片設計複雜度日趨升高,早在150奈米設計時si的觀念就被考慮,在進入130奈米後更是無法忽略他的影響,而進入90奈米設計後,設計的複雜度對設計良率的影響越來越大,在後端(back-end)實體設計中,遭遇到電阻(resistance)、電感(inductance)、串音(crosstalk)、漏電(leakage)及電子漂移(electronic migration)等現象,已成為奈米製程中的必經過程。本篇報告將以訊號完整性(signal integrity)為主要內容,建立soc全晶片si分析驗證流程,進而提供南港育成中心之進駐公司做為參考範例,縮短整體晶片的開發時間、提升產品競爭力
9、以及節省新創公司之人力與資源,推動晶片產業整體發展,增加國際競爭力,實現晶片系統產業發展計畫之目標。第一章 簡介隨著製程技術的不斷發展與晶片複雜度的持續提升,半導體技術日新月異,目前的ic製程技術已發展至奈米規模,並有90nm、65nm甚至更先進的晶片產品問世,隨著製程技術的演進,電晶體尺寸、線寬和線間距都將進一步縮小,伴隨而來的極深次微米效應也越來越顯著。ic設計進入奈米技術時代後,由於製程的演進與晶片面積的縮小,導致元件的供應電壓與臨界電壓隨之降低,相對在奈米製程中,雜訊的容忍度也隨之下降,只要產生一點的雜訊,就會影響訊號的正確性,而造成電路的錯誤,所以對奈米設計而言,只達到時序收斂(ti
10、ming closure)是不夠的,一個電路設計必須也要能夠達到信號完整性收斂(signal integrity closure,si)才行,當電路設計需要考量信號完整性的問題時,就表示電路設計應該要沒有因雜訊所產生的相關問題,並且也要能達到所設定的時序。因此在先進的晶片設計中,必須要考慮以下影響si的相關效應:1. 串音效應(crosstalk):由於製程的進步,導致導線之間的寬度越來越小,如果導線線段越長,則會造成導線之間的耦合電容越大,由於耦合電容的存在,訊號的行為將受到相鄰訊號的影響,導致訊號將會有突波(glitch)或是時序(timing)上的問題。2. 電壓衰退(ir drop):
11、由於製程的不斷演進,導致晶片內的導線寬度越來越窄,根據電阻定義,導線截面積與電阻大小成反比,所以單位導線的電阻值也會變大,阻抗的增加會使得電壓衰退越趨嚴重,當晶片內的電路串聯路徑過長,末端元件將無法完全得到完全的電壓源,如下圖1所示。一般來說,當電壓降下降10%,相對的會造成10%或是更大的電路延遲,導致電路功能失常。圖 1、ir drop3. 電子漂移(electromigration):是電子的流動導致金屬原子移動的現象,由於導線上的電流密度過高或是工作頻率太高,將使得電子在導線內的移動加快,如果電子的流動造成導線原子往特定方向移動並堆積形成突起物(hillock),而相反方向將留下空洞(
12、void),進而導致電路短路或是斷路,造成電路失效。欲解決si干擾問題,必須先具備準確串擾雜訊分析技術,然而數百萬邏輯閘的設計中,電路連線可能上千萬,就效益觀點來看,事先預防比事後補救要來得有效率,在繞線(routing)之後要更動其連線位置需耗費極大的資源,若能在繞線過程中考慮其串音干擾的現象,如:時脈分佈、佈線模式、驅動強度(driving strength)時序窗口(timing window)等因素,並透過適當的篩選機制,將可大大降低可能的雜訊問題,本文將討論crosstalk的現象起因,並提出有效率的串音干擾降低技術。63第二章 si(signal integrity)現象分析介紹i
13、. crosstalk串音效應的發生是當技術一直轉移到深次微米以下,導線原本對地面積比較大,逐漸變成訊號線相鄰間面積相對較大,再加上相鄰訊號線間距縮小,造成彼此之間耦合電容增大。耦合電容使得相鄰的訊號行為相互影響,我們將受到影響的訊號稱為受害者(victim net),而影響他人的訊號稱為侵略者(aggressor net),當侵略者的訊號變化時,可能會導致受害者的訊號產生不預期的改變,而發生錯誤,這即是串音效應的一種情況。圖 2、aggressor and victim對奈米設計來看,只達到時序收斂(timing closure)是不夠的,一個電路設計必須也要能夠達到信號完整性收斂(sign
14、al integrity closure,si)才行。當用信號完整的影響為考量時,就表示電路設計應該要沒有因雜訊所產生的相關問題,並且也要能達到所設定的時序。在奈米技術之前的時期,雜訊的影響不是被忽略,就是在達到時序收斂後手動去修復。這種方法在奈米設計變的不再有效,因為雜訊的violations產生數量已經大到無法輕易的在繞線後(post-route)分析與修復。信號完整必須要能同時控制時序收斂。為了要能達到信號完整,一個設計將會需要經過一連串的最佳化步驟去預防、分析與修復雜訊引起的問題。在設計實現的每個階段,包括擺置(placement),時鐘樹合成(clock tree synthesis
15、)與最後的繞線(detailed routing),都應該需要這些步驟。ii. ir drop在超大型積體電路中,因電源線上的電壓下降現象稱為電壓降。隨著半導體製程的演進,金屬導線的寬度越來越窄,導致它的電阻值上升,所以在整個晶片範圍內將存在一定的電壓降。電壓降的大小決定於從電源pad到所運算的邏輯閘之間的等效電阻的大小與邏輯閘的電容所影響。soc設計中的每一個邏輯閘單元的電流都會對設計中的其它邏輯閘單元造成不同程度的電壓降。如果連接到金屬導線上的邏輯閘同時有開關(simultaneously switch outputs)的動作,因此而導致電壓降將會很大。然而,設計中的某些部份的同時開關又是
16、非常重要,例如時脈網路和它所驅動的暫存器,在一個同步設計中它們必須同時開關。因此,一定程度的電壓降是不可避免的。電壓降可能是局部或全局性的。當相鄰位置一定數量的邏輯閘同時開關動作時,就引起局部電壓降現象,而電源網格某一特定部份的電阻值特別高時,也會導致局部電壓降;當晶片某一區域內的邏輯動作導致其它區域的電壓降時,稱之為全局現象。電壓降問題的表現常常類似一些時序甚至可能是訊號的完整性問題。儘管邏輯模擬顯示設計是正確的,如果晶片的全局電壓降過高,則邏輯閘就會產生功能故障,使晶片徹底失效。而局部電壓降只在一些特定的條件下才可能產生,例如所有的匯流排數據同步進行開關,因此晶片會間歇性的出現一些功能故障
17、。而電壓降比較普遍的影響就是降低了晶片的速度。試驗顯示,邏輯閘單元上5%的電壓降將使正常的邏輯閘速度降低15%。因此在實體設計時,就要將電源佈線規劃好,並且能夠提早針對電壓降情況比較嚴重的區域加以改善。iii. electromigration電子遷移(electromigration)是指原子在電場作用下產生移動的現象,主要是因為電子的動會造成導線原子往特定方向(陽極)移動並堆積形成突起物(hillock),而在相反方向(陰極)下孔(void),進而迫使線短或斷,造成元件失效。在大電流持續通過金屬導線時,導線中越細的地方,會是電流密度越高的地方,電場也會越高,而導致金屬原子沿著材質本身的晶粒
18、邊界,往電子流動的方向移動的現象。隨著電移的持續增加,電流密度亦跟增加,使情況更加惡化,若電移太過劇烈,導致金屬導線的斷開,造成斷路。電子飄移是一個長時間的損耗現象,常常會在經過一段時間後導致晶片的時序或功能性錯誤。如果晶片中某一根連線是唯一的,那麼當產生電子飄移的問題以後,會導致整個晶片的功能失效。如果一些連線本來就有分歧的設計,例如電源網路,那麼當產生電子飄移的問題後,其中的一部份連線會斷開,而其它部份的連線就會承受較大的電壓降問題。如果因為電子飄移而導致了線路間的短路,那整個晶片就失效。圖 3、電子飄移圖 4、因電子飄移而產生的堆積與斷裂第三章 si prevention流程signal
19、 integrity的問題在現今的製程技術下會產生時序難以收斂的情況,而當設計的過程走到越後面時這些問題很有可能會造成晶片的失效以及不良的製造率,最終導致tapeout的時程延後。經過近年的研究試驗結果,許多有效的方法被提出,而這些方法透過設計的流程來防範、偵測並修復si的效應。許多的eda工具提供了從design planning到post-gdsii eco的解決方法。針對解決si的方法在floorplanning、power planning跟constraining階段也是很好的練習。本篇的改進步驟目的為縮短時程並達到si-clean的tape-out。下圖5的流程介紹了一些預防、偵測
20、及修復si問題的方法。圖 5、預防、偵測及修復si問題的方法與流程下圖6為detail route之後針對串音效應的signal integrity eco流程。由圖中的迴圈可得知layout的寄生值將會被萃取出來而static timing analyzer也將計算出timing/noise的影響。在設計初期沒有考慮到避免si的問題,將會浪費時間在解決許多的timing及noise的問題上面。圖 6、si eco的流程i. analysis flow訊號的完整性(signal integrity)關乎是否會造成訊號產生出無法預期的行為,有以下三點:l 串音效應(crosstalk)造成的時序
21、改變以及glitchl 電壓降(voltage(ir) drop)l 電子飄移(electromigration)關於訊號完整性的所做的一些努力主要是為了因應串音效應所造成的訊號傳遞時間改變或是雜訊造成的邏輯狀態改變。串音效應的發生不外乎三種情況,第一、當兩個或是多個訊號相互影響造成耦合電容的發生,第二、當技術一直轉移到深次微米以下,導線變得更細且更加靠近而造成寄生電容的發生,第三、長距離且平行的導線。圖 7、耦合電容造成的串音效應由上圖7可得知,串音效應造成的延遲增加或是減少是由訊號侵略者(aggressor)及受害者(victim)之間訊號的同向或反向來決定。當訊號的侵略者作用在一沉靜的受
22、害者時串音效應也可能引起glitch。由不同的方法可以找出同樣由耦合電容產生的時序及glitch問題,而在此時並不考慮寄生電容的影響。偵測si的問題包含兩個步驟:寄生電容的萃取以及包含串音效應的時序分析。在萃取的步驟中,一些eda工具像是synopsys的star-rcxt或是cadence的assura都是先分析內部彼此的連線關係進而決定各個連線的寄生電容。理論上萃取的工具是依照製造程序所給的設計準則以及材料特性所造成內部連線間電磁場的作用(考慮3d)來計算萃取的值。現今的eda工具則採用2.5d(估算高度)的分析及統計方法來快速計算出萃取的值。在我們執行到detail routing時所有
23、的相互連線關係才會被完整的定義,此時萃取出來的值才會精確。然而在global routing的階段也有可能估算出寄生電容的值,因此了解eda工具的限制更能幫助我們得到合理的值。第二個步驟則是藉由分析相鄰訊號間得耦合電容值來確定是否造成時序上的錯誤或是glitches。當然我們也可使用多套eda工具使得分析能夠更加精準。ii. prevention methodology在設計的過程中有許多的方法、技巧可以預防si問題的發生。以placement階段為例,適當的擺放可以避免過度擁擠的區域產生。在擁擠的區域增加了擁擠的導線產生的機會進而產生串音效應。另一個在placement時可用的技巧即是在設計
24、中避免有過快或是過慢的訊號轉態(如圖8所示)。當兩條導線太近進而相互影響產生耦合電容時,訊號較弱且轉態較慢的即為串音效應中的victim,相反地,訊號轉態過快的為aggressor。resets或scan lines為典型的non-timing critical signals,通常他們的導線過長必然會受aggressor的影響。此兩種方法大大地減少了si failures的產生。圖 8、減少串音效應的glitch與delay在placement的步驟中,針對預防si發生的方法雖然減少了一些發生機會,但是主要的防範還是在routing的步驟之中。si隱含著導線的問題,當設計走到繞線的步驟時便不
25、得不考慮si的預防。以glitch或是delay這類的串音效應為例,可以估測這些效應的發生將會是實體線路已經可得以及final wire topology、layer selection、track assignment都已具體的確定等等的狀況下。奈米技術的設計在最後繞線的過程中,為了能夠得到timing及si closure則必須考慮繞完線後實體線路對設計的影響。第四章 實驗流程i. case introduction延續前一篇建立soc全晶片電力線規劃設計流程openrisc的範例,比較電力線規劃前後si的差異以期達到si-clean縮短設計時間。以下先簡單介紹openrisc的架構及資訊
26、。l cpu 名稱:openrisc 1200圖9為openrisc 1200的cpu架構圖,instruction unit為指令解碼單元,exception為例外控制,system為系統監控單元,gprs為通用暫存器單元,integer ex pipeline為整數算數單元,mac unit為乘加器,load/store unit為載入儲存單元。圖 9、openrisc架構圖l i/o pin數量:374l 工作頻率(frequency):100mhzl 時脈(clock)數量:3l layer usage: metal 1 metal 6l 記憶體(memory):下表為openrisc
27、 1200所使用的記憶體規格,以下之記憶體全部皆使用artisan arm 90nm process advantage single-port sram generator產生,其中一組2048x32與512x20之記憶體為openrisc 1200的data cache,另一組2048x32與512x20之記憶體為openrisc 1200的instruction cache使用,64x14、64x24與64x22為記憶體管理單位,而4顆16384x32的記憶體組合成為一顆256k bytes為quick memory(qmemory)所使用,最高可以支援到1m bytes,其架構如圖10
28、、11所示。ram typedata depth (words)data width (bits)quantitysingle-port sram2048322single-port sram16384324single-port sram512202single-port sram64142single-port sram64221single-port sram64241圖 10、記憶體的架構之一圖 11、記憶體的架構之二接著介紹library以及memory compiler,l library:i. tsmc standard cell:90nm general purpose(g):
29、tcbn90ghp ii. tsmc standard i/o:90nm general purpose 1.0v/1.8v staggered:tpzn90gv2l memory compiler:artisan arm 90nm process advantage single-port sram generator,圖12為sram generator的圖形介面(gui),分別在介面當中輸入記憶體的instance name、記憶體的深度、寬度、執行時脈、ring的寬度以及水平與垂直的金屬層等等,並且按下update,即可以從右上角看到欲產生的記憶體形狀,且在”views”可以決定要產生
30、的library種類,分別有verilog model、vhdl model、synopsys model(.lib)、lef以及gds等等,所以參數都設定好後,即可以按下generate產生。 有了這些資訊後接下來便可開始走design flow。圖 12、artisan memory compilerii. environment setup在我們開始實驗流程之前必須先準備好所需的檔案,跟design相關的檔案包含了gate level netlist與timing constraint file (sdc),其他相關的還有timing library、library exchange f
31、ormat (lef)以及io assignment file。圖 13、design import接著設定footprint,如圖14,提供可用的cell名稱讓tool在placement optimize與clock tree synthesis時知道有可置換或插入的cell。圖 14、footprint setup再來設定power/ground nets,由下圖可知我們將power net設為vdd,ground net設為vss。圖 15、設定power net最後我們讀入rc extraction及si分析所需的libraries。(圖16、17)圖 16、rc extractio
32、n libraries圖 17、si analysis libraries當完成上述的檔案設定即輸入後,接著下來便可以開始進行實驗,並且應用上一章所述之預防方法。iii. experiment flow根據前文我們在floorplan時先決定hard macro(此為記憶體)的位置避免影響到整體晶片的功率消耗與時序, 而在做floorplan前首先必須先規劃晶片的大小,接著必須將外圈不是緊密連接在一起的io pad相互連接在一起,其作法是將空隙中填入filler cell,如此一來便能確保電源彼此之間相互連接。圖 18、完成floor plan上圖18所示為擺放完所有block後的結果,其中我
33、們將記憶體任意擺放於core的四周,不考慮空出的部份對繞線的影響,接下來開始實驗的流程。u power - power planning - add rings,將power/ground ring加在core的四周我們可由跳出的視窗選擇ring type,並且設定power ring所在的layer以及線寬與間距。圖 19、加入core的power ringu power - power planning - add rings,加入blocks的power rings在記憶體的周圍加上一圈電源線以提供電源,設定方法與core ring相同。圖 20、加入blocks的power rings
34、此圖21為設定完core ring及block rings的完成圖。圖中綠色方塊的記憶體四周被power和ground所包圍,而這圈電力線是為了防止訊號免於干擾。圖 21、power ringsu 進行blocks的power/ground pin繞線,route - special route這個步驟是將所有blocks的電源線跟外圈的power ring相連接,如此便可確保每個blocks都有電源供應。圖 22、連接blocks的power pin的設定 - 1圖 23、連接blocks的power pin的設定 2由圖24中紅色框中可以清楚的看見電源線連接的狀況。圖 24、power r
35、ing的連接狀況u 緊接著對core的power/ground pad進行繞線,route - special route如圖25中所設定會將pad cell與core上的power ring相連接。圖 25、連接power pads的設定下圖26可得連線後的結果,我們可以清楚的看見紅線與藍線連接了pad cell與core cell上的power ring,藉由這樣的連接線可將電力由外部的電壓源經由pad傳送到內部的電路。圖 26、pad與ring連接的結果u floorplan - edit floorplan - edit halo,增加blocks旁的擺置限制為了避免造成記憶體的訊號線
36、與外部的電路無法訊利連接,我們加上擺置限制告訴encounter在記憶體的周圍內不要擺放standard cell,不僅讓訊號線順利連接也有助於繞線。圖 27、設定halo下圖粉紅色區塊即為加在blocks旁的限制。圖 28、blocks的擺置限制u 連接standard cell row的power,route - special route圖 29、連接standard cell的power設定 - 1圖 30、連接standard cell的power設定 - 2此步驟的目的是在每條standard row上佈滿power以便提供每個standard cell電源。下圖31藍色部分為fo
37、llow pin, 這些follow pin將會與其他的power net互相連接,其順序為vdd、vss、依此類推,每兩排standard row將會共用一個vdd或是vss,有助於節省core的面積。圖 31、完成special route,藍色部分為follow pinu place - standard cells and blocks在placement這個步驟會根據每個module中需要用到的standard cell配合時序限制擺置到最適合的位置,由圖33可得知綠色小方塊為standard cells。圖 32、placement的設定圖 33、完成placementu cloc
38、k tree synthesis生成時鐘樹,clock - design clockclock tree顧名思義就是像樹枝架構般分枝至每個clock,並且在每個分枝上加入buffer/invert以減少時脈扭曲(clock skew)的不良影響,進而使每個時脈分支的到達時間相等。圖 34、clock treeu route - nanoroute - route,without si driven繞線時先不考慮si效應。圖 35、未選擇si driven的繞線設定圖36顯示無si driven的繞線結果圖 36、未選擇si driven繞線結果u route - nanoroute - rou
39、te,with si driven選擇將timing driven與si driven的選項開啟,讓tool在進行繞線時,能將這兩個因素考慮進去。由於si的影響在深次微米的時代日趨嚴重,對於si效應的分析亦日趨重要,為了避免影響日後的設計及早考慮si效應是必須的。圖 37、選擇si driven完成繞線後如下圖38所示,我們可以看到在standard cells的地方才有特別多的nets,並非整個core都被佔據,另外我們可以根據顏色來判別nets是屬於哪一個layer。圖 38、選擇si driven的繞線結果u 檢查時序,timing - debug timing當完成時序分析後,藉由產生
40、timing report來協助我們找出時序錯誤的路徑。圖 39、timing reportu power pad location的建立,power - analysis - edit pad location 這裡的目的是要指定power pad的位置,在edit pad location form 裡net欄位裡填入vdd,然後按auto fetch,encounter會協助使用者找出power pad的位置,並在主視窗中顯示位置所在方位。依序在net欄位裡填入vss,然後按auto fetch,此時在pad location list裡分別可以找到4個power與ground pad的
41、位置,接著將vdd與vss的location information分別記錄於不同的檔案中,以便於接下來的power analysis使用。圖 40、pad locationu power - analysis - edit net toggle probability我們首先由toggle activity計算出各個gates的平均電流iavg,接著用此平均電流計算出ir drop的分佈情形,下圖為時脈的變化機率存於toggle probability file中。圖 41、edit net toggle probabilityu power - analysis - power analy
42、sis - static在此步驟中我們必須將前面產生的tcf file讀入encounter,則tool會根據tcf來計算整體電路的功率消耗。圖 42、power analysis static modeu power - analysis - power analysis - statistical根據先前的時脈變化機率(toggle probability)粗略的計算出整個chip的power,然後再計算出power-grid中ir drop的分佈情形。圖 43、power analysis statistical modeu power - analysis - display - di
43、splay rail analysis results如圖44我們update ird threshold的值(0.08999999976158),其值是由分析所有power nets的ir drop效應是否大於電壓源的10%來決定。encounter以八種顏色分層顯示不同的ir drop,綠色影響最小,紅色為最嚴重區域。圖 44、display rail analysisu power rail analysis如圖45中顯示,我們可以顏色來區分ir drop的嚴重度,紅色為ir drop發生最嚴重的區域,並對應到先前standard cell擺放的區塊,在此可以利用rail analysi
44、s violation browser來協助尋找出紅色的nets並顯示這些nets的電壓降大小。圖 45、power rail analysis的結果圖 46、violation browseru 分析修正方法以editdelete type signal指令移除訊號線 為了要將ir drop的效應壓低,我們必須要重新規劃電源網路,而解決方法就是在電路當中加入電路線(power stripe),提供額外的電力線來供給這些發生電壓降較為嚴重的區域。首先我們必須先將所有的訊號線從電路中移除掉,包含net以及clock tree,由於power stripe需要跟metal 1的follow pin
45、或是與其它的電源線相連接,而這些訊號線可能會導致power stripe無法順利的與電源線連接,所以藉由editdelete type signal指令先將訊號線移除。圖47為移除訊號線後的結果。圖 47、power rail analysis未包含訊號線的結果u 新增power stripes,power - power planning - add stripes我們必須在floorplanning之後,power planning時加入power stripes,由於power ring只有圍在晶片的最外圈,但是越往晶片內側越容易發生電力不足的情形,所以增加power stripes使整
46、個晶片的電力能夠均勻。圖 48、加上power stripes當design加入power stripes後,便重複操作上述的流程,sroute加入follow ping使其與power nets相連接;接著擺置standard cell,而擺設將會配合時序的限制並找到最適合的位置;placement完後是生成時鐘樹,主要為減少時脈的扭曲(clock skew);緊接著是nanoroute繞線,在此encounter提供了si driven這個選擇,而我們特別強調繞線時是否考慮si的效應並比較前後的差異,下圖49為未考慮si效應的模式。圖 49、未考慮si效應的設定此為繞完線後的佈線圖圖 50
47、、繞線完成圖接下來檢查時序並建立power pad location file以及做power analysis,下圖為做完power rail analysis後的結果,由圖51可看出在未考慮si效應時,結果還是受其影響(圖中紅色部分)。圖 51、未考慮si效應時power rail analysis後的結果當我們選擇si driven後繞線圖並不會有所改變(如圖50所示),接著同樣地檢查時序並產生timing report,在圖中紅色部分表示電路中有timing violation發生。圖 52、timing violation with power stripes要修正ir drop我們
48、必須先指定power pad的位置並記錄在power pad location file中以便power analysis使用。在power analysis步驟中,首先我們讀入tcf用以計算整體電路的功率消耗,然後藉由toggle activity計算出各gates的平均電流,並算出ir drop的分佈情形。再來,給定時脈的變化機率(toggle probability)計算出整個chip大略的power,然後再去算出power-grid中ir drop的分佈情形。下圖53以八種顏色來顯示ir drop的嚴重程度,紅色為最嚴重。圖 53、display power rail analysis
49、 with power stripes最後圖55顯示power rail analysis的結果,由於加入了power stripes的關係,修正了原先電力分配不均造成的ir drop。圖 54、violation browser with power stripes圖 55、power rail analysis with power stripes的結果 電壓降(ir drop)由開始的實驗走到最後發現ir drop的影響相當嚴重,而我們在前一章節提到了一些預防方法,在此針對ir drop我們的解決方法有兩個第一、在power planning時加上power stripes,第二、從fl
50、oorplan開始改變blocks的擺置,避免過於擁擠的區域。接下來我們改變blocks的擺置,並列出重要的一些步驟。1. 首先改變floorplan,如下圖所示,將所有的記憶體盡量擺放在core的四周,讓所有的standard cell都集中在core的中間,有助於接下來的繞線步驟。圖 56、重新floor plan2. 接著在core及blocks加上power ring並且與power pad連接,藉由此連接線可以將電力由外部電壓源經由pad傳送至內部電路。圖 57、重新floor plan後加上power ring3. 根據使用者給定的時脈的變化機率(toggle probabilit
51、y)計算出整個chip大略的power後,然後再去算出power-grid中ir drop的分佈情形。選擇power - analysis - display - display rail analysis results如下圖58顯示,圖 58、重新floor plan後display rail analysis我們將分析所有power net的ir drop是否大於電壓源的10%,所以將threshold設定如下圖59所示,而八種顏色分別表示不同壓降,以紅色為最嚴重區域。圖 59、重新floor plan後rail analysis設定圖60所顯示的顏色代表了ir drop的嚴重度,而紅色
52、為發生ir drop最嚴重的區域,我們可以利用rail analysis violation browser協助找出該net,並且顯示該net之電壓降大小。圖 60、重新floor plan後power rail analysis的結果圖 61、重新floor plan後violation browser4. 為了降低ir drop的影響必須重新規劃電源網路,我們將電路中加入電力線(power stripe)以提供額外的電力來供給這些電壓降較嚴重的區域。首先我們必須先將所有的訊號線從電路中移除掉,包含net以及clock tree,由於power stripe需要跟metal 1的follow
53、 pin或是與其它的電源線相連接,而這些訊號線可能會導致power stripe無法順利的與電源線連接,所以藉由以下的指令先將訊號線移除。editdelete type signal5. 接著選擇power - power planning - add stripes來新增stripes,下圖62中的橘色直線為power stripe,由於power ring在晶片的最外圍,越往內側越容易發生電力不夠的現象,而藉由增加power stripe以平均整個晶片的電力。圖 62、重新floor plan後加入power stripes6. 再來將先前的繞線資料讀入encounter中,把違反設計規則
54、的導線重新繞線。最後由圖63可得加入power stripe後的電源分析結果,發現原來電壓降較嚴重的區域已獲得改善,藉由此設計流程,我們能夠及早進行電壓降的分析,並根據可能會產生問題的部份給予修正,於修正後再進行後續的流程,如此可減少與避免當晶片快完成時還需要重新回到前面的流程來做修正。圖 63、重新floor plan後power rail analysis的結果 串音效應(crosstalk)在使用soc encounter做完繞線後,我們可得到所有導線的繞線資訊,接著就可以進行串音效應的分析,然而在繞線期間有一些方法能夠被利用去修正雜訊的問題。如wire spacing、net orde
55、ring、minimizing the use of long parallel wires、selecting routing layers、shielding等。圖 64、串音效應的修正方法1. wire spacing繞線時,會在比較關鍵的導線(critical nets)中增加額外的空間。2. net ordering將關鍵的導線先進行繞線,避免繞道,讓他們能夠盡量最短的繞線。3. minimizing the use of long parallel wires繞線時將會針對長平行線段作最小化,避免過長的平行線段存在。4. selecting routing layers藉由限制繞線
56、層來降低關鍵導線的電容與電阻值。5. shielding在關鍵導線旁邊加入power/ground線段,防止受到其他導線的影響。因此,當我們做完si分析後即可從encounter中知道哪些連線有串音效應的發生。修正的方法如下,首先找到發生串音效應的導線(即victim net) ,並將其顯示出來,接著判斷發生的原因,例如相鄰平行導線過長或是距離太近等等,最後針對發生的成因依照上述的方法來修正。電子飄移(electromigration)在本篇驗證流程中並不討論電子飄移的效應,未來將再加以討論。第五章 結論對於ic設計工程師而言,系統晶片(system-on-chip)的設計不外乎是對於ip(intellectual property)的整合與驗證。隨著製程的進步,系統晶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省武汉第三寄宿中学2025-2026学年初三下学期第三次月考试卷(化学试题理)含解析
- 湖北省襄阳市襄州区2026年初三下学期阶段测试(二)生物试题试卷含解析
- 内蒙古乌兰察布市重点达标名校2026届初三网络模拟考试生物试题含解析
- 山南市重点名校2026届初三一诊考试生物试题含解析
- 广西河池市巴马县2026届初三下学期4月月考(三)化学试题含解析
- 期浙江省金华市2025-2026学年初三下学期高中等级考质量抽测生物试题试卷含解析
- 四川省宜宾市观音片区达标名校2026届初三下学期5月学情调研考试生物试题试卷含解析
- 陕西省合阳县重点名校2026届初三第六次模拟考试化学试题试卷含解析
- 浙江省宁波市奉化区溪口中学2026年中考化学试题倒计时模拟卷(1)含解析
- 苏州市高新区2026届初三化学试题第一次联考试题含解析
- 圆通速递劳务合同范本
- DB33-T 936-2022 公路桥梁整体顶升技术规程
- 大型场馆预制清水混凝土看台板施工工艺研究
- 2025年旅游摄影服务合同协议
- 有限空间脚手架施工方案
- 团校成立大会详细议程安排
- 法律职业伦理试题及答案
- 盐田安全培训证书课件
- 2024-2025学年度江苏旅游职业学院单招《语文》检测卷带答案详解(能力提升)
- 人工智能+智慧医疗影像分析AI辅助病理诊断系统研究报告
- 2025年甘肃省委党校在职研究生招生考试(中共党史党建)综合试题及答案
评论
0/150
提交评论