【Backend Flow工程实践 24】Low Power Flow:power domain、always-on、retention 和 power switch 如何进入后端实现?
作者Darren H. Chen方向Backend Flow / 后端实现流程 / EDA 工具工程 / Low Power ImplementationdemoLAY-BE-24_low_power_flow标签Backend Flow、EDA、Low Power、Power Domain、Always-on、Retention、Isolation、Level Shifter、Power Switch、Power Intent低功耗设计不是 RTL 里少翻转几个信号那么简单。在现代 SoC 中低功耗已经深度进入后端实现流程。它不仅影响 power analysis还会影响floorplan power network placement cell insertion clock tree routing static timing analysis physical verification logic equivalence signoff尤其是多电压域、power gating、retention、isolation、level shifter、always-on 这类结构会把原本统一的设计空间切分成多个电源语义不同的区域。这意味着后端工具不能只理解 cell、net、pin、port还必须理解哪个 cell 属于哪个 power domain 哪些 net 跨越 power domain 哪些 cell 在断电时仍要工作 哪些状态需要 retention 哪些信号需要 isolation 哪些电压边界需要 level shifter 哪些供电路径由 power switch 控制本文从底层原理、架构模型和工程方法论角度解释低功耗意图如何进入后端实现以及 power domain、always-on、retention 和 power switch 为什么不是简单附加信息。一、低功耗后端实现的本质把电源语义变成物理结构普通后端实现中设计通常被简化理解为logic netlist library constraints floorplan低功耗设计则多了一层 power intent。它描述的是哪些逻辑可以断电 哪些逻辑必须常开 哪些电源域之间需要隔离 哪些信号需要电平转换 哪些寄存器需要保留状态 电源开关如何控制供电 不同功耗模式下哪些 domain 是 ON/OFF这层信息不能停留在文档里它必须进入后端数据库。因为后端最终要把这些语义实现成物理结构power domain region voltage area always-on buffer isolation cell level shifter retention flop power switch cell special power route secondary power pin connection抽象转换如下Power Intent ↓ Power-Aware Design Database ↓ Low-Power Cell Insertion ↓ Power-Aware Floorplan / Placement ↓ Power Network Implementation ↓ Power-Aware Timing / Verification这说明低功耗不是一个独立后处理步骤而是贯穿整个后端实现的设计维度。二、Power Domain把逻辑层次切成电源管理区域Power domain 是低功耗 flow 的基础概念。它表示一组逻辑实例共享某种电源管理行为。例如CPU domain : 高性能运行可动态关断 GPU domain : 大功耗模块可独立关断 AON domain : always-on系统待机时仍保持供电 Memory domain : 可能有独立 retention 或低压模式 Peripheral domain: 根据场景开启或关闭从逻辑角度看power domain 是 instance 集合。从物理角度看power domain 往往对应 floorplan 中的区域。从电源角度看power domain 对应特定 supply set。所以 power domain 至少有三重含义logical domain : 包含哪些设计实例 physical domain : 位于哪个 floorplan 区域 electrical domain: 由哪些 power/ground supply 驱动这三者必须一致。如果逻辑上属于一个 domain 的 cell 被放到了另一个 voltage area可能导致power rail 连接错误 level shifter 插入位置错误 isolation 位置错误 timing/power 分析错误 LVS / power connectivity 问题因此 power domain 不是抽象标签而是会影响 placement 和 power routing 的约束对象。三、Always-on为什么某些逻辑必须不断电在 power gating 设计中某些 domain 可以断电。但系统不能完全失去控制能力。例如power controller wake-up logic reset controller isolation control retention save/restore control clock/power management interface这些逻辑必须在其他 domain 断电时仍然工作。这就是 always-on 逻辑。Always-on 的特殊点在于它可能物理上位于可关断 domain 附近 但电源必须来自 always-on supply 它驱动的信号可能进入 power-off domain 它的 routing 必须使用可持续供电路径例如一个 always-on buffer 可能用于驱动 isolation enable 信号。抽象示意AON Domain control logic │ ▼ always-on buffer ───── isolation enable ───── Switchable Domain如果这个 buffer 被错误接到了可关断电源它在最需要工作的时候反而会断电。因此后端低功耗实现必须保证always-on cell 使用正确 library cell always-on cell 放置在合法区域 always-on cell power pin 接到 AON supply always-on net route 不被错误切断 always-on control timing 被正确分析Always-on 不是普通 buffer而是带有电源语义的实现单元。四、Isolation断电 domain 输出为什么需要隔离当一个 power domain 被关断时它内部逻辑的输出不再可靠。如果这些输出直接驱动仍然上电的 domain就可能传播 X、毛刺或非法电平。因此需要 isolation cell。Isolation 的目的不是优化时序而是在 power-off 状态下为跨域信号提供确定值。抽象示意Switchable Domain Always-on Domain logic output ─── isolation ───► receiving logic │ isolation enable在正常工作时isolation cell 透明传递信号在源 domain 断电前或断电期间isolation cell clamp 到 0 或 1Isolation 的后端难点包括插入位置在哪里 control signal 来自哪个 domain isolation cell 由哪个 supply 供电 clamp value 是否符合功能需求 是否影响 timing path 是否改变 netlist 与验证关系如果 isolation 放错位置可能出现cell 自身也断电无法隔离 clamp 信号不可用 跨域信号仍然不确定 timing path 多出额外 delay LVS/LEC 处理复杂因此 isolation cell 是低功耗语义进入物理实现的典型例子。五、Level Shifter多电压域之间为什么不能直接相连不同 power domain 可能工作在不同电压。例如Domain A : 0.8V Domain B : 1.2V如果 0.8V 信号直接驱动 1.2V cell可能无法被可靠识别为逻辑高。如果 1.2V 信号直接驱动 0.8V cell可能造成过压风险。因此跨电压域信号需要 level shifter。抽象示意0.8V Domain 1.2V Domain signal ───── level shifter ─────► receiverLevel shifter 的后端问题包括在哪个 domain 边界插入 使用 low-to-high 还是 high-to-low cell 需要哪些 supply pins placement region 是否允许 routing 是否能接到双电源 timing arc 如何建模Level shifter 通常比普通 buffer 更复杂因为它涉及多个 supply。如果 power connection 或 placement 错误可能导致电平转换无效 cell 无法供电 timing 模型不匹配 LVS power pin mismatch PV 检查失败所以多电压后端实现必须把 level shifter 当作特殊物理对象管理。六、Retention为什么断电后还要保存状态Power gating 可以降低 leakage但断电会丢失寄存器状态。某些模块在 wake-up 后需要快速恢复不希望重新初始化所有状态。这时需要 retention。Retention 的思路是power down 前保存关键寄存器状态 power off 期间由 retention supply 保持状态 power up 后恢复到主寄存器抽象示意normal flop state ↓ save retention latch / storage ↓ restore normal flop stateRetention cell 的特殊性在于有主电源 有 retention 电源 有 save/restore 控制 有时序约束 有 power state 依赖后端实现需要处理retention flop 替换或插入 retention control routing retention supply connection save/restore timing check power state sequence verification如果 retention cell 连接错误问题可能不会在普通 timing 中马上暴露而会在低功耗模式切换中出现严重功能问题。七、Power Switchpower gating 如何变成真实供电结构Power gating 的核心是关断某个 domain 的供电。在物理实现中这通常通过 power switch cell 实现。抽象结构如下Primary Supply │ ▼ Power Switch Cell │ ▼ Switched Supply │ ▼ Switchable DomainPower switch 的输入是 unswitched power输出是 switched power。控制信号决定供电是否打开。后端需要解决power switch 放在哪里 需要多少 switch switch 宽度是否足够 IR drop 是否满足 inrush current 是否可控 control signal 是否可靠 switched power rail 如何连接Power switch 不只是一个 cell而是电源网络的一部分。如果数量不足可能导致IR drop 过大 wake-up 不稳定 局部供电不足 性能下降 可靠性问题如果控制信号设计不好可能导致开关顺序错误 部分 domain 半供电 isolation/retention 时序错误因此 power switch 需要和 power network analysis、floorplan、placement、routing 一起考虑。八、低功耗结构如何影响 FloorplanLow Power Flow 首先影响 floorplan。普通 floorplan 主要考虑die/core size macro placement row/site IO/macro channel congestion timing path power grid低功耗设计还要考虑power domain boundary voltage area shape always-on region switchable domain region power switch array isolation placement region level shifter boundary retention cell placement AON routing channel例如--------------------------------------- | Always-on Domain | | controller / wake-up logic | | | | ------------------------------- | | | Switchable Domain | | | | | | | | logic retention flops | | | | | | | ------------------------------- | | ^ isolation / level shifter zone | | | | power switch row / power boundary | ---------------------------------------如果 floorplan 没有预留低功耗结构空间后面会出现level shifter 无处放 isolation cell 放错 domain power switch 太分散 AON route 穿越复杂区域 retention supply 接线困难 power grid 不闭合所以低功耗后端不是 placement 后再补而是从 floorplan 就要规划。九、低功耗结构如何影响 TimingLow Power Flow 会改变 timing graph。因为它引入了额外 cell 和额外控制路径。例如普通路径 U1/Q ─────────────► U2/D 插入 level shifter 后 U1/Q ── LS ───────► U2/D 插入 isolation 后 U1/Y ── ISO ──────► U2/A这些 cell 会带来cell delay transition change capacitance change setup/hold impact power mode dependent timing multi-voltage timing checks更复杂的是不同 power state 下某些路径应该被分析某些路径不应该被分析。例如Domain OFF 时普通 functional path 不成立 但 isolation control path 必须成立 retention save/restore path 必须成立 always-on control path 必须成立这说明低功耗 timing 不是普通 STA 的简单扩展而是 timing graph 与 power state 的组合分析。十、低功耗结构如何影响 Routing 和 PVRouting 也会受到低功耗结构影响。主要包括AON net 需要特殊供电和路径可靠性 power switch 需要特殊 power routing level shifter 需要多电源连接 retention cell 需要 retention rail isolation control net 需要跨域连接 power domain boundary 附近规则更复杂PV 也会受到影响。常见检查包括power/ground connectivity power domain supply connection always-on cell supply level shifter supply pins isolation cell placement and power retention supply connectivity switchable rail connection voltage-aware LVS如果低功耗语义没有正确传递给后端和 PV可能出现逻辑功能仿真通过但版图供电错误 普通 LVS 通过但 power-aware 检查失败 timing 通过但某个 power mode 下路径不合法 route clean但 AON 控制信号不可用所以低功耗实现必须贯穿实现和验证全流程。十一、Low Power Flow 的推荐架构一个低功耗后端 flow 可以抽象成Power Intent Definition ↓ Library Capability Check ↓ Power Domain Creation ↓ Floorplan with Voltage Areas ↓ Insert Isolation / Level Shifter / Retention ↓ Power Switch Planning ↓ Power Network Construction ↓ Power-Aware Placement ↓ Power-Aware CTS / Routing ↓ Power-Aware Timing Analysis ↓ Power Connectivity / PV Check ↓ Signoff Handoff其中最容易被忽略的是 library capability check。低功耗 cell 必须在 library 中存在isolation cell level shifter retention flop always-on buffer power switch cell如果库里没有对应 cell低功耗意图就无法落地到物理实现。十二、Demo 设计LAY-BE-24_low_power_flow这个 demo 的目标是建立低功耗后端实现的最小对象模型。建议 demo 输入data/design/domain_instance_map.txt 数据中的 power domain 定义 数据中的 always-on net 列表 数据中的 isolation crossing 列表 数据中的 level shifter crossing 列表 数据中的 retention register 列表 数据中的 power switch plan建议 demo 执行逻辑1. 读取 instance 与 power domain 映射 2. 检查跨 domain net 3. 判断哪些 crossing 需要 isolation 4. 判断哪些 crossing 需要 level shifter 5. 检查 retention register 是否有 save/restore 控制 6. 检查 always-on cell 是否使用 AON supply 7. 检查 power switch 与 switched domain 的关系 8. 生成 low power implementation checklist建议 demo 输出reports/power_domain_summary.rpt reports/cross_domain_net.rpt reports/isolation_plan.rpt reports/level_shifter_plan.rpt reports/retention_plan.rpt reports/power_switch_plan.rpt reports/low_power_checklist.rpt logs/low_power_flow.log这个 demo 的重点不是完整实现低功耗芯片而是把低功耗后端的关键对象关系建立起来。十三、方法论低功耗问题要从对象关系开始检查低功耗 debug 不能只看某个命令是否执行成功。更重要的是检查对象关系是否正确instance → power domain power domain → supply set supply set → power/ground net crossing net → isolation / level shifter retention register → save/restore control always-on cell → AON supply power switch → switched supply mode/state → active domain如果这些关系错了后面 placement、routing、timing、PV 都可能错。因此 Low Power Flow 的第一层 report 应该是对象关系 report而不是最终 timing report。建议至少生成power_domain_instance.rpt supply_connection.rpt cross_domain_signal.rpt always_on_cell.rpt isolation_cell.rpt level_shifter_cell.rpt retention_cell.rpt power_switch_cell.rpt power_mode_summary.rpt这类 report 可以帮助工程师快速判断低功耗语义是否真正进入了后端数据库。十四、方法论低功耗 closure 必须跨阶段低功耗问题很少只属于一个阶段。例如 isolation cell 插入失败可能原因是power intent 定义不完整 library 中没有匹配 cell domain boundary 不清楚 placement region 不合法 control signal 不可用 supply connection 错误Retention 问题可能涉及寄存器选择 cell 替换 save/restore timing retention supply routing power state sequencePower switch 问题可能涉及floorplan power grid IR drop control routing PV connectivity所以低功耗 closure 必须跨阶段管理。不能在最后才问为什么 power-aware check fail而应该在每个阶段都问power domain 是否仍然一致 AON 结构是否仍然正确 跨域信号是否都有策略 低功耗 cell 是否合法放置 power switch 是否接入正确 rail PV handoff 是否包含 power 语义十五、总结Low Power Flow 的核心不是多跑几个低功耗命令而是把 power intent 转换成后端实现数据库中的对象、约束和物理结构。Power domain 决定逻辑和物理区域如何按电源语义分组。Always-on 保证系统在关断状态下仍有控制能力。Isolation 保证 power-off domain 的输出不会污染 still-on domain。Level shifter 保证不同电压域之间的信号可靠传递。Retention 保证断电后关键状态可以保存和恢复。Power switch 则把 power gating 落地成真实供电结构。可以用一句话概括低功耗后端实现就是把“哪些电路什么时候由谁供电”这件事落实到 floorplan、library、placement、routing、timing 和 PV 的完整工程闭环中。这也是为什么 Low Power Flow 必须作为 Backend Flow 的核心组成部分而不是 tapeout 前的附加检查。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2578667.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!