概述
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 会失效-----此点可能会被改进
最后
以上就是俏皮雨为你收集整理的[UPF]低功耗仿真介绍 Unified Power Format UPF低功耗仿真介绍的全部内容,希望文章能够帮你解决[UPF]低功耗仿真介绍 Unified Power Format UPF低功耗仿真介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复