罗风 · 4月8日

点知识:library scaling 及 scaling calculation

应用场景:只有某个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。

微信图片_20210408110506.jpg

计算公式: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的。

微信图片_20210408110531.jpg

工具端:以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://support.cadence.com

作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/dFhX9cBXas2jbRVVTUfpHw
作者微信公众号
捕获.PNG

相关文章推荐

更多IC设计技术干货请关注IC设计技术专栏。
1 阅读 123
推荐阅读
0 条评论
关注数
1964
内容数
381
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
Arm中国学堂公众号
关注Arm中国学堂
实时获取免费 Arm 教学资源信息
Arm中国招聘公众号
关注Arm中国招聘
实时获取 Arm 中国职位信息