为了延长电子便携式产品的电池使用时间,降低设计功耗变得越来越重要。在IC设计流程中,多种电源管理技术逐渐被应用,如clock gating,MSV(Multiple Supply Voltage),PSO(Power Shut Off)。然而这些低功耗技术的引入,对验证工作带来了很大的挑战性。
CPF(Common Power Format)是Cadence公司提出的一套完整的低功耗解决方案。本文根据CPF在低功耗验证过程中的实际使用情况,阐述了如何使用CPF来查找低功耗设计问题以及简化验证工作。
VIA芯片的低功耗设计和验证的挑战
在笔者目前负责的芯片中,用到的主要的低功耗设计技术包括clock gating,MSV(Multiple Supply Voltage)和PSO(Power Shut Off)。CPF主要被用于进行PSO的验证。
图1是一个芯片结构示意图:黄色区域表示电源always-on的电源域。电源关断的控制信号来自外部。

图1 芯片模块图
低功耗芯片设计的验证方式评估
由于RTL代码没有电源信息,因此在RTL通常很难验证到和低功耗设计相关的bug。
为了实现RTL级代码的power aware验证,我们在2007年第四季度针对支持低功耗设计的验证方式进行了评估,选择了基于CPF的Cadence的流程和另外一家基于PLI方式的低功耗验证方式进行了评估。
表1是评估结果。
表1 Power Aware验证评估结果

应用CPF验证低功耗设计流程
1 将低功耗设计规范写成cpf文件
此步骤在我们的设计中非常简单,下面是一个简单的cpf文件的示意。
# Define the top domain
set_design TOP
# Define the default domain
create_power_domain
-name pdTop -default
# Define Power-Domain A
create_power_domain
-name pdA
-instances {uA uC}
-shutoff_condition {!uPCM/pso[0]}
2 在验证流程中读入cpf文件
应用IDTS进行仿真包括3个步骤:
Ncvlog:编译文件
Ncelab:扩展和链接
Ncsim:进行仿真
进行power aware simulation时,只需要在第二步ncelab增加一个option“-nclps_cpf design.cpf”把第一部产生的cpf读入就可以了。
以下是进行仿真之前关于低功耗设计的相关信息:
***Low Power Simulation Power Information
Power domain:PDcore
-Default
-AlwaysOn
Power domain:PDau
-Instances:
TESTBENCH.inst.alu_inst.aui
Power domain:PDlu
-Instances:
TESTBENCH.inst.alu_inst.lui
Power domain:PDalu
-Instances:
TESTBENCH.inst.alu_inst
Power domain:PDrf
-Instances:
TESTBENCH.inst.rf_inst
Total number of power domains:5
图2是电源关断恢复的波形图。
当对应的电源关断控制信号有效时,对应的power domain中的信号被置为X值。
当对应的电源关断控制信号有效时,对应的power domain中的信号依然为X,当对应的信号恢复程序执行后,信号恢复正常。

图2 电源关断恢复的波形图
应用CPF验证低功耗设计
在选定Cadence基于CPF的power aware verification flow作为此项目的低功耗设计芯片的设计流程之后,我们在其他设计中也应用了此流程,如门级网表设计等。
在应用此流程之后,设计人员得以发现了一些与低功耗设计相关的设计bug,避免了芯片的失败。
由于设计和验证环境都非常复杂,Cadence flow中显现出一些问题:
1
0
免责声明:以上内容凡注明署名的,其版权属于署名者所有,转载请注明署名;所有转载的内容,EDN China发布该内容都是出于传递更多信息之目的,如果有侵犯版权事宜,请通知
edneditor@gmail.com 或 010-66422242-213,我们将在第一时间删除该信息。