应用场景:只有某个PVT的库,想要check在另一个PVT下,design的QoR,俗称library scaling。比如:只有0.9V125C的库,想要看1.0V125C的timing, power。
要求:library支持,工具支持。要做scaling,library中必须有『Derating』部分,就是常说的K-factors,现今大概总共有3*37 =(k_process + k_temp + k_volt)个K-factors,随着工艺的进步,可能会有更多的factor加入,Derating部分不是library必须要有,也不需要定义所有的factor,下图中『Derating parameters』所列k_xxx即是一部分需要用到的factor;如今主流的跟PPA相关的实现验证工具都支持library saling,但不是所有的工具都有必要支持所有的K-factors。
计算公式:scaled_value = total_scale * value_from_lib.
其中:
total_scale = proc_scaling temp_scaling volt_scaling
proc_scaling = 1 + K_proc * (current_proc - org_proc)
temp_scaling = 1 + K_temp * (current_temp - org_temp)
volt_scaling = 1 + K_volt * (current_voltage - org_voltage)
如:
scaled_leakage_power = total_scale *leakage_power_from_lib
scaled_cell_delay = total_scale * cell_delay_from_lib
回到上面的示例,虽然库里列一个一堆的k-factor,但是很流氓的都设成了0,所以这个库空有其表,是做不成library scaling的。
工具端:以Genus为例,可以基于单个library 做scaling,也可以基于多个library做scaling。
例:single library
set_attr library { {library1_PV1T.lib library1_PV2T.lib} {single_lib1.lib}}
set_attr voltage V2 [get_attr active_operating_conditions /]
例:multi library
set_attr library { {library11.lib library12.lib} {library21.lib library22.lib}}
set_attr voltage V3 [get_attr active_operating_conditions /]
参考文献:
Genus\_User\_Guide.pdf
作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/dFhX9cBXas2jbRVVTUfpHw
作者微信公众号
相关文章推荐
更多IC设计技术干货请关注IC设计技术专栏。