story · 2020年07月16日

低功耗数字IC设计中的工艺库需求

//来自微信公众号 "数字芯片实验室"

为了使用时钟门控,多电压域,多阈值库或电源开关等低功耗策略,工艺库必须包含支持这些策略的逻辑单元。 支持低功耗设计的一些单元包含以下部分:

1、 Lib库电源引脚连接定义

在之前的CMOS工艺中,芯片上所有的单元都连接到同一个电源。 工艺库中不包含单元的电源连接关系,因为所有单元共享相同类型的电源(VDD、VSS)。

然而,当芯片上使用多个电源,就必须指定每一个单元的特定电源连接关系。 对于某些类型的单元,例如level shifter,需要指定相同单元,不同电源引脚的连接关系。

为了描述此类信息,Liberty库语法已扩展为可以支持电源的连接关系。 这个电源连接关系可以用于综合、物理实现和验证工具优化电源设计,合适地连接layout上的电源引脚,并分析使用多个电源电压的设计行为。

对于没有电源引脚的旧lib库,可以在Design Compiler或IC Compiler中通过add\_pg\_pin\_to\_lib或add\_pg\_pin\_to\_db 命令快速添加电源引脚,从而使库与UPF电源规范兼容。

2、时钟门控单元

Power Compiler等综合工具可以确定时钟门控的位置,提供最大的功耗降低效益,并可在设计中自动插入时钟门控电路。

将时钟门控电路插入现有的时钟网络可能会引入skew,对时序产生不利影响。 为了让综合工具在综合时考虑这些影响,你可以让工具使用integrated clock-gating cells。 集成的integrated clock-gating cells时钟门控电路中的组合和时序电路。 图1显示了integrated clock-gating cells的一种实现方式。

时钟门控单元可以包含任何类型的逻辑,例如多个使能输入,异步复位或反向门控时钟输出。 Power Compiler可以通过将周围的逻辑吸收到门控时钟单元内部来优化使能逻辑。

3、 Level Shifters

在多电压设计中,信号从一个电压域穿过另一个电压域时需要Level Shifter。Level

Shifter作为缓冲器工作,输入端和输出端在不同的电压域。 因此,Level Shifter将信号从一个电压摆幅转换到另一个电压摆幅,同时希望从输入到输出具有尽可能小的延迟。 见图2。

Level Shifter单元的库描述必须包含有关转换类型的信息(从高到低,从低到高或两者都可以),以及所支持的电压电平,和相应的电源引脚。

Power Compiler和IC Compiler等综合和物理实现工具可以识别设计中需要进行电平调整的网络,找到库中可用的合适的Level Shifter单元,将Level Shifter插入网表,放置Level Shifter,并走线信号和电源。

以下图3显示了从低到高电平转换的Level Shifter的lib语法.

4、 Isolation Cells

在使用电源开关的设计中,从可以断电的电源域跨越到未断电的电源域的每个逻辑信号都需要Isolation CellsIsolation Cells作为缓冲器工作,但在输入端断电的时间内提供恒定的输出信号。 使能输入控制单元的操作模式。 见图4。
716.jpg
以下示例显示了典型Isolation Cells的lib语法。

可以同时实现level-shifting和isolation功能的单元称为enable levelshifter cell。 这种类型的单元用于信号从一个电源域穿过的地方另一个电源域,两个电源域电平不同,并且第一个电源域域可以被断电。 见图5。

以下示例显示典型enable levelshifter cell的lib库语法。
716.jpg

5、 Power-Switch Cells

在具有电源开关的设计中,需要header和 footer 类型开关给可以断电的模块供电。 Header类型电源开关连接power rail 到断电模块的电源引脚。 Footer类型电源开关将ground rail连接到断电模块的接地电源引脚。输入逻辑信号控制电源开关。 见图6。

电源开关单元的库描述指定控制电源开关的输入信号,连接到实际power rail和ground rail的引脚,以及提供可开关的电源引脚。

以下示例显示了典型电源开关单元的lib语法。

6、 Always-On Cells

在电源域被关闭时,可能存在某些特定单元需要持续保持活动状态的情况,例如retention
registers,isolation cells,retention控制路径和isolation使能路径。与普通单元相比,功能相同的always on单元具有备用电源,即使在模块断电期间也能连续工作。 见图7。
716.jpg
以下示例显示了always-on单元的lib语法。

7、 Retention Register Cells

在具有电源开关的设计中,有几种不同的方法在掉电之前来保存寄存器状态,在上电时恢复它们。 一种方法是使用retention registers,这些寄存器可以在其断电期间通过低泄漏寄存器网络和always-on电源供电保持其状态。

以下示例显示典型retention register的lib库语法。

本文转载自公众号:芯片数字实验室
原文链接:https://mp.weixin.qq.com/s/sMNK6aeb2uaM\_luBVCVv0A
未经作者同意,请勿转载!

推荐阅读

想了解更多内容,欢迎关注芯片数字实验室专栏
推荐阅读
关注数
12320
内容数
223
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息