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