一、概述
Power Constrained Veceless Scenario(功耗约束的无向量场景,PCVS),也叫 Target Power Vectorless Analysis,是一种动态 IR Drop / EM 签核方法学。有两个特点,一是Veceless(无向量),二是Power Constrained(功耗约束)。
Veceless:不需要功能仿真产生的 VCD/SAIF 激励向量,而是通过事件传播(event propagation)或统计学方法自动生成翻转活动。
Power Constrained(功耗约束):用户指定功耗目标值(如全芯片 10W、某 block 3W),工具自动迭代调整各类活动参数,使最终平均功耗收敛到目标值的容差范围内(默认 ±5%),不用仿真向量,让工具自动造出一个"恰好消耗指定功耗"的最坏翻转场景,用来做动态 IR Drop 签核。
为什么需要PCVS。后仿真波形来得晚,准确的 VCD/SAIF 要等到设计后期(软件就绪后),此时 ECO 空间极小。覆盖不全 有限的仿真向量无法覆盖所有工作负载,可能漏掉真实的最坏功耗场景 。运行时间长,大规模 SoC 的门级仿真极慢,生成多条向量成本高 。向量不可控,仿真向量的功耗是"结果"而非"目标",无法精确指定"我要测 15W 时的 IR" 。
普通 Veceless 的不足。传统无向量分析(如 uniform switching / 默认 toggle rate 0.2)虽然快,但功耗值不可控,可能远高于或低于实际工作功耗全芯片,统一翻转率不真实,局部功耗分布与硅上行为偏差大。无法回答"这个 block 在 3W 功耗下 PDN 够不够"这类具体问题。
PCVS的价值。功耗精确可控,指定多少 W,工具就造出多少 W 的场景。100% 实例覆盖,每个 instance 都有 toggle activity,不会漏掉最坏压降点。局部粒度约束,可以按 block / region / power domain / PG net 分别设功耗目标。早期可用,不需要仿真向量,CTS 后即可运行。与 VCD 相关性好,相关论文验证,power-guided veceless的hotspot 分布与 VCD-based 分析高度吻合。 工作机制流程图。
活动参数调整机制。PI工具使用线性预测技术(linear prediction)迭代调整活动参数。
1. 初始用默认活动参数做一次功耗估算。
2. 计算实际功耗与目标功耗的比值。
3. 按比例缩放各类活动参数(toggle rate、clock gate ratio 等)。
4. 重新传播状态、重新估算功耗。
5. 重复直到 |实际功耗 - 目标功耗| / 目标功耗 < 5%。
6. 运行时间仅比普通 veceless 略有增加。
适用场景早期 PDN 验证:CTS 后、向量未就绪时,快速评估 PDN 健壮性。
指定功耗下的 IR 分析:回答"block X 在 3W 时动态压降是否超标"。局部弱点挖掘:对特定 region 设高功耗目标,暴露 PDN 薄弱点。
多场景覆盖补充:作为 VCD 向量的补充,覆盖仿真未触及的高功耗场景。
Power ECO 指导:识别在目标功耗下的 IR hotspot,指导 decap 插入和 PDN 加宽。
跨 block 功耗协调:多 IP 集成时,按各 IP 的功耗预算分别设约束。 工具支持。
已知Voltus和Redhawk-SC。
注意事项。
功耗目标要真实:基于 RTL 功耗(可用RTL-A,Joules等工具分析)估算或 previous generation 数据设定,不要随意拍脑袋。
分层设定:全芯片总功耗 + 关键 block 单独约束,避免局部功耗被平均掩盖。
多场景运行:分别跑 typical power、peak power、per-block max power 多个场景。
与 VCD 交叉验证:向量就绪后,用 VCD-based 结果验证 veceless 的 hotspot 分布。
关注容差设置:默认 ±5%,对功耗敏感的设计可收紧到 ±2%(运行时间会增加)。
二、Redhawk-SC的PCVS方法学
在指定功耗目标下,通过控制 RCG(时钟门控单元)开关组合,生成逻辑一致的动态翻转场景,在没有真实输入矢量的情况下模拟接近真实工作负载的动态功耗分布。与 NPV(普通无向量分析)给每个 instance 独立随机分配 toggle rate 不同,PCVS 通过控制 ICG 开关决定哪些逻辑锥翻转,保证事件沿逻辑路径正确传播,实现逻辑一致性和功耗可靠性。
第一步:RCG 识别与功耗锥构建。 从寄存器 C pin 反向 trace 标记 RCG,再从 RCG 输出端沿时钟树正向 trace 到所有寄存器 CK 端,构建时钟锥,记录挂载寄存器数和缓冲器数。
第二步:RCG 时钟锥功耗估算。 分别估算五类功耗:RCG Q 端开关功耗、下游组合逻辑翻转功耗、内部功耗、时钟树缓冲器功耗、common toggle power。当前采用粗估逻辑,存在逻辑共享重复计算和 ICG 功耗取平均等局限。最终输出功耗表。
第三步:Frame 划分与 RCG 组合优化(核心算法)。 Frame = 固定仿真时长 + 固定 ICG 开关状态。时长可用户指定或工具按功耗贡献自动计算(累加至 90% 阈值选主导时钟周期)。
单帧组合转化为0-1 背包问题:背包容量=Target Power,物品=ICG,重量=ICG 锥功耗,价值=覆盖率增益,目标是功耗之和≈Target Power 且最大化未覆盖 ICG 的覆盖率。组合后按差值比例缩放 toggle rate 做微调。多帧采用加权背包算法逐帧轮换,最大化 ICG 覆盖率。
第四步:事件传播仿真。 加载 ICG 组合后,对活跃寄存器按 toggle_rate/2 概率生成翻转事件,经离散事件仿真沿组合逻辑传播(查 cell 逻辑功能和 lib timing arc 得延迟),间隔极小的同向事件和毛刺被过滤,最终输出全量事件列表。
第五步:压降计算。 从电流源模型提取电流波形,按事件时间对齐、温压缩放,经 PG 网络分流后建立节点电流方程求解,输出功耗和 IR 压降报告。
502