图 3-5 Retention Cell的电路结构示意图
图中(a)表示寄存器的Retention Cell,当Save和Restore都是0的时候,使能保持电路不工作,而寄存器的置位和复位端无效,寄存器正常工作。需要进入Sleep模式,首先需要停止寄存器的Clk(Clk_On信号关闭),接着准备进入Sleep模式。当Save为1后,Q端数据被采集进保持电路中,然后可以关闭电源(Power_on关闭)。打开电源后(Power_on打开),将Restore置1,如果保持电路输出为1,则对寄存器做异步置位,否则做异步复位,使寄存器输出与保持电路一致。需要注意的是,Save为从0置1后,不可以再有时钟改变Q端输出,且Save必须有一定的宽度,保证Q端数据被记录下来,同时关闭电源一定要等数据被保持下来后才可以进行。打开电源后,Restore一定要保持一定的时间,使寄存器充分复位或置位,同时在下一个时钟沿到来之前,一定要将Restore清0,否则Q端就不会发生变化,电路可能就会出错。当数据被读回后,就可以打开时钟(Clk_On打开),开始正常工作了。时序示意图如下所示:
图 3-6 Retention Register工作时序示意图
图中(b)是一个Retention Latch的电路结构示意图,原理与寄存器的Retention Cell类似,这里就不详细描述了。
下面所示是一个Retention Cell的Liberty格式描述,描述是基于一个常见寄存器或Latch的格式上进行的:
cell(<cell_name>) {
retention_cell : <retention_cell_style>;
pin(<pin_name>) {
retention_pin(<pin_class>, <disable_value>);
…
}
…
}
retention_cell_style主要是定义一个器件识别名,不同功能名字不能一样。这里所说的功能,不止是寄存器或latch的功能,还需要考虑到save和restore过程是否一致。
9 / 26
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库数字集成电路低功耗物理实现技术与UPF(9)在线全文阅读。
相关推荐: