Smart Fix 中的位置
ucs_lib_parser 直接解析 Liberty delay;本 Tcl 在 PrimeTime 数据库中取得结构属性。两者不是替代关系,输出在 Smart Fix 数据准备阶段合并。
- 在
pt_shell中 source 本脚本并生成 cell attribute JSON。 - 用 Rust 默认版
ucs_lib_parser --cell_attr_file解析各 corner Liberty。 - 将生成的 per-corner 或 merged JSON 交给 Smart Fix。
Quick start
# pt_shell;library 已加载 source ucs_dump_lib_cell_attribute.tcl # 截图中的 Samsung P57 命名族 ucs_dump_lib_cells \ -tech samsung_p57 \ -file p57_cell_attributes \ -filter "*" # Rust 默认发布的 Liberty parser ucs_lib_parser \ --config gen_config.json \ --cell_attr_file p57_cell_attributes.json
脚本始终同时生成 <file>.json 和 <file>.tcl。Smart Fix / Lib Parser 使用 JSON。
Samsung P57 mapping
P57 family 会保留完整 function/variant,避免把 INV_C、MUX2、CB_MUX2 错误归为同组。size_base_name 保留 VT、去掉 drive;swap_base_name 去掉 VT、保留 drive,因此 size-up 不会跨 VT,swap-VT 不会跨 drive。
| PrimeTime reference cell | base_name | size_base_name | swap_base_name |
|---|---|---|---|
| ULVTP57G8T6_INV_C_4 | P57G8T6_INV_C | ULVTP57G8T6_INV_C | P57G8T6_INV_C_4 |
| ULVTP57G8T6_INV_C_12 | P57G8T6_INV_C | ULVTP57G8T6_INV_C | P57G8T6_INV_C_12 |
| LVTP57G11T6_MUX2_1 | P57G11T6_MUX2 | LVTP57G11T6_MUX2 | P57G11T6_MUX2_1 |
| RVTP57G11T6_CB_MUX2_1 | P57G11T6_CB_MUX2 | RVTP57G11T6_CB_MUX2 | P57G11T6_CB_MUX2_1 |
Options
| Option | Meaning |
|---|---|
| -tech | samsung_p57、samsung_n8、tsmc_n3c 或 tsmc_n3p;默认 tsmc_n3c。 |
| -file | 输出 basename;生成同名 JSON 与 Tcl。 |
| -filter | PrimeTime full_name glob;默认 *。 |
| -debug | 1..4,实际级别受许可证上限约束。 |
| -h | 显示帮助。 |
Enrichment JSON contract
{
"lib_cells": [
{
"name": "ULVTP57G8T6_INV_C_4",
"base_name": "P57G8T6_INV_C",
"size_base_name": "ULVTP57G8T6_INV_C",
"swap_base_name": "P57G8T6_INV_C_4",
"vt_type": "ULVT",
"drive_strength": 4,
"function_id": "INV",
"output_pin": "ULVTP57G8T6_INV_C_4/ZN",
"pin_count": 3,
"resistance": {"rise": 1.25, "fall": 1.75, "average": 1.5},
"area": 0.4
}
]
}Lib Parser 消费的匹配键是 name;enrichment 字段为 base_name、size_base_name、swap_base_name、vt_type、drive_strength 与 function_id。其余字段保留供 Tcl/后续 flow 使用。
Runtime
- 必须在支持 Synopsys collection API 的
pt_shell/ Fusion Compiler shell 中运行。 - 使用
get_lib_cells、get_lib_pins、get_attribute、sizeof_collection与index_collection。 - 排除
dont_use=true以及没有 output pin 或 drive resistance 的 cell。 - 许可证从 UCS 树的
common/license/ucs_license_check.tcl加载;运行日志写到当前目录。
Support
Technical: tech@universalchipstudio.com
Business: support@universalchipstudio.com