当前位置: 首页 > article >正文

数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)

下图所示为咱们社区T12nm A55低功耗实现项目。其实这个项目还可以根据产品的需求做一些改进。改进后项目实现的难度会大大增加。也希望通过今天的这个项目案例分享,帮助到今年IC秋招的同学。

芯片低功耗设计实现upf编写指南(附低功耗项目案例)
在这里插入图片描述

T12nm工艺数字IC后端实现难点都有哪些?

如何规避顶层Top到子模块接口的setup和hold violation?

Timing Signoff之check_timing检查(今晚19:10分直播)

这个T12nm A55低功耗项目使用的upf部分截图如下所示。

在这里插入图片描述
在这里插入图片描述

低功耗数字IC后端设计实现典型案例| UPF Flow如何避免工具乱用Always On Buffer?

比如下图所示的A55包含三个Power Domain,分别是PDCPU(PD_PSO),PDSYS(PD_AW_ON)和PDCPU_MEM。

在这里插入图片描述

这里把PDCPU子power domain中的Memory又划了一个单独的power domain。如果想再复杂点,还可以按照不同memory划分成多个memory的power domain。

【思考题】PDCPU_mem这个Power Domain的powerplan应该如何设计?

这里的Memory需要选用自带power gating的memory类型,这些memory的端口也有类似power switch cell NSLEEP信号,用来控制memory的开和关。

在这里插入图片描述
在这里插入图片描述

所以这样的设计不仅要给PDCPU中的power switch cell串链,还需要给memory串链。

假如所有Memory是串在一条chain上,那么大体上串链的结果如下图所示。稍微有点sense的数字后端工程师看到这里就知道此时会有max transition violation。

在这里插入图片描述

低功耗设计实现典型案例| UPF Flow如何避免工具乱用Always On Buffer?

图片

这些max transition violation主要出现在以下几个地方。

左侧memory和右侧memory进行chain连接的net

memory_req和memory_ack信号(第一颗memory和最后一颗memory)

【思考题】memory_req和memory_ack信号在PDSYS Domain中是否需要插always on buffer? Memory之间这根串链信号在PR阶段是否需要特殊处理?为什么?

对于两个power domain中的power switch cell串链,需要留意到PDSYS Power Domain也是需要power off的,只不过它比PDCPU更AON(PDCPU OFF,PDSYS ON)。所以这两个power domain内部的power switch cell链不能串在一起,串链控制信号也必须从外部单独提供。

在这里插入图片描述

此外,还可以时序要求,把PDCPU和PDSYS做成两个Voltage Domain即两边工作电压不一样。此时upf还需要描述这两个domain边界处的Level Shifter 的约束。

对于从PDCPU—> PDSYS这个方向的接口信号,需要让工具添加ELS(Isolation cell + LS)。

对于从PDSYS—> PDCPU这个方向的接口信号,只需要插普通的LS。

在这里插入图片描述

【思考题】Enable Level Shifter Cell是应该选用source还是destination类型的?

在这里插入图片描述

另外还需要注意isolation cell和level shifter cell的摆放要求。比如isolation cell到底应该放在哪个power domain?isolation cell或Enable Level Shifter Cell的input pin是否可以插普通buffer?

在这里插入图片描述

而且PR后端实现做完还需要去检查对于PD_PSO这个power domain所有输出的接口是否都有插上isolation cell。

在这里插入图片描述


http://www.kler.cn/a/395865.html

相关文章:

  • C++的一些模版
  • uniapp ios app以framwork形式接入sentry
  • 【大模型实战篇】vLLM的由来以及大模型部署、推理加速实践
  • 栈相关算法题1|通过栈判断链表是否对称|共享栈入栈出栈|括号匹配|多种括号配对|递归求序列最大值(C)
  • 软件设计师考试大纲
  • python习题练习
  • 想要成为独立游戏作者 :通关!游戏设计之道 2-2 关卡设计
  • Unity图形学之Shader2.0 深度测试
  • 双指针优质算法题集
  • 基于STM32的智能语音识别饮水机系统设计
  • Ajax异步调用
  • css 溢出隐藏显示省略号
  • 地质旅游平台推动“旅游+地质”融合发展
  • Spring学习笔记_34——@Controller
  • 协方差矩阵及其计算方法
  • 动态规划 之 子数组 算法专题
  • Ceph 中PG与PGP的概述
  • Algen的跨链互操作性:增强区块链连接性
  • CSS Module:告别类名冲突,拥抱模块化样式(5)
  • 如何使用 WebAssembly 扩展后端应用
  • 0 -vscode搭建python环境教程参考(windows)
  • 【论文分享】三维景观格局如何影响城市居民的情绪
  • Vue3 虚拟列表组件库 virtual-list-vue3 的使用
  • JavaScript 单选框设置选中
  • 第5章-总体设计 5.2 需求转化为规格
  • java中设计模式的使用(持续更新中)