ECO中文翻譯就是工程變更(Engineering Change Order)
> `ECO,簡單講就是直接修改netlist。`
因為design中寫的算法難免有bug,后仿用的case 無法覆蓋100%的應用場景,以及實現過程中犯了某些錯誤等。
大體上數字IC設計中的ECO可以分為Tapeout前的ECO,Tapeout過程的ECO,Tapeout后的ECO。
## Tapeout前的ECO
很多公司(特別是大公司),他們一般都有規定哪個階段必須RTL freeze,這個時候不會也不允許再更新新的RTL,即使后面仿真驗證有bug。為什么不讓更新RTL呢?因為此時數字后端工程師可能都做好布局布線,timing也沒什么大問題了,都準備開始修timing了。如果此時release新的RTL,那就意味著需要重新跑整個flow,從綜合到PR,再到fixing timing。一方面會嚴重影響整個項目的Tapeout時間,從而影響Wafer out和芯片上市的時間。另外一方面,數字后端工程師可能有想罵人的沖動。
因此,此時數字前端負責寫coding的工程師只能在final RTL的基礎上,通過寫ECO腳本的方式來實現功能上的ECO。
ECO代價:時間成本,相對較小
## Tapeout過程的ECO
當數字后端實現后的design,timing已經符合signoff 標準,DRC已經clean,LVS已經pass,IR drop,MVRC,Formality,DRCPLUS等都已經pass。但是數字前端設計工程師還沒來得及做完大部分case的后仿,而且芯片又面臨著Timing-TO-Market的壓力。此時,老板可能會說先Tapeout吧(就是開始傳GDSII給Foundary廠)。為什么敢這么做呢?是在賭博嗎,呵呵。其實肯定有賭博的成分,但是更多的還是自信(認為不會出大問題)。因為,前一周左右foundary會 先做base layer的加工。只要后期仿真發現的問題,不需要再添加額外的cell,就不耽誤之前的Tapeout(此處有點像流水線)。即使發現需要新加幾個cell,這個時候仍然可以通過替換后端實現過程中所加的ECO cell或者spare cell來實現。(如何預先加ECO CELL和spare cell ,后續會專門討論)
EEO代價:時間成本較大
## Tapeout后的ECO
當芯片已經回來,在測試過程中發現的bug,然后又必須fix掉的bug(無法通過軟件繞過去或者代價太高)。這個時候需要通過ECO來解決。這個時候做ECO的代價相對前面兩種大很多,都是要消耗很多的真金白銀,而且有芯片量產的巨大壓力。改動少的可能就改幾層Metal layer,多的可能就需要動十幾層Metal layer,甚至重新流片。做ECO之前,老板肯定會讓數字前端設計工程師出ECO方案,同時讓后端工程師進行評估,主要評估需要改動的層數,timing 是否能快速收斂等方面的風險。
ECO代價:時間成本+money 較大
下面小編稍微總結下數字IC設計中做ECO的主要步驟(數字后端工程師必須熟練掌握以下幾點工作,第一點除外):
數字前端工程師制定ECO方案(驗證方案有效性,可行性)
寫 ECO 腳本
后端工程師根據ECO腳本,進行擺放cell和連線(手工或自動的方式)
形式驗證(確保后端進行變更后的功能和前端ECO方案功能一致性)
確認基于Tapeout 版本的GDSII所有改動的層(通過calibre 跑Layout Versus Layout)
重新做dummy insertion或者人工改dummy
再次進行timing signoff(Fixing all setup,hold,timing drc,etc)
再次跑DRC&LVS并fix violations
Release 新的GDSII
- 電子元器件
- 電阻
- 電容器
- 電感
- 保險絲
- 二極管
- 三極管
- 接插件
- 蜂鳴器
- MOS
- 集成電器基礎知識
- 接地的基礎知識
- STA
- Skew
- setup和hold
- 問題
- timing path
- Latency
- 跨時鐘域的代碼檢查(spyglass)
- 時間換算
- 名詞解釋
- 寄存器
- 觸發器
- ECO
- 通用芯片和嵌入式芯片有什么區別
- Signoff
- SOC
- VLSI
- NPU
- DDR
- ISP
- Fan-in 和 Fan-out
- 邏輯閾值
- Floorplan
- 寄存器傳輸的設計(RTL)
- 集成電路設計方法
- Design Rules of Thumb
- Dealing with Resistance
- 芯片設計
- 什么是Scenario?
- 晶圓BUMP加工工藝和原理
- wafer、die、cell
- DFT
- 前端-QC
- CDC
- SDC
- MBIST
- RDC
- Lint
- overview
- PV
- PBA/GPA
- Corner
- PVT
- latency與delay區別
- Power
- LVT, RVT, HVT 的區別
- PPA
- RTL
- 芯片行業的IP是指什么?
- 晶振與晶體的區別
- PLL (鎖相環(PhaseLockedLoop))
- 奇偶分頻電路
- inverter
- glitch (電子脈沖)
- Power
- Clock Gating
- 低功耗設計
- UPF
- 低功耗單元庫
- Power intent
- 亞穩態
- 芯片流程
- 芯片軟件
- 亞穩態&MTBF&同步器&AFIFO
- glitch free的時鐘切換技術
- max_transition
- MUX
- STA之RC Corner
- process corner 和 PVT
- ICC Scenario Definition
- 寄生電路?
- 晶振
- 信號完整性
- 什么是脈沖?什么是電平?
- 閾值電壓
- bump
- IC設計常用文件及格式介紹
- 文件格式
- spef
- 后端
- phy芯片的作用
- MIPI簡介
- 異步橋
- 芯片后仿之SDF
- 慕課-VLSI設計基礎(數字集成電路設計基礎)
- 概論
- MOS晶體管原理
- 設計與工藝接口
- 反相器和組合邏輯電路
- 問題trainning