核心能力
Activity-Provenance 功耗分解
iPA 支持静态 (无活动文件) 和动态 (VCD/SAIF) 两种功耗计算模式。动态模式下,iPA 根据活动文件在每个时间窗口内计算单元的开关活动率,并按模块层级汇聚。Agent 通过 iPA.analyze 可获得 total_power、dynamic/leakage 分量、以及 per-module 的功耗占比 breakdown——精确追溯到哪个功能场景的哪个子模块贡献了最大功耗。
功率到 IR-Drop 因果追溯
iIR 在 iPA 功率计算基础上分析电源网络的 IR-Drop 分布,建立"高功率模块 -> 对应电源网络节点 -> IR-Drop 值"的因果映射。Agent 可查询每个 IR-Drop 热点的 root cause 模块,而非仅获得无上下文的电压降数值。这使得 Agent 能够提出有针对性的局部 P/G 加固建议,而非盲目地全局增加 stripe。
热斑自动识别
iPA/iIR 综合功耗密度与 IR-Drop 严重程度生成 hotspot 列表,每个热点包含模块名、坐标范围、功耗密度、IR-Drop 峰值和严重等级 (critical/warning/info)。Agent 可将热点列表直接传入 iPDN 作为局部 P/G 强化的目标区域,形成闭环的电源完整性优化流程。
Agent 调用方式
iPA/iIR 提供三种等价的调用协议。
Python
MCP
Tcl
Python SDK
from ieda import Client client = Client("http://localhost:9099") # Dynamic power analysis with activity file result = client.call( "iPA.analyze", design_ref="snap_7f3a", scenario="func_typical", mode="dynamic", activity_file=vcd_ref, intent_ref="power_profile_v1", ) print(result.total_power) # 128.5 (mW) print(result.power_breakdown) # {"dynamic": 94.2, "leakage": 34.3} print(result.ir_drop_map) # <binary grid> print(result.hot_spots) # ["core/alu", "core/l2_cache"] # Static IR-drop check only ir = client.call( "iIR.analyze", design_ref="snap_7f3a", pdn_ref="pdn_v3", ) print(ir.worst_drop) # 42 (mV)
输入/输出契约
Request Schema — iPA.analyze
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
design_ref | string | 是 | — | 设计快照引用 |
mode | "static" | "dynamic" | 是 | — | 静态 (无活动文件) 或动态 (VCD/SAIF) 功耗分析 |
scenario | string | 是 | — | 工作场景名称 (如 func_typical) |
activity_file | string | 否 (static 时) | "" | VCD/SAIF 活动文件路径或引用 (dynamic 模式必需) |
intent_ref | string | 是 | — | Agent 意图引用 |
Result Schema
| 字段 | 类型 | 说明 |
|---|---|---|
total_power | float | 总功耗 (mW) |
power_breakdown | object | {dynamic, leakage} 分量 |
ir_drop_map | binary | IR-Drop 热力图网格数据 |
hot_spots | object[] | 热斑列表,含模块名、IR-Drop 值、严重等级 |
warnings | string[] | 非致命警告信息 |
在流程中的位置
┌──────────┐
│ iPL │ 布局完成
└────┬─────┘
│
▼
┌──────────┐
│ iPDN │ 电源网络
└────┬─────┘
│
▼
┌──────────┐
│ iCTS │ 时钟树综合
└────┬─────┘
│
▼
┌──────────┐
│ iRT │ 布线完成
└────┬─────┘
│
▼
┌──────────────────────────────────────────┐
│ iPA / iIR ◆ │
│ 功耗计算 (static/dynamic) │
│ IR-Drop 分析 → hotspot 输出 │
│ ↑ 输入: 布局+布线+RC寄生+活动文件 │
│ ↓ 输出: power breakdown + IR map │
└──────────────────┬───────────────────────┘
│
▼
┌──────────────┐
│ iPNP │ 局部 P/G 加固
└──────────────┘
上游依赖iRT (布线)、iRCX (RC 提取)、iPDN (电源网络)、VCD/SAIF 活动文件
下游消费者iPNP (局部 P/G 加固)、iPDN (电源网络迭代)、iThermal (热分析)
并发交互iSTA 提供 clock-tree 功耗权重;iRCX 提供精确寄生用于动态功耗计算