1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| # --- 1. 定义最新的 dont_use 模式列表 --- # 包含:延迟单元、低驱动强度单元(D0)、超低压阈值单元(ULVT)等 set vars(dont_use) "DEL* *CK* *D16BWP* *D0* *OPT* INVD18BWP* BUFTD* *DFCS* *DFNCS* *TIE* INVSK*D1BWP* *ULVT*"
# --- 2. 自动化执行 setDontUse --- # 使用 dbget 从库中匹配真实单元名,并执行设置 foreach pattern $vars(dont_use) { # 查找匹配该 pattern 的库单元名 set lib_cells [dbget head.libCells.name $pattern] if {$lib_cells ne ""} { foreach cell $lib_cells { # 将单元设为不可用,防止工具在 place/opt 阶段自动调用 setDontUse $cell true # 如果需要调试,可以取消下面这一行的注释查看详细输出 # puts "INFO: Set library cell $cell to dont_use" } } else { # 如果库里找不到匹配的模式,打印提示 puts "WARNING: No matching cells found for pattern $pattern" } }
puts "SUCCESS: All specified cells have been set to dont_use."
|