RISC-V RTL 仿真运行技能。当需要运行Verilator仿真验证时使用此技能,这是RISC-V RTL自动化流水线的第6步。
此技能运行 Verilator 仿真验证,对应 CLAUDE.md 中自动化指令流水线的第6步。
运行编译好的仿真可执行文件:
./sim/build/V<模块名> 仿真程序sim/logs/sim_result.log开始执行第6步: 执行验证
准备运行环境:
sim/build/V<模块名> 可执行文件存在sim/logs/ 目录存在.claude/env_info.json 读取 msys_root 和 msystem执行仿真命令:
& "$msys_root\usr\bin\bash.exe" -c "export PATH='/$($msystem.ToLower())/bin:/usr/bin:`$PATH' && export LC_ALL=C && mkdir -p sim/logs && ./sim/build/V<模块名> 2>&1 | tee sim/logs/sim_result.log"
命令参数说明:
mkdir -p sim/logs: 确保日志目录存在./sim/build/V<模块名>: 运行仿真可执行文件2>&1: 将标准错误重定向到标准输出| tee sim/logs/sim_result.log: 同时输出到终端和文件分析仿真结果:
验证日志文件:
sim/logs/sim_result.log 文件是否创建完成执行第6步: 执行验证 - [成功/失败]
根据 CLAUDE.md,所有涉及 MSYS2、verilator 的指令必须使用以下模板:
& "$msys_root\usr\bin\bash.exe" -c "export PATH='/$($msystem.ToLower())/bin:/usr/bin:`$PATH' && export LC_ALL=C && mkdir -p sim/logs && ./sim/build/V<模块名> 2>&1 | tee sim/logs/sim_result.log"
开始执行第6步: 执行验证
读取环境变量: msys_root=C:/msys64, msystem=MINGW64
检查可执行文件: sim/build/VAdder ✓
创建日志目录: sim/logs/
运行仿真...
[TEST 1] ADD: a=0x10 b=0x20 | expect=0x30 got=0x30 | PASS
[TEST 2] SUB: a=0x30 b=0x10 | expect=0x20 got=0x20 | PASS
[TEST 3] AND: a=0xFF b=0x0F | expect=0x0F got=0x0F | PASS
[TEST 4] OR: a=0xF0 b=0x0F | expect=0xFF got=0xFF | PASS
[TEST 5] XOR: a=0xFF b=0xFF | expect=0x00 got=0x00 | PASS
=== TEST SUMMARY ===
Passed: 5/5
Failed: 0/5
仿真完成,退出码: 0
保存日志: sim/logs/sim_result.log
完成执行第6步: 执行验证 - 成功