目錄
前言
在使用 Synopsys Design Compiler (DC) 進行綜合的過程中,library(庫)是最關鍵的資源之一。許多初學者在剛開始學習 DC 時,即使知道如何設定 .synopsys_dc.setup,卻常常搞不清楚需要載入哪些庫,這是很多初學者常常會遇到錯誤。其實多半是因為沒有弄清楚 library 的來源 與 用途 ,因此本文將詳細介紹 Synopsys 提供的各類 library,幫助大家快速理清觀念。
1. Library 在 IC 設計中的角色
在 RTL → Gate-Level 綜合過程中,library 主要提供:
- 功能:每個 cell 的邏輯定義(AND, OR, DFF…)。
- 時序:延遲、setup/hold、clk→Q 等。
- 功耗:動態功耗與靜態漏電。
- 面積:單元大小,用來做面積估算。
Design Compiler 在 mapping、優化、時序分析時,都需要依賴這些資訊。
2. Synopsys 官方提供的幾大類 Library
(1) Example / 範例庫
- 檔案範例:
lsi_10k.db,lsi_10k.sdb,lsi_7k.dblsi_9k.dblsi_lsc15.db
- 用途:
- 主要用於學習與教學。
- 提供一個「虛擬製程」的標準 cell 庫,適合 新手熟悉 DC 的基本流程。
- 特色:可用於示範 DC 綜合流程,但不能用於實際 Tapeout。
(2) DesignWare Library
- 檔案範例:
dw_foundation.sldb,standard.sldb - 用途:
- Synopsys 的 IP Library,內建常用算術模組。
- 例如:加法器(DW01_add)、乘法器(DW02_mult)、除法器、比較器、FIFO、編碼器、ALU。
- DC 在遇到高階運算時,可以直接用 DW 元件來實現。
- 特色:合成後會展開,最終 mapping 到 target_library 的製程 cell。
(3) Synthetic Library
- 檔案範例:同 DesignWare Library(
dw_foundation.sldb、standard.sldb) - 用途:
- 合成過程的「中介庫」。
- 告訴 DC 有哪些"高階運算功能",如:加、減、乘、除等,可以由
DesignWare來支援。而非基本的cell。 - Synthetic Library 定義了 DesignWare 裡面的 IP 元件可以提供的功能和介面,讓 DC 知道如何使用 DesignWare Library 裡的元件。
- 最後並不會直接進 layout。
- 特色:僅作為高階運算模組支援的中介描述,不會直接成為最終網表。
(4) Symbol Library
- 檔案範例:
generic.sdb,lsi_10k.sdb,umc18.sdb - 用途:只用於 GUI 工具(如 Design Vision),顯示電路符號,與 timing 無關。
- 提供者: Synopsys/PDK/Foundry
(5) Generic Library — gtech.db
- 檔案範例:
gtech.db - 用途:Synopsys 提供的 Generic Technology Library。
- 特色:
- 裡面只有邏輯功能定義(AND, OR, INV, DFF),沒有真實 timing/功耗。
- DC 在還沒指定 target_library 時,會先用 gtech 作為「暫存庫」。
- 在
link_library中,常會保留gtech.db當備援。
3. Target Library(製程 cell 庫)與官方庫的關係
需要特別強調的是:
- Target library 並不是 Synopsys 提供的!
- Target library 必須由 晶圓廠(TSMC, UMC, Samsung…)或 PDK 供應商 提供。
- 檔案範例:
slow.db,typical.db,fast.db - 檔案格式:
.lib(文字版).db(二進位版,給 DC 用)。
- 包含完整的 timing、功耗、面積資訊。
在 DC 中:
- target_library → 真正 mapping 的 cell。
- link_library → target_library + 其他 macro/IO 庫 + Foundry 提供的基本 Cell Library (optional)。
- synthetic_library → DesignWare。
- symbol_library → GUI 顯示。
4. 常見檔案類型整理
| Library 類型 | 檔案範例 | 提供者 | 用途 |
|---|---|---|---|
| Example Library | lsi_10k.db, lsi_7k.db | Synopsys | 教學/學習用,虛擬製程 |
| Symbol Library | generic.sdb, lsi_10k.sdb | Synopsys/PDK/Foundry | GUI 符號顯示 |
| Synthetic Library | dw_foundation.sldb | Synopsys | 高階運算模組支援,DesignWare 介面定義,告訴 DC 可用的高階運算模組 |
| DesignWare Library | standard.sldb | Synopsys | 算術與邏輯 IP 的實作模組(mult, add, FIFO…) |
| Generic Library | gtech.db | Synopsys | 功能性 cell,製程無關 |
| Target Library | slow.db, typical.db | 晶圓廠/PDK | 真正 mapping 的 cell 庫 |
| IO/Macro Library | umc18io3v5v_fast.db | 晶圓廠/PDK | IO、記憶體、PLL 等特殊 macro |
5. 附錄:Synopsys 安裝目錄中的範例與輔助庫
在 Synopsys 安裝目錄下,常會看到以下檔案:
此附錄中的檔案均由 Synopsys 提供,主要用於教學、功能支援與展示。請注意,這裡列出的 .db 檔都不是來自晶圓廠的真實製程庫,因此不能用於實際的晶片投片 (Tapeout)。
a) 教學/範例庫 (作為練習時的 target_library)
這些是虛擬製程庫,在學習 DC 流程時,常被用來當作 target_library 和 link_library。
lsi_10k.db/.lib
(角色: target_library, link_library)lsi_10k.sdb
(角色: symbol_library)lsi_7k.db/.liblsi_9k.db/.liblsi_lsc15.db/.lib
b) Generic / 功能庫 (幾乎必加在 link_library 中)
這些是製程無關的通用邏輯庫,用於讓 DC 在早期階段能連結到基本邏輯閘。
gtech.db
(角色: link_library 的一部分,作為備援)generic.sdb/.slib
(角色: symbol_library,用於顯示gtech中的元件)
c) DesignWare / Synthetic (用於 synthetic_library)
這些庫定義了高階的 DesignWare 元件(如加法器、乘法器),讓 DC 知道如何使用這些 IP。
dw_foundation.sldb
(角色: synthetic_library)standard.sldb
(角色: synthetic_library)
e) DFT 相關庫 (用於 link_library 或 synthetic_library)
當設計中需要插入 DFT (可測試性設計) 相關邏輯時,需要連結這些庫。
dft_jtag.sldbdft_lbist.sldbdft_mbist.sldb
(角色: 根據不同 DFT 流程,可能加入link_library或synthetic_library)
===>用於 JTAG / LBIST / MBIST 測試相關功能
f) 功耗/非線性模型庫 (作為分析用的輔助庫)
這些庫主要用於展示先進的功耗與時序模型,在一般綜合中較少直接使用。
nonlinear.db/.libpower_sample.db/.libpower2_sample.db/.lib
(角色: 特殊分析時才會載入,通常不屬於標準設定)
g) Demo/小型庫
and_or.db/.libclass.db/.libclass.sdb/.slib
(角色:class.db可作 target_library,class.sdb則是對應的 symbol_library)class_fpga.db/.libdemo.lib
===> 小型示範用庫,只有簡單邏輯單元。
h) 其他特殊檔
tc6a_cbacore.db / .sdb、tc6a_cbamc.db / .sdbvhdlmacro.db*.flib / *.font(內部格式)iddq.fmd / iddq_tt.fmd(故障測試模型)
6. 總結
- Synopsys 官方主要提供 範例庫 (lsi_10k 系列)、DesignWare、synthetic library、symbol library、gtech。
- 這些庫可用於學習、測試與工具支援,但 不能直接用於 Tapeout。
- 真正的 target library(製程庫)必須由晶圓廠提供。
- 在 DC setup 中,常見設定是:
target_library→ 製程庫link_library→ target + gtech + macro + Foundry 提供的基本 Cell Library (optional)synthetic_library→ DesignWaresymbol_library→ GUI 符號
2566

被折叠的 条评论
为什么被折叠?



