gsr的全称是"Global System Requirement",这种文件包含了RedHawk分析所需的全局参数和配置信息。以下是我总结的一份模板:
# IREM工艺相关输入
# # Redhawk工艺参数文件(technology file)
TECH_FILE
EM_TECH_FILE
# # # 如果没有EM_TECH_FILE,也可以按需求设置以下变量
EM_RULE_SET_AVG
EM_RULE_SET_RMS
EM_RULE_SET_PEAK
# IREM库相关输入
# # 物理库 LEF
LEF_FILES {
}
# # 时序库 LIB
LIB_FILES {
}
# # Redhawk电流电容库 APL
APL_FILES {
}
# IREM设计相关输入
# # 版图信息 DEF GDS
DEF_FILES {
}
GDS_CELLS {
}
# # 信号线RC寄生参数 SPEF
CELL_RC_FILE {
CONDITION worst
cell1 SPEF_files/cell1.spef
cell2 SPEF_files/cell2.spef
}
# # 时序信息 STA timing file
STA_FILE {
FREQ_OF_MISSING_INSTANCES 400e6
}
# # 电源位置信息 ploc file
PAD_FILES {
}
# # 电源线信息 PG net and voltage
VDD_NETS {
}
GND_NETS {
}
# # 频率和翻转率 toggle rate
FREQ 400e6
TOGGLE_RATE 0.3 2.0
INPUT_TRANSITION 0.1ns
# # 仿真向量文件 VCD/FSDB file(可选)
BLOCK_VCD_FILES {
VCD_FILE {
top /post_ir.fsdb
FILE_TYPE FSDB
FRONT_PATH
SUBSTITUTE_PATH ""
SELECT_RANGE -1 -1
TRUE_TIME 0
}
}
# # 电源开关模型 power switch model
SWITCH_MODEL_FILE {
}
# # 设置温度
TEMPERATURE 125
TEMPERATURE_EM 100
DELTA_T_RMS_EM 10
# ------------------------------------------------------------------------------------------------------------
# 可选配置
# 指定工艺节点
TECHNOLOGY
# 退出备份
APACHE_FILES clean
# 缓存(默认是当前目录./)
CACHE_DIR ./temp
# 忽略错误
IGNORE_LEF_DEF_MISMATCH 1
IGNORE_DEF_ERROR 1
IGNORE_GDSMEM_ERROR 1
IGNORE_LIB_CHECK 0
IGNORE_PGARC_ERROR 1
# 低功耗设计相关
PUSH_PG_PININST 1
PUSH_SIGNAL_PININST 1
IGNORE_UPF_PGARC 1
DO_PININST_INTERNAL_CONN 1
#signal EM相关
EM_USE_DUTY_RATIO 1
APL_MODE Accurate
# 先进工艺要求
USE_DRAWN_WIDTH_FOR_EM 1
USE_DRAWN_WIDTH_FOR_EM_LOOKUP 1
APL_INTERPOLATION_METHOD 4
# # 在电路建模时,长度大于指定最大长度 L 的通孔阵列将被分割成长度为 L 或更小的单个阵列。这样可以获得更精确的压降数据。
SPLIT_SPARSE_VIA_ARRAY 1
ENABLE_BLECH 1
# EM 报告
EM_REPORT_PERCENTAGE 95
EM_REPORT_LINE_NUMBER 9999
# 静态功耗可忽略decap cell和IP
IGNORE_CELLS {
*FILL*
*DECAP*
}
注:该模板可根据跑静态或动态功耗分析进行调整。分割线以上的部分大多都是必须准备的数据,APL文件是代工厂给的;GDS2DEF的文件需要额外生成,放在GDS_file里;ploc的格式类似于下面这样:
# 供电点名称 x坐标 y坐标 供电类型
VSS 300 2100 M10 ground