核心能力
电源地网络构建
iPDN 自动构建多层电源地网格,包括全局 strap、trunk 和 via stack。Agent 调用 iPDN.build 时传入 effort="standard" 可走完整的网格构建流程,传入 effort="estimate" 则仅做结构评估不写入物理数据。
PDN 结构检查
Agent 可以调用 iPDN.inspect 检查当前 PDN 的拓扑结构、层间连通性和关键节点 IR-drop。检查结果返回结构化的拓扑图和薄弱点列表,供下游强化步骤消费。
电源完整性验证
集成 iPA 的 IR-drop 分析能力,在 PDN 构建完成后自动验证电源完整性。返回每层金属的最大电流密度、热点区域的 IR-drop 值,以及 EM 风险评分。
强化方案生成
针对 IR-drop 热点,Agent 可调用 iPDN.reinforce 生成局部强化方案——包括添加 strap、加宽金属线、增加 via。每个方案附带预估的 IR-drop 改善量和面积开销。
iPNP 局部强化
iPNP 作为 iPDN 的补充模块,专注于局部区域的电源网络修补。Agent 可以在不改动全局 PDN 的前提下,对指定热点区域做精确的 P/G 增强——适用于 ECO 阶段的电源修复。
Agent 调用方式
iPDN/iPNP 提供三种等价的调用协议。
Python
MCP
Tcl
Python SDK
from ieda import Client client = Client("http://localhost:9099") # Build power grid result = client.call( "iPDN.build", design_ref="snap_8a2b", effort="standard", intent_ref="intent_v3", ) # Local reinforcement for hotspot reinforce = client.call( "iPNP.reinforce", design_ref="snap_8a2b_v2", hotspots=[(120, 340), (780, 210)], ) print(reinforce.ir_drop_after) # 1.1%
输入/输出契约
Request Schema — iPDN.build
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
design_ref | string | 是 | — | 设计快照引用 |
effort | "estimate" | "standard" | 是 | — | estimate: 仅评估不写入;standard: 完整构建 |
intent_ref | string | 是 | — | Agent 意图引用,用于 provenance 追踪 |
layer_stack | string[] | 否 | auto-detect | 电源网络使用的金属层 |
Result Schema
| 字段 | 类型 | 说明 |
|---|---|---|
design_ref | string | 新设计快照引用 |
layer_count | int | 使用的金属层数 |
ir_drop_max | float | 最大 IR-drop 百分比 |
em_score | float | EM 风险评分 (0-1) |
hotspots | coordinate[] | IR-drop 热点坐标列表 |
在流程中的位置
iFP (Floorplan)
│
▼
┌──────────────┐
│ iPDN ◆ │ 电源地网络构建
│ iPNP (局部) │ 强化与修补
└──────┬───────┘
│
▼
┌──────────────┐
│ iPL │ 全局 / 合法化 / 详细布局
└──────────────┘
上游依赖iFP (布图规划提供宏单元和 IO 位置)
下游消费者iPL (布局前需要电源网络)、iPA/iIR (功耗与 IR-drop 分析)
需后验证iPA 验证 IR-drop,不通过则触发 iPNP 局部强化循环