bb-invoke-qrouter

star 0

调用 QRouter 1.4 对 placed DEF 执行 detail routing,产出 routed.def。触发场景:(1) bba-guru-pd 在 placement 完成后做布线;(2) 显式 /bb-invoke-qrouter。

05shygo By 05shygo schedule Updated 6/3/2026

name: bb-invoke-qrouter description: "调用 QRouter 1.4 对 placed DEF 执行 detail routing,产出 routed.def。触发场景:(1) bba-guru-pd 在 placement 完成后做布线;(2) 显式 /bb-invoke-qrouter。"

bb-invoke-qrouter

职责

对 placed DEF + tech/cell LEF 跑详细布线,输出 routed DEF。布线失败需 bba-guru-pd 调整 floorplan utilization 后重试。

  • 调用者:bba-guru-pd
  • 上游:bb-invoke-magic(action=place)
  • 下游:bb-invoke-magic(action=drc)
  • 禁止使用:Task / Agent / Skill

Input Args

arg type required 默认 说明
placed_def path true designs/<name>/pd/placed.def
tech_lef path true ASAP7 tech LEF
cell_lef path true ASAP7 standard cell LEF
design_name string true
strategy enum false default default | high_effort
stamp string false <auto>

Output Contract

field
artifact_path designs/<name>/pd/routed.def
cfg_path designs/<name>/pd/qrouter_<stamp>.cfg
log_path designs/<name>/pd/qrouter_<stamp>.log
failed_nets int
valid bool
error string|null

4-Phase 执行

Phase 1 — render_qrouter_cfg

scripts/render_qrouter_cfg.py 渲染:

lef <tech_lef>
lef <cell_lef>
read <placed_def>
route
writeback
write <name>_routed.def designs/<name>/pd/routed.def
quit

strategy=high_effort 追加 set rip_limit 50 等积极参数。

Phase 2 — run_qrouter

scripts/run_qrouter.py

  1. source ~/wrk/eda_opensources/eda_env.sh
  2. qrouter -v 2>&1 | grep "1.4" 否则 VERSION_MISMATCH
  3. timeout 3600 qrouter -noclockdiff -c <cfg> > <log> 2>&1
  4. log 末尾追加 exit:<rc>

Phase 3 — parse_qrouter

scripts/parse_qrouter.py

  • routed.def 存在 → valid=true
  • log 含 routing failed / Unable to route → 计数 failed_nets

qrouter_<stamp>.json

Phase 4 — return

返回 JSON。bba-guru-pd

  • failed_nets==0 → 调 bb-invoke-magic(action=drc)
  • failed_nets>0 → 增加 utilization margin(-0.05)重 floorplan,≤5 iter

收敛 / 失败

状态 行动
failed_nets==0 进 DRC
failed_nets>0 调 floorplan 重试
VERSION_MISMATCH 修 eda_env.sh
Phase 2 timeout(3600s) error="ROUTE_TIMEOUT",提高 utilization
iter > 5 retreat 到 synth-needs-fix

资源索引

  • scripts/render_qrouter_cfg.pyscripts/run_qrouter.pyscripts/parse_qrouter.py
  • references/asap7_lef.md — tech/cell LEF 位置
  • Gotcha/qrouter_pitfalls.md — congestion / pitch / via stack
Install via CLI
npx skills add https://github.com/05shygo/mmu_verification --skill bb-invoke-qrouter
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator