罗风 · 2021年03月16日

论功耗 | IEEE1801 Coding Part II

Isolation

Isolation:当一条net 的driver 在shutoff power domain 而load 在more on power domain 时,该net 在跨power domain 时就需要插入isolation cell. 以保证在shutoff power domain 断电时,more on power domain 的输入被钳位到一个固定电压值而不是一个不定态。Isolation cell 在逻辑功能上可能是『二输入与』也可能是『二输入或』,其中一个输入是控制信号,用于掉电后把输出拉高或拉低,另一个输入为功能信号。通常有双电源跟单电源两种isolation cell, 双电源isolaiton cell 可以放入shutoff power domain, 一组电源接shutoff power 另一组电源接backup 电源;而单电源isolation cell 只能放入more on power domain 或more more on parents power domain.

WeChat Image_20210316100932.jpg

不同的工具都在跟着IEEE 1801 标准的更新不断改进,并不是所有的工具都支持所有的option, 其实大部分isolation 的定义都不需要所有的option。在UPF1.0 中需要用set\_isolation + set\_isolation\_control 两条命令来定义一条isolation stratage, 即使是到1801 时代,在很长一段时间,有些工具依然需要用两条命令来定义。

WeChat Image_20210316101128.jpg

定义哪里需要插入 isolation:

  • 从"一张图" 开始,确定需要插入isolation 的interface net.
  • 用下面的option 来定义:

WeChat Image_20210316101131.jpg

定义如何插入 Isolation:

  • 用如下option 定义:

WeChat Image_20210316101134.jpg

Level Shifter

Level shifters:当一条net 的driver 跟load 在由不同电压驱动的power domain 时,该net 在跨power domain 时就需要插入level shifter cell,以确保输入信号的电平在合法范围内。通常level shifter cell 有三种:从低到高、从高到低、既能低到高也能高到低。在逻辑功能上 level shifter cell 比isolation cell 简单,就是一个buffer,但是需要两组power supply, 输入power supply 对应于driver 的supply, 输出power supply 对应于load 的supply。

WeChat Image_20210316101137.jpg

理论上讲,只要net 跨越不同电压驱动的power domain 就需要插入level shifter cell, 但是如果一根信号是从高电压区域到低电压区域,且『高低电压差』在低电压区cell 可忍受范围内,则可以省去该level shifter cell. 但是通常从低电压到高电压,则一定要插入level shifter,否则可能由于电压低于load cell 翻转电压导致功能错误,而且会由于管子不能完全关断会造成持续短路电流。

WeChat Image_20210316101140.jpg

level shifter rule 的定义也比isolation rule 要简单。

WeChat Image_20210316101143.png

定义哪里需要插入 level shifter:

WeChat Image_20210316101145.png

定义如何插入 level shifter:

WeChat Image_20210316101147.jpg

Map to specfic cells

在大多数情况下,都需要指定某个isolation 或 level shifter stratage 可用哪些特定的lib cell, 在UPF 1.0 中会用如下命令予以指定:

*map\_isolation\_cell -lib\_cells
*

*map\_level\_shifter\_cell -lib\_cells
*

在很多用IEEE 1801 描写的UPF 文件中,亦会用这两条命令来指定,一方面是由于工具端更新不及时,另一方面源于用户使用习惯。 在IEEE1801 中定义了新命令:use\_interface\_cell. 这条命令可以针对某条具体的strategy 来指定。

WeChat Image_20210316101151.jpg

如果一条net 即需要插入isolation cell 也需要插入 level shifter cell 通常会用到一种带enable pin 的level shifter cell, 这类cell 有两类:一类叫enabled level shifter cell 另一种叫combo cells, 即将isolation cell 跟 level shifter cell 组合到一起的cell, 这两类cell 在library 中的定义不同,用CPF 描述时也不同,用IEEE 1801定义时,需要分别定义isolation rule 跟 level shifter rule, 然后用use\_interface\_cell 将两条rule 指定到组合的cell 上即可。

WeChat Image_20210316101154.png


作者:陌上风骑驴
来源:https://mp.weixin.qq.com/s/mlvBO6JtrNCuMUUhsaHdoQ
作者微信公众号
捕获.PNG

相关文章推荐

论功耗 | IEEE1801 Coding Part I
论形式验证 | 撸 LEC flow

更多IC设计技术干货请关注IC设计技术专栏。
推荐阅读
关注数
11258
内容数
1222
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息