lower power的IP设计

在IP的实现过程中,考虑lower power部分进行设计:

1)Partition the design来满足lower power的一些strategies,尤其是power gating和clock gating。

2)为power gating增加额外的逻辑。

3)设计clock和reset的strategy来配合lower power设计。

lower power memory可能需要好多mode:normal operating mode,retention mode,power off。

其中retention mode工作在一个低电压下,retain data。

针对power gating,在IP设计中需要注意:

1)区分power gating和power always on的block。

2)设计power controller控制power up和power down的sequence。(一般在IP外的一个aon模块中)

3)区分signal需要做isolate处理。

一般的power down和power up的sequence操作:

lower power的IP设计

1)判断transaction和fifo都已为空。

2)停止clock。

3)针对isolate信号,进行clamp操作。

4)进retention操作。

5)复位IP。

6)关掉power。

上电过程中,会在clock之前进行一个rst,在经过clock的sync之后,才会被撤销。 异步复位的rst端口是电平触发,可以保证rst的成功。

但是仿真器中的X->0行为不确定。 掉电区域的clock,必须有一个clock的eb信号默认为有效,这样在上电后,可以保证有clock。

但是clock的频率需要再用该clock或者其他有电的clock进行配置。

rst的sync,只在存在cdc issue的问题上才会做。 同一个clock group上的clock,不需要做sync,不存在相位差。

上电过程中很多其他的clock的enable信号也必须是默认有效的,或者bus上的clock的enable信号默认有效。

1)从pmu过来的rst会进行同步; 2)Bus相关的rst会由bus的clock来同步; 3)Module相关的rst会由自己的clock来同步;

在rtl的simulation过程中,在power down之后,force register的输出为X,来进行仿真。

在gate-simulation过程中,可以建立一个switching fabric的model来进行仿真,还可以得到power up/down时间。

一个power gating的IP的框图,其中的pwr_switch在综合后加入。

lower power的IP设计

上一篇:JS学习笔记Day7


下一篇:python学习之路网络编程篇(第五篇)