千家信息网

library scaling及scaling calculation怎么使用

发表于:2024-10-31 作者:千家信息网编辑
千家信息网最后更新 2024年10月31日,本篇内容主要讲解"library scaling及scaling calculation怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"librar
千家信息网最后更新 2024年10月31日library scaling及scaling calculation怎么使用

本篇内容主要讲解"library scaling及scaling calculation怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"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。

计算公式: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 /]

到此,相信大家对"library scaling及scaling calculation怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0