Skip to content

[fpga] perf: 为 Toy ROB 增加可选 BRAM 操作数路径 - #11

Draft
Cody-ic wants to merge 3 commits into
mainfrom
codex/arty-a7-rob-ram
Draft

Cody-ic wants to merge 3 commits into
mainfrom
codex/arty-a7-rob-ram

Conversation

@Cody-ic

@Cody-ic Cody-ic commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Toy FPGA 的 ROB 操作数当前使用寄存器和宽选择网络,占用较多 FF 与 LUT。本 PR 增加可选 16×128、1R1W 同步 BRAM 路径,利用已有 issue pointer 级隐藏读取延迟,保留指令、控制和容量。

默认构建仍走原寄存器路径;sbt -Dfpga.robOperandRam=true 或 bash scripts/elaborate_rob_candidate.sh 才启用候选。两条路径已分别重新生成:默认核心/存储器与原发布摘要一致,候选与本次已测字节一致。

实测收益

同一 xc7a100tcsg324-1、Vivado 2024.1、UART 目标、25 MHz 约束与原 Tcl/策略,完整布局布线通过并生成位流。

布线后资源 原版本 候选 变化
物理 LUT(已计入 combining) 54,413 53,929 −484
FF 35,600 33,943 −1,657
占用 Slice 15,663 15,579 −84
BRAM tile 29 31 +2
DSP 117 117 0

空闲 Slice 从 187 增至 271,仍占用 98.29%。WNS +1.276 ns、WHS +0.012 ns,TNS/THS 为 0;无布线错误或 Error/Critical DRC、Critical CDC,普通警告完整保留。整板实现耗时 1,396 秒,设 3,600 秒超时。

验证与复现

  • ROB RAM/register 逐周期对照通过,8,029 周期,三个种子、两次中途复位与独立接受命令对照。
  • 七类 memory 原 RTL/scoreboard 对照和板级 AXI、SCU、UART/CRC loader 检查通过。
  • 原 CPU、Gemmini 13 项、OS/WS loop、跨页/非对齐 DMA 测试二进制不改,周期数分别为 709,434 / 251,063 / 684,219 / 1,914,839,与原基线相同。
  • 同一标准 payload 启动 OpenSBI/Linux,通过五项用户态检查;273,506,752 周期与基线相同。使用 AXI 存储模型,未模拟物理 DDR PHY。
  • 源码/证据摘要、Python 编译、Bash 语法、diff 和 Gitleaks 检查通过;新增候选档案校验接入 CI。

中文入口:platforms/arty-a7-toy/ROB_RAM.md。evidence/2026-10-12/rob-ram/ 保留实际执行源快照、Tcl/XDC、测试日志、Vivado 报告、输入摘要和完整中文报告。仅记录有用的通过结果及芯片相关警告;不把网络或启动命令错误列为芯片失败。

资格边界

这是可选候选。后续已临时上板,完整 25,797,640 字节镜像读回和两轮各 15 个 Linux/Gemmini 程序均通过,watchdog 回收及回归后 shell 检查通过;实物日志追加到 PR #9,位流摘要 dec8dcae…78ee5c、硬件源码固定为 da07b0a。本轮初始实现档案保留当时的历史状态。候选的 Flash 启动仍未验证。既有发布位流和 Flash 内容不替换;保留原基线摘要门限,候选有独立核验入口。CPU/Sv39/FP16/32/64、Gemmini 8×8、23 项 Ball 指令、16-entry ROB、bank/缓存容量保留,但这点余量不能证明可恢复其他 Ball,也不代表整模型编译链已完成适配。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant