2022年8月12日 星期五

如何載入 max/min delay library 進行 setup/hold time 分析

Design Compiler 或 IC Compiler 預設都是會使用在 target library 和 link_library 中第一個讀取到的 .db 檔。但是做 timing analysis 時,我們要用 worst case library 來分析 setup time,用 best case library 來分析 hold time。以下說明如何載入 max/min delay library,這部分是在 .synopsys_dc.setup 檔中進行。

在 target_library 中,要引入 max delay 的 standard cell library:

set target_library "std_cell_max.db"

在 link library 中,要引入 max/min delay 的 memory library、io library:

set link_library "* $target_library dw_foundation.sldb \
    std_cell_min.db \
    io_max.db \
    io_min.db \
    memory_max.db \
    memory_min.db \
    "

接下來我們要設定在 max/min timing analysis 時所使用的 library:

set_min_library std_cell_max.db \
-min_version std_cell_min.db

set_min_library io_max.db \
-min_version io_min.db

set_min_library memory_max.db \
-min_version memory_min.db

如此一來,Design Compiler 和 IC Compiler 就會根據以上設定的 max/min delay library 來進行 setup/hold time analysis。若沒有用 set_operating_conditions 來選擇 operating condition 的話,會直接使用 max/min delay library 中的 default operating condition。

沒有留言:

張貼留言