在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數字IC設計中的ECO是什么?

ruikundianzi ? 來源:IP與SoC設計 ? 作者:IP與SoC設計 ? 2022-12-21 14:10 ? 次閱讀

如標題所寫,我們今天聊一聊IC設計種的ECO。在展開關于ECO的概念之前,我們先大致捋下數字IC設計的流程,有助于我們后面的討論。

數字IC設計流程簡述

1、確定項目需求

根據市場或者芯片功能要求,設計芯片的spec,得到可行的芯片設計方案。

2、系統(tǒng)級設計

用系統(tǒng)建模語言對各模塊進行描述

3、前端設計

RTL設計、功能仿真、硬件原型驗證、電路綜合、DFT、STA

4、后端設計

版圖設計、物理驗證、后仿真

26fffcb6-80ed-11ed-8abf-dac502259ad0.png

在復雜的設計流程中,bug是難以避免的。對于芯片設計而言,bug自然是越早發(fā)現(xiàn)越好。但是仿真驗證差不多,進入RTL freeze階段后,一旦發(fā)現(xiàn)新的bug,就變得有些麻煩。

因為RTL freeze前,你可以通過修改RTL來更正你發(fā)現(xiàn)的bug。然而RTL freeze之后,后端人員做好了floorplan,或者已經開始布局布線,這個時候再去重新做一遍,既耗時耗力,又會惹怒后端。這顯然不是好的選擇。

如果這個時候即將tapeout,甚至已經tapeout,根本就沒有機會修改RTL了。

這個時候,我們就需要ECO,來修正我們的失誤了。

什么是ECO?

ECO,即Engineering Change Order的縮寫,指工程改變命令。

什么意思呢?簡單來說就是手動修改集成電路的過程,換句話說,就是直接手動修改netlist。

一般應用于數字芯片版圖設計。

對于數字IC設計而言,ECO這一步實際上是正常設計流程的一個例外。它是對設計的layout進行局部的小范圍的修改和重新布線,而不影響到設計的其它部分的布局布線,所以其它部分的時序信息沒有改變。

272f5d08-80ed-11ed-8abf-dac502259ad0.jpg

根據功能的不同,ECO可以分為功能改變和非功能改變。功能改變是指由于來自客戶對設計的追加需求(spec改變)或者設計的最后階段發(fā)現(xiàn)芯片存在 bug 的情況下進行的 ECO;而非功能改變則是為了在不改變 RTL 網表的基礎上修復部分時序以及串擾等問題而做的 ECO。

說到底,ECO的目的就是省錢省時間。

那么在不同階段,進行ECO,有什么樣的區(qū)別呢?

在階段上,數字IC設計中的ECO大體可以分為:tapeout前的ECO,tapeout過程的ECO,tapeout后的ECO。

Tapeout前的ECO

在RTL freeze后,tapeout前這一階段,RTL已經沒法修改,但是好歹也沒有進入tapeout,還有補救的機會。

此時數字前端負責寫coding的工程師需要在final RTL的基礎上,通過寫ECO腳本的方式來實現(xiàn)功能上的ECO。

ECO代價:時間成本,相對較小

Tapeout過程中的ECO

當數字后端實現(xiàn)后的design,timing已經符合signoff標準,DRC已經clean,LVS已經pass,IR drop,MVRC,F(xiàn)ormality,DRCPLUS等都已經pass。

但是,數字前端設計工程師還沒來得及做完大部分case的后仿,而且芯片又面臨著Timing-TO-Market的壓力。此時,進入tapeout階段。

為什么不給自己留更多余地呢?因為foundary會先做base layer的加工。只要后期仿真發(fā)現(xiàn)的問題,不需要再添加額外的cell,就不耽誤之前的tapeout(此處有點像流水線)。即使發(fā)現(xiàn)需要新加幾個cell,這個時候仍然可以通過替換后端實現(xiàn)過程中所加的ECO cell或者spare cell來實現(xiàn)。

ECO代價:時間成本較大

Tapeout后的ECO

當芯片已經tapeout回來,我們在測試過程中卻發(fā)現(xiàn)了必須修復的bug。這個時候做ECO的代價相對前面兩種,就要大很多。

改動少的可能僅需要改幾層Metal layer,改動大的話可能需要動十幾層Metal layer,甚至重新流片。在此階段,前端設計工程師需要出具ECO方案,同時讓后端工程師進行評估,主要評估需要改動的層數,timing 是否能快速收斂等方面的風險。

在一次次確認后,敲定方案,進行ECO。

ECO代價:時間與金錢成本巨大

由此可見,即使ECO能夠亡羊補牢,但是為了節(jié)省更多的時間和金錢成本,還是盡早發(fā)現(xiàn)問題,盡早解決吧。

關于ECO的分類:

常見的ECO可以分為pre mask ECO和post mask ECO,也就是任何layer都可以動到的ECO和只修改metal layer的ECO。

兩者的區(qū)別在于,pre mask ECO的晶體管和布線層都還沒有開始做出mask,此時可以往netlist里面添加cell。而post mask ECO的晶體管層已經開始進行加工了,但是布線層還沒有加工,還能修改,可以通過ECO改變各種已有cell的連線關系,但是不能添加新的cell,有一定局限。

換句話說,從freeze到tapeout之間的ECO叫pre mask ECO;tapeout之后,已經加工完芯片的晶體管,但是還沒有做晶體管連線期間的ECO叫做post mask ECO。

Pre mask ECO:

Pre mask ECO比Post mask ECO要靈活得多。在tapeout之前,如果發(fā)現(xiàn)有任何需要修改的地方,都可以用這種方法。它可以改成百上千個單元。該操作主要是針對靜態(tài)時序分析和后仿真中出現(xiàn)的問題,對電路的網表直接進行修改,待網表修改完畢之后反饋到PR工具中對標準單元的布局和連線進行小范圍的改動。當然,直接對網表進行修改是存在風險的,所以之后一定要進行形式驗證(formal verification),確保功能實現(xiàn)。

Post mask ECO:

Post mask ECO是利用預先留好的備用單元(Spare Cell),做的邏輯修改。如果后期發(fā)現(xiàn)Timing存在問題(或者想小動Function),可以利用附近的Spare Cell搭配上層金屬連線來修改電路結構。比起Pre mask ECO,這種ECO受限于Spare Cell的位置,所以它的修改規(guī)模十分有限。

27c21a9e-80ed-11ed-8abf-dac502259ad0.png

Spare Cell:

Foundry提供一種服務,允許客戶在wafer加工到poly以及M1層的時候,讓大部分wafer暫時停止加工,而少量wafer繼續(xù)加工直至完成。之后可以對這些完成了的wafer上的die進行測試,如果發(fā)現(xiàn)存在功能或者時序上的問題,那么可以通過利用那些預布在die上的spare cell來解決。

由于絕大部分的金屬層都沒有加工,因此在不修改標準單元布局的情況下,只用改動幾層金屬的mask并利用spare cell去修復這些問題。如此一來,也大大降低了流片的風險。而Post mask ECO則提供了一種根據silicon測試結果進行Debug的方法。

27c21a9e-80ed-11ed-8abf-dac502259ad0.png

Post mask ECO 可行的前提是設計里有足夠的可供新功能實現(xiàn)的cell, 如Spare cell, Freed cell, GA cell。

Freed cell,這些cell原本服務于原始的邏輯功能,但是因為邏輯功能更改,被釋放出來,既然已被釋放故可以用于來實現(xiàn)新的功能。GA cell,是內部晶體管沒有鏈接的cell,是可以被“編程”的cell,在做ECO 時,通常用最底層金屬如M1 將GA cell 內部的晶體管鏈接起來,以實現(xiàn)對應的邏輯功能,如:與或非、選擇器、寄存器等。

而Post mask ECO的修復則受制于這些cell的位置,可以說是不太靈活了。

27e2cb04-80ed-11ed-8abf-dac502259ad0.png

從邏輯和物理來看,ECO又可以分為Logic ECO和Physical ECO。Logic ECO是對網表的邏輯功能的修改。在芯片設計的后期階段,前端工程師可能會發(fā)現(xiàn)設計上的某些bug,進而需要對電路做修改,而此時的schedule已經不允許進行重新綜合,因此會選擇在PR的網表上進行邏輯修改,一般情況是會增加一些邏輯或者將某些邏輯的net重新連接;而Physical ECO主要是針對PR工具無法完全修復的問題進行手動修正。一般包括Timing ECO,drc fix等。

ECO的實際運用與技巧

對于版圖工程師來說,經常會碰到一些function ECO的需求:

28553fea-80ed-11ed-8abf-dac502259ad0.png

從上圖可以看到,為了保證數據庫有優(yōu)先級的收斂,最后的timing ECO會分為幾個主要步驟

·功能模式的時序修復:function mode

·存儲器自測模式的時序修復:mbist mode

·其他測試模式的時序修復:test mode

·芯片接口時序修復:IO mode

功能模式的重要性、工作量和難度都是最大的,需要盡早修復,然后是其他的模式。整個流程基本上是按照步驟和優(yōu)先級完成整個芯片的時序修復的。

改變功能的ECO被稱之為function ECO,但是實際上,這種ECO可能是針對真正的function mode的,也有可能是針對mbist 邏輯的,或者有可能是針對at-speed test mode的。

由于function ECO會引起潛在的timing arc的變化,因此帶入function ECO的時間點是有講究的。一般來講,只會在一種模式的timing修復告一段落的時候,才會帶入這個模式的function ECO。

288226ea-80ed-11ed-8abf-dac502259ad0.png

假如在時間節(jié)點Pre-B,前端準備好了一個比較大的function ECO,這個ECO是給mbist服務的。通常需要先驗證這個腳本的正確性,如果腳本本身沒問題,在這個Pre-B的時候并不帶入,因為這個時候整個mbist的時序還不夠穩(wěn)定。

等到了Pre-C的時間節(jié)點,mbist的時序修復基本完成的階段,這時可以代入這個ECO。理論上講,新出來的timing violation都是由于這個腳本引起的。

增量設計工作模式,是ECO階段的重重之重,任何違背增量設計方案的舉動,都會造成局部損耗,甚至更糟的結果。

功能ECO的腳本生成的探究和技巧

后端一般會在最終layout的節(jié)點,給前端分享最終layout版本的網表。一般為了閱讀方便,后端都是給前端一個不帶PG信息的netlist。前端同學在完善數據庫的過程中,同時也會對各種問題進行評估,最終給出解決方案:

·軟件改動

·約束用戶行為

·硬件改動

如果有任何需要在硬件方面做的功能修改,前端會先保證RTL修改、驗證完成后,對相應的final layout的網表進行修改。

綜上所述,一個function ECO的誕生過程大抵如下:

28a15f1a-80ed-11ed-8abf-dac502259ad0.png

前端主要關注功能,后端主要關注實現(xiàn),對于下面的幾個主題的關注度,這里展示一下:

28c37046-80ed-11ed-8abf-dac502259ad0.png

前端基于final layout的網表,改出來一版帶function ECO的功能網表,這個流程基本就算大功告成了。

ECO版圖實現(xiàn)的技巧和經驗

在ECO中,版圖的實現(xiàn)是非常重要的步驟。是否能完成STA的腳本期望,是數據庫能否走向收斂的關鍵點。一般的STA對應的ECO和相應的修復方法如下:

28e1dd88-80ed-11ed-8abf-dac502259ad0.png

ECO的物理實現(xiàn)就是兩種情形

·size_cell

·add buffer

這里邊最會產生的影響其實是面積和器件的位置變動(dis-placement)

器件的位置變動帶來的影響都可能導致ECO無法如期進行,因為原有數據庫的cell的放置被調整,之前的繞線需要做相應的調整,同時帶來更多的timing/驅動能力的問題,這樣就會給數據庫帶來不期望的抖動。

為了盡可能保證原有數據庫的狀態(tài),這里引入一個新名詞:Minimal Physical Impact Flow(MPI)。

28fb3ad0-80ed-11ed-8abf-dac502259ad0.png

較小的dis-placement帶來更為穩(wěn)定的版圖數據,繞線的挑戰(zhàn)也比較小,這是MPI的核心思想。

ECO收尾階段的風險和注意點

在ECO收尾階段,所有決策和行動都需要慎重,否則出了問題就叫苦不迭了。

先說結論,兼顧metal fill,MCMM以及VT cell的靈活使用,是ECO后期成功收斂的關鍵要素。

MCMM,全稱為:multi_corner和multi_mode,而multi_corner(PVT):process/voltage/tmperature。

multi_mode:function/scan_shift/scan_capture。

看到它的全稱,想必你就明白它的重要性了。

至于metal fill,先進工藝是需要fill的支持,來保證流片的物理需求,fill是基于繞線和布局的,如果繞線或者布局改變了,就需要重新跑fill。所以在先進工藝,一定不能忽略fill對timing的影響,tapeout之前,一定要保證fill的信息完全和真實的數據庫匹配,這樣跑出來的timing才完整可信。

ECO的時序信息通常是增量示的,除非你改變了繞線。這是需要在ECO后期階段牢記的一點。

對于一個數據庫,經常會遇到在接近TO的ECO的迭代中,會冒出一些和修復timing沒有關系的微小的setup/hold violation。這個大多是由于繞線的細微改變,而導致的時序變化。這個時候,VT cell就會派上用場。

時間是TO前最值錢的,使用VT cell進行ECO,最大的方便時省略了ECO 繞線、寄生參數的抽取和STA的re-run。這三個步驟的時間是非常長的。有了VT cell的幫忙,這些時間統(tǒng)統(tǒng)可以省略。

經歷了這么一系列流程與注意事項,我們終于可以完成ECO,確保tapeout順利,獲得一塊good chip。

以上,經過筆者粗淺的總結和整合,將ECO相關的知識點與大家分享。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IC設計
    +關注

    關注

    38

    文章

    1296

    瀏覽量

    103957
  • ECO
    ECO
    +關注

    關注

    0

    文章

    52

    瀏覽量

    14900

原文標題:科普:數字IC設計中的ECO是什么?

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    不間斷電源ECO模式介紹,線路交互”模式

    不間斷電源ECO模式是什么   UPS ECO模式是一種特殊的UPS操作模式,提供增強的能源效率。
    的頭像 發(fā)表于 11-15 09:50 ?239次閱讀
    不間斷電源<b class='flag-5'>ECO</b>模式介紹,線路交互”模式

    【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】帶你認識RA-Eco-RA2E1-48PIN-V1.0開發(fā)板

    今天收到論壇里試用的RA-Eco-RA2E1-48PIN-V1.0開發(fā)板,開箱后第一感覺開發(fā)板線路設計的非常合理,各個元件在開發(fā)板上的布局很整齊,給大家來幾張開發(fā)板的照片。 下面把這塊開發(fā)板給大家
    發(fā)表于 11-04 22:53

    【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】開箱點燈

    RA-Eco-RA2E1-48PIN-V1.0開發(fā)板。這不僅為我的嵌入式開發(fā)學習提供了寶貴的實踐機會,也可以讓我深入理解了該開發(fā)板的功能和特性,同時,也給我們學校的教學研究提供了幫助。在申請、溝通過程,我深感電子發(fā)燒友平臺的積極支持
    發(fā)表于 10-26 22:47

    【「數字IC設計入門」閱讀體驗】+ 數字IC設計流程

    :將芯片設計結果交出去進行生產制造。 上述這些只是芯片設計過程的主要節(jié)點,細節(jié)還有很多,如果驗證測試不通過,就需要從數字前端設計開始找原因,之后再經歷一次全流程測試,可見IC設計流
    發(fā)表于 09-25 15:51

    【「數字IC設計入門」閱讀體驗】+ 概觀

    能夠申請到《數字IC設計入門》一書,非常高興。我是一個嵌入式軟件工程師,產品開發(fā)中使用過多類芯片,產品做的多了,感覺產品的軟件開發(fā)都是在控制芯片,一個芯片使用各種通信接口再去控制其它芯片,讀寫芯片
    發(fā)表于 09-24 10:58

    在CYT2CL配置相應的PLL寄存器,如何確認PLL配置后是否按預期工作?

    我正在通過在 CYT2CL 配置相應的 PLL 寄存器,將 16Mhz 的 ECO 設置為 160Mhz。 我看到端口 0 上的 ECO_IN 和 ECO_OUT 引腳默認配置為高阻
    發(fā)表于 05-20 07:07

    適用于50-A+應用的雙相ECO-MODE?降壓電源管理IC TPS51727數據表

    電子發(fā)燒友網站提供《適用于50-A+應用的雙相ECO-MODE?降壓電源管理IC TPS51727數據表.pdf》資料免費下載
    發(fā)表于 04-22 10:07 ?0次下載
    適用于50-A+應用的雙相<b class='flag-5'>ECO</b>-MODE?降壓電源管理<b class='flag-5'>IC</b> TPS51727數據表

    半導體IC設計是什么?IC設計和芯片設計區(qū)別

    的設計過程。通常,半導體IC設計涉及到多個子領域,包括數字電路邏輯設計、模擬電路設計、射頻集成電路設計、功率管理及處理器設計等。在半導體IC設計,設計人員需要使用計算
    的頭像 發(fā)表于 04-03 08:26 ?1845次閱讀
    半導體<b class='flag-5'>IC</b>設計是什么?<b class='flag-5'>IC</b>設計和芯片設計區(qū)別

    fpga和數字ic區(qū)別 fpga和plc區(qū)別

    fpga和數字ic區(qū)別 FPGA(現(xiàn)場可編程邏輯門陣列)和數字IC(集成電路)在設計、功能、應用等方面存在顯著的區(qū)別。 FPGA和數字
    的頭像 發(fā)表于 03-14 18:08 ?2645次閱讀

    分享一種大型SOC設計功能ECO加速的解決方案

    大型SOC項目的綜合非常耗時間,常?;ㄙM好幾天。當需要做功能ECO時,代碼的改動限定在某些子模塊里,設計人員并不想重跑一次完整的綜合,這種方法縮短了一輪ECO的時間,保證了項目進度。
    的頭像 發(fā)表于 03-11 10:41 ?473次閱讀
    分享一種大型SOC設計<b class='flag-5'>中</b>功能<b class='flag-5'>ECO</b>加速的解決方案

    數字IC設計入門經典書籍合集推薦

    本文所列書籍都面向數字集成電路方向,其他方向,諸如模擬集成電路、射頻IC、功率器件、工藝、器件等,均未涉及。將從理論基礎、晶體管級電路、系統(tǒng)級電路、物理實現(xiàn)、Verilog HDL 、FPGA、處理器設計、數字
    的頭像 發(fā)表于 03-07 13:48 ?1087次閱讀

    什么是鎖存器?數字IC設計為什么要避免鎖存器?

    數字IC設計里,常會出現(xiàn)鎖存器,D觸發(fā)器和寄存器,很多人(比如我)老傻傻分不清,搞不懂他們的區(qū)別是什么。
    的頭像 發(fā)表于 02-17 15:04 ?2243次閱讀
    什么是鎖存器?<b class='flag-5'>數字</b><b class='flag-5'>IC</b>設計<b class='flag-5'>中</b>為什么要避免鎖存器?

    請問psoc6_cy8c6247bzi-d54_ECO有什么特點?

    如圖所示,單片機需要兩個晶體(WCO/ECO)。 WCO 支持看門狗和 RTC 功能。 我們想知道 ECO 支持哪些功能? 如果我們不使用這個功能,我們就不需要 ECO Crystal 了,對吧?
    發(fā)表于 01-26 07:30

    從DeepSleep模式過渡到活動模式時,IMO和ECO時鐘在喚醒過程是如何運行的呢?

    我正在使用 CYT2B95。 我在主動模式下使用 ECO 作為 FLL/PLL 參考時鐘。 從 DeepSleep 模式過渡到活動模式時,IMO 和 ECO 時鐘在喚醒過程是如何運行的? 問題 1
    發(fā)表于 01-24 07:52

    請問如何將ECO輸出分配給PSoC6的GPIO?

    如何將ECO輸出分配給PSoC6的GPIO
    發(fā)表于 01-16 07:56
    主站蜘蛛池模板: 久久草在线免费| 黄色有码视频| 精品视频卡1卡2卡3| 亚洲色四在线视频观看| 四虎黄色网| 一级a性色生活片毛片| 毛片韩国| 奇米影视9999| 精品无码中出一区二区| 女人被狂躁视频网站免费| 午夜神马嘿嘿| 亚洲网站在线看| 黄网站在线观看永久免费| 日本三级视频在线播放| 夜夜爱夜夜做| h视频在线免费看| 三级网址在线| 午夜国产在线观看| 日产国产精品亚洲系列 | 三级黄色在线视频| 又黄又爽的成人免费网站| 美女被免费视频的网站| 真爽~张开腿~让我插| 色丁香六月| 污夜影院| 国产精品乱码高清在线观看| 久久免费手机视频| 成人国产亚洲欧美成人综合网| 亚洲成年网| 77788色淫网站女女免费视频| 黄网地址| 特级黄色淫片| 激情婷婷综合| 爱综合网| 色视频一区| 天天都色| 亚洲国产精品嫩草影院| 久久精品综合网| www.精品视频| 亚洲日韩色图| 综合黄色|