<一句话说清『这个 skill 做什么 + 何时调用』。把最关键的触发场景放最前面。结尾给 2-3 个用户会说的关键词。>
日本語の概要は準備中です。原文の説明を表示しています。
调用 Verilator 5.012 编译 RTL + TB 并跑 coverage-driven simulation,产出 sim log / coverage.dat / VCD。
触发场景:(1) bba-guru-verification 完成 TB 后跑回归;(2) RTL 修复后回归验证;(3) 显式 /bb-invoke-verilator。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
把 RTL(file_list.f)+ testbench(tb/tb_top.sv)编译为 verilator 可执行二进制并运行,产出 sim log、coverage 数据库、VCD 波形。
bba-guru-verificationbb-collect-coverage(读 coverage.dat)| arg | type | required | 默认 | 说明 |
|---|---|---|---|---|
| file_list | path | true | — | file_list.f,每行一个 RTL 源 |
| tb_top | path | true | — | designs/<name>/tb/tb_top.sv |
| design_name | string | true | — | 路径 designs/<name>/sim_results/ |
| sim_time | string | false | --time-resolution-unit 1ns | 时间单位 |
| seed | int | false | 1 | +rand_seed=<seed> |
| enable_vcd | bool | false | true | 是否 --trace --trace-structs |
| stamp | string | false | <auto YYYYMMDD-HHMMSS> | 后缀 |
写入 designs/<name>/sim_results/,返回:
| field | 值 |
|---|---|
artifact_path | designs/<name>/sim_results/<stamp>.log |
coverage_dat | designs/<name>/sim_results/coverage.dat |
vcd_path | designs/<name>/sim_results/<stamp>.vcd (与 .log 同级,fix H-09) |
obj_dir | designs/<name>/sim_results/obj_dir_<stamp>/ |
script_path | designs/<name>/sim_results/run_sim_<stamp>.sh |
valid | bool(编译+运行成功) |
assertions_pass | bool(无 %Error / Assertion failed) |
sim_time_ns | int(log 末尾 $finish at) |
error | string|null |
scripts/render_verilator_sh.py 渲染:
#!/bin/bash
set -euo pipefail
source ~/wrk/eda_opensources/eda_env.sh
verilator --version | grep -q "Verilator 5.012" \
|| { echo "VERSION_MISMATCH"; exit 1; }
verilator --binary --coverage <vcd_flag> \
-f <file_list> <tb_top> \
--top-module tb_top \
-Mdir designs/<name>/sim_results/obj_dir_<stamp>/ \
-o sim_<stamp> -CFLAGS "-O2" -j 4
./designs/<name>/sim_results/obj_dir_<stamp>/sim_<stamp> \
+rand_seed=<seed> 2>&1 | tee designs/<name>/sim_results/<stamp>.log
verilator_coverage \
designs/<name>/sim_results/obj_dir_<stamp>/coverage.dat \
--write designs/<name>/sim_results/coverage.dat
<vcd_flag> = --trace --trace-structs 当 enable_vcd=true。
scripts/run_verilator.py:timeout 1800 bash <script_path>,追加 exit:<rc>。
scripts/parse_sim_log.py:
$finish at <ns> → sim_time_ns%Error / Assertion failed → assertions_pass=falseexit:<rc> ≠ 0 → valid=false写 sim_summary_<stamp>.json。
返回 JSON。下游 bb-collect-coverage 立即解析 coverage.dat。
| 状态 | 处理 |
|---|---|
valid && assertions_pass | 调 bb-collect-coverage |
| 断言失败 | 开 rtl-needs-fix |
| Phase 2 timeout(1800s) | error="SIM_TIMEOUT" |
VERSION_MISMATCH | 修复 eda_env.sh |
| 编译失败 | 反馈 %Error: <file>:<line> |
scripts/render_verilator_sh.py — Phase 1scripts/run_verilator.py — Phase 2scripts/parse_sim_log.py — Phase 3references/verilator_flags.mdGotcha/verilator_pitfalls.mdまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
<一句话说清『这个 skill 做什么 + 何时调用』。把最关键的触发场景放最前面。结尾给 2-3 个用户会说的关键词。>
日本語の概要は準備中です。原文の説明を表示しています。
从粗略 idea 设计芯片或功能模块架构,输出专业架构文档到 spec_arch 目录。Trigger: 芯片架构设计, IC架构, 电路模块设计, 硬件架构. Generate IC/Chip architecture specification from rough ideas.
日本語の概要は準備中です。原文の説明を表示しています。
基于 AST 检查 CDC/RDC 违例:对比 MAS clock_domains 找跨域信号,检查是否被 2ff-sync CBB 保护。触发场景:(1) bba-guru-synthesis 综合前;(2) 显式 /bb-check-cdc。
日本語の概要は準備中です。原文の説明を表示しています。
调用 babel-lsp / verible-verilog-lint 检查 SV 源码。src 必须可综合(零 syntax error),tb 允许 verification constructs。发现 src error 时自动修复重检(max 3 iter)。触发:(1) bba-guru-rtl 生成后;(2) RTL 修复重检;(3) 显式 /bb-check-lint。
日本語の概要は準備中です。原文の説明を表示しています。
Babel internal issue protocol — close a handoff after downstream agent picked it up or user signed off. Moves designs/<name>/.handoff/<label>.md to .handoff/closed/ (using mv per CLAUDE.md), appends to handoff_log.jsonl.
日本語の概要は準備中です。原文の説明を表示しています。
对抗性代码评审:代码质量 / 可维护性 / 时序风险 / 综合友好度 / MAS 对齐度。默认 ruthless 模式,找 EVERY flaw。触发场景:(1) RTL lint 后;(2) 显式 /bb-code-review。
日本語の概要は準備中です。原文の説明を表示しています。