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