CPF(Common Power Format):cadence推出的一种在设计中描述低功耗设计的文件。完全按Tcl的语言格式来定义。
CPF文件在整个前端后端的过程中,需要的部分不一样,所以CPF文件可以随着流程一步步的更新。
一个CPF文件可以分为两部分内容:工艺相关的信息(technology-related)和设计相关的信息(design-related)。
CPF要求顶层模块必须设置为default power domain,其他的instances 再按设计进行设置。同样也必须有一个default power mode,不过不要求必须是顶层module。
低功耗策略:MSV(Multiple Supply Voltage),对不同的logic,分出power domain,同一个domain中的voltage相同。
power mode:对一种确定的功耗状态,就可以称为一种mode,来方便分类分析。
lever shifters:一种有两组power和ground的cell,本身就带有两个power domain----primary and secondary power domain。
接在primary power domain上的power domain 称为这个cell的primary power domain,同理secondary power domain。
针对一个block的Timing and Power Analysis,以Power Mode为基本单元,包括Analysis View for Best Case Corner 和 Analyis View
for Worst Case Corner。其中的一个Analysis View,在以Power Domain 和 Operating Corner来进行分析。其中针对PVT来
讲(process, temperature, voltage),称为Operating Condition。Opeartion Condition + 相应的lib就可以得到各个lib的
BCS和WCS。在一个power mode中可以通过指定sdc files来进行时序约束,通过添加activity file来进行动态功耗分析,可以添
加的文件包括VCD, TCF, SAIF等value change file。
低功耗策略:PSO(Power Shut Off),设计的某些部分可以关断,来save leakage,dynamic power。
同一个power domain的blocks,leaf instances,pin能够同时的关断。
某些domain打开,某些domain关断的一种稳定状态就可以称为power mode
根据控制信号的不同,可以分为internal switchable(相应的需要一组power switch logic)和external switchable(需要一种external power shut-off method)。
为了防止一些domain关断时,输出X来影响其他的domain,所以需要在一个domain的输出logic中加入isolate cells(至少有两组供电单元)。同样为了在resume的工程中,能够得到off前的值,也需要state retention cells(至少有两组供电单元)。
同样在一个设计中,必须有一个always on power domain,来为这些logic和其他一些必要的logic提供电源。
低功耗策略:DVFS(Dynamic voltage frequency scaling),reduces the power in the chip by scaling down the
voltage and frequency when peak performance is not required。
设计中需要level shifters, isolate cells, state retention cells, power switch logic等。
在各个design flow中,需要的CPF文件中的部分:
RTL Verification: set_design
end_design
create_power_domain
create_nominal_condition(MSV,PSO,DVFS等都可以来电压来定义)
create_power_mode(domain+condition)
create_state_retention_rule
create_isolation_rule
create_level_shifter_rule
Synthesis: define_library_set(主要加入lib)
define_always_on_cell
define_state_retention_cell
define_isolation_cell
define_level_shifter_cell
define_power_switch_cell
update_nominal_condition(+lib)
update_power_mode
Physical: create_power_nets(主要加入power)
create_ground_nets
create_global_connection
create_power_switch_rule
update_power_switch_rule
update_power_domain
create_operating_corner
create_analysis_view