前言#
簡單來說,LIB/LEF/DEF 為一種包含特定資訊的,供 EDA 工具使用的文件格式。
這篇文章將討論:
- 這些文件的作用是什麼?
- 為什麼需要這些文件?
不會討論:
- 文件細節,每個字段含義
LIB#
Timing Library Format
描述標準單元 timing 和 power 資訊的 .lib
文件。
如:delay time (input 到 output 的時間)、transition time (訊號在改變過程 (ex: 0 → 1) 中花的時間)、requirement of setup time (訊號到來之前要維持穩定的時間,才能保證訊號有被正確接收)、requirement of hold time (訊號進入之後要維持穩定的時間,才能保證往下一層傳是正確的)。
LEF#
wiki: Library Exchange Format
在集成電路設計中,庫交換格式(LEF)是一種規範,用於以 ASCII 格式表示集成電路的物理佈局。它包括設計規則和標準單元的抽象資訊。
LEF 僅包含該級別所需的基本資訊,以滿足相關 CAD 工具的目的。它只提供抽象視圖,因此內存開銷較少,有助於節省寶貴的資源。LEF 與 Design Exchange Format (DEF) 結合使用,可在設計過程中表示集成電路的完整物理佈局。
對 LEF 的一種通俗理解:
LEF 描述單元的物理屬性,包含大小、端口位置、各層定義、通孔定義等,簡單想成這個單元的外框,要跟別的單元能夠互相連接的那些訊息,至於裡面有什麼內容先不管。LEF 包含的資訊大概可以這麼理解:A 大樓建地 200 坪共 10 層樓高,一樓有 5 個出入口,五樓有保留天橋空間,頂樓有空中花園,B 大樓建地 200 坪共 15 層樓高,一樓有 8 個出入口,同樣在五樓有保留天橋空間,頂樓有空中花園,兩棟地下室停車場完全相連共用。
根據 Wikipedia 描述,可知 LEF 分類為包含設計規則的 Tech LEF 和包含標準單元抽象資訊的 Cell LEF
Tech LEF#
Tech LEF 是描述工藝技術規則的文件,提供製造工藝相關的物理設計約束和參數。
- 作用:定義晶片設計中可用的層、規則和佈線資源。
- 內容:
- 圖層資訊:定義金屬層、過孔層、掩膜層等(如寬度、高度、間距)。
- 設計規則:約束設計者的佈線、間距、密度等要求。
- 工藝屬性:電阻、电容等層屬性參數。
- 應用:提供 P&R 工具進行設計規則檢查(DRC)、佈線規劃和寄生參數提取。
Cell LEF#
Cell LEF 是描述標準單元的抽象物理佈局資訊的文件,用於指導 P&R 工具的佈局與佈線。
- 作用:定義每個單元的尺寸、引腳位置及其金屬層映射。
- 內容:
- 單元邊界:單元的寬度、高度。
- 引腳位置:引腳的坐標和金屬層。
- 阻擋層(Obstruction):限制佈線區域。
- 功耗引腳:如 VDD 和 GND 的位置。
- 應用:指導 P&R 工具進行單元放置、佈線連接。
DEF#
wiki: Design Exchange Format
設計交換格式(DEF)是一種開放式規範,用於以 ASCII 格式表示集成電路的物理佈局。它表示網表和電路佈局。DEF 與 Library Exchange Format (LEF) 結合使用,可在設計過程中表示集成電路的完整物理佈局。
主要作用#
- 交換物理設計資訊:在 EDA 工具間傳遞設計佈局、佈線和相關數據。
- 記錄設計狀態:從佈局規劃到完成佈線,各階段的物理設計資訊。所以每個階段的 DEF 資訊不同,既可表示初步佈局,也可表示完整佈線。
DEF 與 LEF 的關係#
- LEF 描述工藝規則和標準單元(邏輯層面)。
- DEF 描述特定設計的物理實現(實例化層面)。
為什麼需要?#
為什麼需要 LIB 文件:提供標準單元的時序和功耗資訊,支持 STA, Power 分析等工具的正常運行
如果沒有 LEF/DEF:
1. 工藝規則約束缺失(無 LEF)
- 工具無法獲取佈線層定義、設計規則(如間距、寬度等)。
- 導致不符合工藝要求的設計,可能無法製造或導致高失敗率。
2. 標準單元資訊缺失(無 LEF)
- 工具無法識別單元尺寸和引腳位置,無法完成單元放置和佈線。
- 導致佈局階段停滯。
3. 無法記錄物理實現資訊(無 DEF)
- 設計階段的物理資訊無法在工具間傳遞,跨工具協作受阻。
- 佈局佈線後的結果無法保存或重用,設計驗證與迭代困難。