【低功耗 Power 学习专栏 -- isolation cell】

news/2025/2/7 20:36:26/

文章目录

  • SOC Isolation Cell
    • 1. Isolation Cell 的工作原理
    • 2. Isolation Cell 与 Shutdown Module、Always-On Module 之间的关系
    • 3. Isolation Cell 的 Primary Power 和 Secondary Power
    • 4. Isolation Cell 的插入位置
    • 5. Isolation Cell 示例
    • 6. 总结

SOC Isolation Cell

在这里插入图片描述

1. Isolation Cell 的工作原理

Isolation Cell(隔离单元)是一种特殊的电路单元,主要用于在 SoC 的不同电源域(Power Domain)之间传输信号,以避免在低功耗模式下发生不受控的信号泄露或错误。其主要作用包括:

  • 防止浮动信号 :当某个电源域(Power Gated Module)被关闭(Power Gating),其输出引脚可能进入不确定状态(floating),从而影响其他仍然工作的电路。Isolation Cell 确保关断区域的输出信号保持确定状态(如逻辑 01)。在这里插入图片描述
    其原理也很简单,基本上等同于 AND 或者 OR 门:
    在这里插入图片描述

  • 控制信号稳定性 :保证关断模块(Shutdown Module)和始终开启模块(Always-On Module)之间的信号传输稳定。

  • 减少功耗 :在低功耗模式下,可以通过 Isolation Cell 降低泄漏功耗。

Isolation Cell 主要有两种工作模式:

  1. Clamp to 0(夹紧到 0) :在低功耗模式下,隔离单元将输出强制拉低(输出 0)。

  2. Clamp to 1(夹紧到 1) :在低功耗模式下,隔离单元将输出强制拉高(输出 1)。

Isolation Cell 的控制信号通常由电源管理单元(PMU)或电源域控制器(Power Domain Controller)提供。

2. Isolation Cell 与 Shutdown Module、Always-On Module 之间的关系

Isolation Cell 主要作用于不同功耗模块之间的接口,尤其是:

  1. Shutdown Module(关断模块)
  • 该模块的电源会被完全关闭(Power Gating)。

  • 关闭时,它的输出引脚会浮动(Floating),可能导致不确定的信号状态。

  • Isolation Cell 被用于防止浮动信号影响其他模块。

  1. Always-On Module(始终开启模块)
  • 该模块的电源始终开启,例如 PMU、时钟管理、RTC(Real-Time Clock)、中断控制器等。

  • Isolation Cell 用于确保来自已关闭电源域的信号不会影响 Always-On Module 的工作。

工作流程示意:

  • 当 Shutdown Module 关闭时,Isolation Cell 会将其输出强制为 01,确保 Always-On Module 继续正常工作。

  • 当 Shutdown Module 恢复供电时,Isolation Cell 允许信号正常传输。

3. Isolation Cell 的 Primary Power 和 Secondary Power

Isolation Cell 连接了两个不同的电源:

  1. Primary Power(主电源)
  • 由目标电源域(Power-Gated Module)供电,在低功耗模式下可能会关闭。

  • 例如:如果某个计算模块可以被关断,它的 VDD_CORE 就可能作为 Primary Power。

  1. Secondary Power(次级电源)
  • 由始终开启的电源域(Always-On Module)供电,即使主电源关闭,它仍然保持工作。

  • 例如:如果 PMU 是 Always-On 的,它的 VDD_AON 可能作为 Secondary Power。

iso cell 有一个控制端 EN,
当 EN 无效时, A 端信号直接送到 Y 端,此时 iso cell 等效于一个buffer;
当 EN 有效时,buffer 断开,Y 端保持固定的高电平或者低电平;
在这里插入图片描述

为了保证isolation cell 能够在power down的时候仍然能够正常工作,一般来说 isolation cell 都会有一个primary power和一个secondary power,后者能够保证前者power down时器件仍然能够工作。

即如上图所示:
iso cell 的两组 power:primary power VDD 和 backup power VDDB,当 左边domain 关掉时, VDD off,此时就由 VDDB 供电,维持 Y 端的固定电平。

隔离单元如何依赖这两个电源?

  • 在主电源关闭时,Isolation Cell 依然由 Secondary Power 供电,以确保其功能正常(维持输出 01)。
  • 当主电源恢复时,Isolation Cell 允许信号正常传输。

4. Isolation Cell 的插入位置

Isolation Cell 通常被插入在 Power-Gated Module 和 Always-On Module 之间的信号通路上 ,其具体摆放位置如下:

  1. 在 Power-Gated Module 内部
  • Isolation Cell 可能会放在 Power-Gated Module 内部,靠近该模块的输出端。

  • 这样可以防止关断模块的信号浮动后扩散到其他模块。

  • 优点 :避免浮动信号在模块内传播。

  1. 在 Always-On Module 内部
  • Isolation Cell 也可以放置在 Always-On Module 的输入端。

  • 这样可以确保来自关断模块的信号不会影响始终工作的模块。

  • 优点 :可以由 Always-On Module 进行集中控制。

  1. 在 Power Domain Interface(电源域接口)
  • 也可以将 Isolation Cell 设计成独立的电源域接口单元,在所有 Power Domain 之间提供隔离。

  • 优点 :统一管理,减少每个模块单独管理的复杂度。

推荐的插入位置

  • 对于 输出信号(Power-Gated Module → Always-On Module) ,Isolation Cell 通常放在 Power-Gated Module 内 ,确保关断时信号固定。

  • 对于 输入信号(Always-On Module → Power-Gated Module) ,Isolation Cell 通常放在 Always-On Module 内 ,避免输入浮动。

5. Isolation Cell 示例

假设一个 SoC 设计如下:

  • CPU Core(VDD_CORE) 采用 Power Gating,可关闭以节省功耗。

  • PMU(VDD_AON) 为始终开启的模块,用于管理 SoC 的低功耗状态。

  • CPU 和 PMU 之间有中断信号(INT) ,用于唤醒 CPU。

示例电路

Power-Gated CPU (VDD_CORE) ---> Isolation Cell ---> Always-On PMU (VDD_AON)

设计逻辑

  • VDD_CORE 关闭时,Isolation Cell 使 INT 信号固定在 0,防止浮动。

  • VDD_CORE 重新开启时,Isolation Cell 允许 INT 信号正常传输。

Verilog 代码示例

module isolation_cell (input  wire in_signal,   // 来自 Power-Gated Moduleinput  wire iso_enable,  // 由 PMU 控制,决定是否隔离output wire out_signal   // 传输到 Always-On Module
);assign out_signal = iso_enable ? in_signal : 1'b0;  // Clamp to 0 模式
endmodule

时序控制

  1. VDD_CORE 关闭前,iso_enable = 0out_signal = 0

  2. VDD_CORE 重新打开后,iso_enable = 1,信号正常传输。

6. 总结

  1. Isolation Cell 的作用
  • 确保 Power-Gated Module 关闭时,其信号不会影响 Always-On Module。

  • 维持确定的逻辑状态(0 或 1)。

  • 降低功耗,保证低功耗模式下的可靠性。

  1. 与 Shutdown Module、Always-On Module 的关系
  • 主要用于连接 Shutdown Module 和 Always-On Module,防止浮动信号。
  1. Primary Power 和 Secondary Power
  • Primary Power:被关断的模块的电源,如 VDD_CORE

  • Secondary Power:始终开启的电源,如 VDD_AON,用于维持 Isolation Cell 运行。

  1. Isolation Cell 插入位置
  • 通常放置在 Power-Gated Module 的输出端Always-On Module 的输入端

  • 也可以独立作为 Power Domain Interface 进行统一管理。

  1. 示例
  • CPU(VDD_CORE)与 PMU(VDD_AON)之间的中断信号,需要 Isolation Cell 保护。

Isolation Cell 是 SoC 低功耗设计的关键组件,合理的设计与插入位置能有效降低功耗,提高系统可靠性。

推荐阅读
https://cloud.tencent.com/developer/article/1942151
https://www.techsimplifiedtv.in/2023/06/isolation-cell-in-vlsi.html


http://www.ppmy.cn/news/1570144.html

相关文章

SQL高级技巧:高效获取两表交集数据的三种方法(JOIN、IN、EXISTS)

一、引言 在SQL开发中,获取两表交集数据是常见的需求,而实现这一目标的主要方法有三种:JOIN、IN 和 EXISTS。虽然它们都能完成任务,但语法、性能和应用场景却各有不同。 我们将通过对比分析这三种方法的区别与优缺点&#xff0c…

idea整合deepseek实现AI辅助编程

1.File->Settings 2.安装插件codegpt 3.注册deepseek开发者账号,DeepSeek开放平台 4.按下图指示创建API KEY 5.回到idea配置api信息,File->Settings->Tools->CodeGPT->Providers->Custom OpenAI API key填写deepseek的api key Chat…

把bootstrap5.3.3整合到wordpress主题中的方法

以下是将 Bootstrap 5.3.3 整合到 WordPress 主题中的方法: 下载 Bootstrap 文件:从 Bootstrap 官网下载最新的 5.3.3 版本的 CSS 和 JavaScript 文件。 上传文件到主题目录:将下载的 CSS 文件上传到 WordPress 主题文件夹中的 /css 文件夹…

安装和卸载RabbitMQ

我的飞书:https://rvg7rs2jk1g.feishu.cn/docx/SUWXdDb0UoCV86xP6b3c7qtMn6b 使用Ubuntu环境进行安装 一、安装Erlang 在安装RabbitMQ之前,我们需要先安装Erlang,RabbitMQ需要Erlang的语言支持 #安装Erlang sudo apt-get install erlang 在安装的过程中,会弹出一段信息,此…

【SOC估计】基于扩展卡尔曼滤波器实现锂离子电池充电状态估计matlab代码和报告

锂离子电池 SOC 估计技术介绍 在现代电子设备中,锂离子电池是核心的能量来源,准确估计其剩余电量(SOC)显得尤为关键。SOC 估计技术不仅能有效预测电池剩余电量,还能避免电池过度充放电,进而延长电池寿命&am…

【Git】一、初识Git Git基本操作详解

文章目录 学习目标Ⅰ. 初始 Git💥注意事项 Ⅱ. Git 安装Linux-centos安装Git Ⅲ. Git基本操作一、创建git本地仓库 -- git init二、配置 Git -- git config三、认识工作区、暂存区、版本库① 工作区② 暂存区③ 版本库④ 三者的关系 四、添加、提交更改、查看提交日…

qsort函数对二维数组的排序Cmp函数理解

在我们解题过程中,很多情况下,排序是必不可少的一环。 对于C语言来说,排序函数qsort就显得非常重要。 本文介绍一维数组、二维数组的qsort排序,其中二维数组的Cmp函数的写法做了详细注释。 qsort函数原型介绍: /* …

正则表达式详细介绍

目录 正则表达式详细介绍什么是正则表达式?元字符转义字符字符类限定字符字符分枝字符分组懒惰匹配和贪婪匹配零宽断言 正则表达式详细介绍 什么是正则表达式? 正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想…