[VCS][UPF]低功耗仿真介绍

                 Unified Power Format[UPF]低功耗仿真介绍

 

        前言: 在集成電路中,造成功率消耗的原因主要有以下3點:(1)Switching Power;(2)Short Circuit Power;(3)Leakage Power;其中前2項屬於動態功耗,第三項屬於靜態功耗。並且P(sw) = CV^2F;P(sc) = VI(sc)F;P(leak) = VI(leak)。本文主要介紹Low Power相關的驗證。

 

一、仿真命令

       1、vcs mvsim --- 仿真命令

       2、MVRC —检查命令

       3、Checking 包含Equivalence checking 和static MV checking

二、如何使用upf 来实现低功耗流程的仿真验证呢?

       第一步,先得有UPF 文件,根据设计需求,使用TCL 建立脚本,建立和管理独立电压源、确定隔离、建立电平漂移等,一般是设计或者后端人员书写,验证工程师当然也可以写,具体内容参考IEEE 1801。

       第二步,仿真case 中添加电源上电过程,使用$supply_on 函数给相应VDD 上电。

       第三步,将UPF 嵌入到仿真命令中,即:irun -lps_1801 sim.upf -lps_assign_ft_buf -lps_iso_verbose ... 或者
              1 ncvlog ...
              2 ncelab -lps_1801 sim.upf -lps_assign_ft_buf -lps_iso_verbose ...
              3 ncsim ...

三、相关options 解释如下:

       ①-lps_1801 filename: 指定符合IEEE 1801 标准的UPF 文件;
       ②-lps_assign_ft_buf: 指定assign 赋值被当做buffer 对待,而非默认的wire,好处是从always-on domain 进入和穿过power-down domain 的信号被force 成x,便于debug;
       ③-lps_const_aon: 对处在power-down domain 并且直接和always-on domain相连接的tie-high 或者tie-low constant,不使能corruption 功能;默认不使用该功能;
       ④-lps_enum_rand_corrupt:对于用户定义的enum 类型数据,在电源关断后,随机从枚举列表中选择一个值作为变量值;和该命令相类似的还有-lps_enum_right, -lps_implicit_pso 等,因为不常用,就不一一介绍了;
       ⑤-lps_iso_verbose: 使能isolation 的log 功能,这个一般需要加上;
       ⑥...
       其它的options 请参考cadence 的low-power simulation guide。最后,运行仿真即可。


四、最后说一下low power 流程验证正确性和完备性的确认方法。

       ①增加的low power 流程不能影响芯片本身功能的正确性,比如通过电源关断来降低芯片功耗,则关断再打开后,芯片还可以正常work。这部分可以利用原有的self-check 验证环境来确认。
       ②利用log 文件分析,上述仿真命令-lps_verbose 和UPF 文件会为仿真输出与low power 相关的warning, error 以及assertion 信息,通过log 文件可以check流程的正确性;

       ③自动的assertion checker 分析,使用-lps_verify 选项可以自动检查电源关断顺序(隔离->复位->断电)和电源打开过程(上电->解复位->解隔离),如不满足该时序要求,会自动报错;
       ④利用覆盖率保证验证完备性,使用-lps_vplan 选项依据UPF 文件生成lowpower 验证计划,通过simvision 提供的coverage 接口,得到low power 相关的功能覆盖率;

 

五、低功耗仿真注意事项

       1. 当power domain 下电时,仿真器会把所有该domain 的变量赋为X态,尤其要注意各个memory,flash,rom 的模型,由于flash,rom 是带有记忆功能,所以仿真时在下电前先保存内部内容,然后在上电后再后门赋值回去.
       2. 当force 了某个power domain 的某个信号,当下电又重新上电时,force 会失效-----此点可能会被改进

 

 

 

 

 

你可能感兴趣的:(Tool)