在之前的soc仿真中,用到了多电源域设计,因此学习了带UPF仿真的低功耗验证方法,在这里记录一下当时遇到的问题
低功耗设计包含:
1. 多电源域设计,部分模块可以使用不同的电压,如1.3v 1.1v 0.8v
2. 多阈值电压cell的使用(Multiple-Vt Library Cells ),在设计中,对于不同速度要求的信号使用LVT HVT等方法。
3. 电压关断(Power Switching),最常用的方法
4. 关闭时钟 (clock gating),我们的设计中每一个单元都有,这个常用在PMU单元中。
在做UPF仿真时注意的几点:
1.如果是后端或者DC直接提供的UPF,那么很可能用在vcs验证时,有些关键词识别不出来,这是工具之间不识别导致的,需要手动修改。
2. 在rtl阶段仿真,power switch是不能被识别的,因为此时还没有实际的cell,DC综合后的网表能识别一些isolation,retention,level_shifter,但是没有powerswitch。只有经过了ICC之后,才能被识别,此时的电路才有pg
3.在create_power_switch语句中,有一个 -ack_port {HEADOUT1 u_top.u_alog.pw_sw_ack} 关键字,代表的是返回的acknowledge信号,其中ieee标准定义如下:
在实际的使用时,这个关键字后面可以带一个bool表达式,我在使用的时候发现,这个返回信号的值与实际相反,不知道是不是跟boot表达式没使用有关系