跳到主要内容

Verification Hub · 统一验证与证书

编排 connectivity/legality/formal/DRC/STA 等多维检查,对"检查了什么"签发机器可读证书。任何上游变更自动失效相关证书。

Agent Service · D0/DRAFT · Wave 0 规划中 · D0 iEDA.ai L4
verify — bundle — certificate
# orchestrate & certify verification
$ verify.bundle("post-route", risk="high")
[bundle] DRC + LVS + STA + Formal
[cert] post-route/v3 → SIGNED
→ upstream change invalidates cert
iMapsynthesisiFPfloorplaniPDNpoweriPLplacementiCTSclockiTOoptimizationiRTroutingiSTAtimingAiEDAdesign dataiPCLlayout modeliMapsynthesisiFPfloorplaniPDNpoweriPLplacementiCTSclockiTOoptimizationiRTroutingiSTAtimingAiEDAdesign dataiPCLlayout model

核心能力

1. Validator Registry

注册所有验证器及其 capability 声明:每个 validator 声明自己检查的domain(connectivity/legality/formal/DRC/LVS/STA)、适用的stage(post-synth/post-place/post-route/signoff)、coverage(full/partial/sampled)和运行成本。

2. Bundle Orchestration

按风险等级编排验证 bundle。低风险变更(如修 hold buffer)触发light bundle(DRC around changed region + STA);高风险变更(如重新布局)触发full bundle(DRC+LVS+STA+Formal)。Bundle 内验证器可并行执行。

3. Certificate

机器可读的验证证书(JSON),记录:通过了哪些检查、什么条件下(corner/mode)、输入设计 hash、验证器版本、签发时间。证书带有数字签名,下游流程(如 tape-out gate)仅接受有效证书。

4. Invalidation

上游变更自动失效相关证书。变更追踪基于 iDB 的design_hash:任何修改 netlist/layout/timing 数据的操作产生新 hash,所有绑定旧 hash 的证书自动标记为 invalidated。支持选择性 re-verify。

5. Gate Integration

与 Evaluation(Gate 12)的门禁联动:Gate 定义必需证书列表(如 tape-out 需要 DRC+LVS+STA certificate),Verification Hub 提供当前证书状态。缺失或失效证书阻止门禁通过。

Agent 调用方式

from ieda.agent import VerificationHub, VerifyBundle

hub = VerificationHub()

# 注册验证器
hub.register(
    name="iSTA-verify",
    domain="STA",
    stage="post-route",
    coverage="full",
    cost_estimate="medium"
)

# 编排验证 bundle
bundle = hub.bundle(
    stage="post-route",
    risk="high",
    design_hash=current_idb.design_hash
)
# bundle.validators: [DRC, LVS, STA, Formal]

# 执行验证
result = hub.verify(bundle)
# result.certificate: {
#   "id": "cert-post-route-v3",
#   "design_hash": "abc123",
#   "checks_passed": ["DRC", "LVS", "STA", "Formal"],
#   "conditions": {"corner": "wc_cmax"},
#   "signed_by": "verification-hub/v2.1"
# }

# 上游变更自动失效
hub.invalidate(design_hash="abc123")  # mark cert expired

输入/输出契约

方向字段类型说明
输入stagestr流程阶段(post-synth/post-place/post-route/signoff)
输入riskstr风险等级,决定 bundle 范围(low/medium/high)
输入design_hashstr当前设计状态 hash
输入required_checkslist[str]强制要求的检查项(可选,覆盖 bundle 默认值)
输出bundleVerifyBundle编排好的验证器列表与执行顺序
输出certificateCertificate签名的验证证书(JSON + digital signature)
输出status_mapdict每个 stage 的最新证书状态