所有現(xiàn)代數(shù)字邏輯都由組合邏輯和時(shí)序邏輯組成。組合邏輯由門組成,而順序邏輯由觸發(fā)器組成。不同的晶體管以特殊的方式連接形成一個柵極,而不同的柵極連接形成一個觸發(fā)器。無論是組合邏輯還是時(shí)序邏輯,任何芯片的基本單元都是晶體管。
現(xiàn)代芯片由數(shù)十億個晶體管組成。例如,2021 年 10 月發(fā)布的最新款 MacBook M1 max 處理器由約 570 億個晶體管組成。從晶體管的數(shù)量可以推斷出,M1 max 處理器至少包含數(shù)百萬個門,如果不是數(shù)十億的話,這些門被仔細(xì)放置在單元站點(diǎn)中。這些門以邏輯方式精心互連以獲得功能芯片。
芯片開發(fā)發(fā)生在不同的階段。我們有一個前端階段,包括 RTL 設(shè)計(jì)、設(shè)計(jì)驗(yàn)證和 DFT 插入,而在后端階段,我們有平面規(guī)劃、時(shí)鐘樹綜合和布局布線。在 RTL 設(shè)計(jì)過程中,先編寫芯片代碼,然后進(jìn)行仿真。接下來,設(shè)計(jì)被綜合,然后在 RTL 代碼被凍結(jié)的同時(shí)通過各種后端流程。
在芯片開發(fā)過程中,很容易出現(xiàn)錯誤,在流片之前修復(fù)這些錯誤很重要,以確保芯片中的功能不會受到影響。在像M1 max這樣的芯片中,由于晶體管數(shù)量大,出現(xiàn)bug的概率就更大了。在 RTL 凍結(jié)后發(fā)現(xiàn)的錯誤可以通過修改網(wǎng)表代碼或通過 Cadence Conformal或 Synopsys Formality等工具手動執(zhí)行工程變更單 (ECO) 來修復(fù)。
圖 1這就是手動 ECO 流程的樣子。
對于小型 ECO,手動更改網(wǎng)表代碼是有效的,但在較大 ECO 的情況下,使用 EDA 工具是更好的選擇,因?yàn)榭梢哉{(diào)整現(xiàn)有的邏輯等效檢查 (LEC) 流程以自動執(zhí)行整個 ECO 流程。在本文中,我們將介紹半導(dǎo)體行業(yè)廣泛使用的 premask flatten Cadence Conformal ECO 流程。
前掩膜平整 ECO 流程所涉及的步驟
圖 2解釋了使用 Conformal 的 premask flatten ECO 流程。在開始 ECO 流程之前,應(yīng)執(zhí)行某些等效性檢查。LEC 在修改后驗(yàn)證設(shè)計(jì),而無需從測試臺傳遞任何測試向量。這些檢查比運(yùn)行回歸模擬更快,工程師經(jīng)常使用這些檢查在任何設(shè)計(jì)更改后執(zhí)行健全性檢查。
圖 2使用 Conformal 執(zhí)行 Premask flatten ECO 流程。
RTL1 – 沒有ECO的原創(chuàng)設(shè)計(jì)
RTL2 – 使用 ECO 修改設(shè)計(jì)
PNR1 – 來自 RTL1 的后布線網(wǎng)表,沒有 ECO
SYN2 – 帶有 ECO 的 RTL2 綜合網(wǎng)表
PNR2 – 帶有 ECO 補(bǔ)丁的后布線網(wǎng)表
有關(guān) LEC 及其流程的更多信息,請參見本系列的第一篇文章“使用 Conformal 進(jìn)行邏輯等效檢查 (LEC) 入門”。
完成所有初步檢查后,將帶有 ECO (SYN2) 的綜合網(wǎng)表和原始布線后網(wǎng)表 (PNR1) 提供給 Conformal 工具。這些網(wǎng)表分別稱為修訂設(shè)計(jì)和黃金設(shè)計(jì)。Conformal 工具讀取不同類型的優(yōu)化,例如由綜合工具執(zhí)行的邊界優(yōu)化和分層時(shí)鐘門控,并在輸入黃金和修改后的網(wǎng)表之間執(zhí)行 LEC。LEC 將報(bào)告非等效點(diǎn)數(shù)。應(yīng)仔細(xì)審查這些非等效點(diǎn),因?yàn)檠a(bǔ)丁生成取決于這些失敗的關(guān)鍵點(diǎn)。
圖 3顯示了有關(guān)使用 Conformal 的 premask flatten ECO 程序的更多詳細(xì)信息。
然后,該工具生成一個補(bǔ)丁,然后將該補(bǔ)丁應(yīng)用到黃金設(shè)計(jì) - PNR1 上,以獲取具有 ECO (PNR2) 的新布線后網(wǎng)表。最后,使用提供的庫信息使用 Cadence 的Genus綜合工具完成補(bǔ)丁優(yōu)化。為了驗(yàn)證 ECO 補(bǔ)丁并確保沒有其他故障出現(xiàn),LEC 在 SYN2 和 PNR2 之間運(yùn)行,并且期望得到零非等效關(guān)鍵點(diǎn)的干凈結(jié)果。
利用LEC流程做ECO
如前所述,可以修改現(xiàn)有的 LEC 流程以適應(yīng) ECO 流程。執(zhí)行 ECO 時(shí)這樣做的第一步是比較黃金設(shè)計(jì)和修改設(shè)計(jì),以計(jì)算它們之間的增量。這個增量又名補(bǔ)丁后來被優(yōu)化并應(yīng)用于黃金網(wǎng)表。隨后,再次使用 LEC 比較帶補(bǔ)丁的黃金網(wǎng)表和帶補(bǔ)丁的綜合網(wǎng)表以驗(yàn)證 ECO。如果比較干凈,那么 ECO 就成功了。
因此,簡而言之,我們需要在 ECO 之前進(jìn)行三個等效檢查,并在 ECO 期間進(jìn)行兩次等效檢查。在 ECO 期間的兩次等效檢查之間,通過以下命令生成、應(yīng)用和優(yōu)化補(bǔ)?。?/p>
生成:此命令生成分層補(bǔ)丁。該工具還可以根據(jù)補(bǔ)丁和引腳可用性添加/刪除 ECO 引腳。
analysis_eco -hierarchical -ecopin_dofile ecopins.do patch.v -replace
set_system_mode 設(shè)置
dofile ecopins.do
將補(bǔ)丁應(yīng)用于黃金設(shè)計(jì):使用以下命令將生成的補(bǔ)丁應(yīng)用于黃金設(shè)計(jì)。
apply_patch -auto
優(yōu)化:稍后使用 Genus 綜合工具提供的庫信息對補(bǔ)丁進(jìn)行優(yōu)化。優(yōu)化補(bǔ)丁中實(shí)例、網(wǎng)絡(luò)和寄存器的命名可以通過適當(dāng)?shù)膮?shù)進(jìn)行控制。
optimize_patch -workdir
-library
-sdc
-實(shí)例命名“ECOinst_%d”
-網(wǎng)絡(luò)命名“ECOnet_%d”
-順序命名“ECOreg_%s”
-synexec “屬”
-詳細(xì)
在 RTL 凍結(jié)后,可以在設(shè)計(jì)中發(fā)現(xiàn)錯誤,并最終通過執(zhí)行 ECO 來解決。手動更改網(wǎng)表代碼可能是一個耗時(shí)且麻煩的過程。與手動執(zhí)行 ECO 相比,使用 Conformal 或 Formality 等 EDA 工具可以自動化整個 ECO 流程,使其更快并且通常提供更好的結(jié)果。由于 Conformal ECO 流程利用了現(xiàn)有的 LEC 流程,因此在某些情況下可顯著減少整體 ECO 工作量。
ymf
-
處理器
+關(guān)注
關(guān)注
68文章
19896瀏覽量
235288 -
ECO
+關(guān)注
關(guān)注
0文章
52瀏覽量
15191
發(fā)布評論請先 登錄
關(guān)于Altium designer 原理圖轉(zhuǎn)pcb圖出現(xiàn)eco的情況說明
怎么解決Conformal做RTL和netlist的形式驗(yàn)證時(shí)綜合優(yōu)化的電路也會報(bào)不相等?
基于WINDCHILL 的PDM 工程變更管理研究Resea
INCISIVE CONFORMAL ASIC
基于PDM系統(tǒng)的傳統(tǒng)工程變更現(xiàn)狀及問題

一場關(guān)于自動化ECO解決方案的在線研討會
新思科技工程變更命令解決方案Tweaker ECO獲得群聯(lián)電子采用
詳解Xilinx FPGA的ECO功能

什么是ECO?ECO的應(yīng)用場景和實(shí)現(xiàn)流程

評論