在芯片設(shè)計中,ECO(Engineering Change Order,工程變更訂單)是一個關(guān)鍵的環(huán)節(jié),用于在芯片設(shè)計后期對設(shè)計進行必要的調(diào)整和優(yōu)化。
ECO通常應(yīng)用于數(shù)字芯片的版圖設(shè)計,它是對設(shè)計的layout進行局部的小范圍修改和重新布線的過程,而不影響設(shè)計的其他部分的布局布線。
ECO的目的是為了節(jié)省時間和成本,特別是在芯片設(shè)計的后期階段,當RTL(寄存器傳輸級)代碼凍結(jié)后,通過ECO來修正設(shè)計中的問題。
ECO可以分為不同的階段,包括:
1. **Pre-Mask ECO(預(yù)掩模ECO)**:這一階段的ECO發(fā)生在設(shè)計的前端到后端流程之間,特別是在布局布線(Place and Route, P&R)之后但在制造掩模之前。在這個階段,設(shè)計團隊可以對邏輯、電路結(jié)構(gòu)、布局或早期的金屬層進行修改。由于修改發(fā)生在物理實現(xiàn)的較早階段,因此成本相對較低,主要是時間成本和計算資源消耗。
2. **Post-Mask ECO(后掩模ECO)**:當設(shè)計已經(jīng)完成并制造了光刻掩模后,如果需要修改,就只能進行Post-Mask ECO。這種情況下,修改通常局限于金屬層(Metal ECO),以避免重新制造掩模的巨大成本。Post-Mask ECO的成本較高,因為它涉及到對已有的物理設(shè)計進行局部調(diào)整,這可能需要手工或自動的金屬層重新路由,以及額外的驗證工作。
3. **Tapeout前的ECO**:在RTL freeze后,tapeout前這一階段,RTL已經(jīng)無法修改,但還有補救的機會。數(shù)字前端工程師需要在final RTL的基礎(chǔ)上,通過寫ECO腳本的方式來實現(xiàn)功能上的ECO。
4. **Tapeout過程中的ECO**:當數(shù)字后端實現(xiàn)后的design,timing已經(jīng)符合signoff標準,DRC已經(jīng)clean,LVS已經(jīng)pass,此時進入tapeout階段。如果后期仿真發(fā)現(xiàn)的問題不需要添加額外的cell,則不耽誤之前的tapeout。
5. **Tapeout后的ECO**:當芯片已經(jīng)tapeout回來,在測試過程中發(fā)現(xiàn)了必須修復(fù)的bug。這時做ECO的代價相對較大,可能需要修改幾層到十幾層Metal layer,甚至重新流片。ECO的實施策略和注意事項包括:ECO的實施階段越晚,對項目時間和成本的影響越大。因此,應(yīng)盡量減少Pre-Mask ECO以控制項目進度和成本。
Post-Mask ECO,特別是Metal ECO,是成本敏感的,應(yīng)當謹慎評估變更的必要性和潛在影響,確保只有在必要且經(jīng)濟效益合理的情況下才進行。在整個設(shè)計流程中,有效的ECO管理策略對于控制成本和保證產(chǎn)品質(zhì)量至關(guān)重要。
ECO技術(shù)在芯片設(shè)計中扮演著重要角色,它允許設(shè)計團隊在芯片設(shè)計的后期階段對設(shè)計進行必要的調(diào)整和優(yōu)化,以提高性能、降低成本并確保產(chǎn)品質(zhì)量。通過不同的ECO階段和實施策略,工程師可以在保證項目進度的同時,有效地控制成本并應(yīng)對設(shè)計中的挑戰(zhàn)。