Skip to content

M5 / 收口:mem_wait + benchmark + ISE/PPA + 文档 #19

Description

@NoNormalCreeper

前面几个 issue 解决的是“系统能工作”。这一步解决的是“系统能验收、能讲、能答辩”。

需要把:

  • mem_wait
  • BRAM / SDRAM benchmark
  • ISE 资源 / timing
  • 板级日志
  • 文档说明

统一收口成课程“进阶要求”的证据链。

本 issue 要解决什么

  • 增加 mem_wait counter
  • 让 benchmark 输出 cycle / instret / mem_wait
  • 准备 BRAM vs SDRAM 对比
  • 汇总 ISE 资源 / timing
  • 收口 README / PROBES / DEV_FLOW / MEMORY_MAP / 项目说明

本 issue 不解决什么

  • 不再引入新大功能
  • 不做完整报告排版
  • 不在这一步再开新主线

明确要求

  • 至少两组 benchmark:
    • BRAM 小数组
    • SDRAM 大数组
  • 至少三组 ISE 数据:
    • base MiniSoC
    • +SDRAM data-only
    • +bootloader v1

简单实现思路

SoC 层补 mem_wait,firmware 层扩 benchmark 输出,上板层提供 ISE / 实验室日志,最后由你统一整理成文档和表格。这里不要再引入新特性,而是把前面各阶段已经做出的能力转成一套可比较、可讲解、可答辩的证据链。

建议查阅 / 关键词

  • 文件:
    • scripts/compare_cpu_perf.sh
    • firmware/tests/perf_mix.c
    • docs/项目任务说明 v2.md
  • 关键词:
    • mem_wait
    • cycle
    • instret
    • BRAM vs SDRAM
    • Map / PAR / Timing
    • PPA

测试与验收

这一阶段的重点是“指标闭环”而不是新增功能。计数器级需要明确 mem_wait 的定义,并用最小样例证明它确实会随 SDRAM 访问产生变化,而不是一个常数寄存器。benchmark 级至少要固定同一算法、同一输入规模,在 BRAM 小数组与 SDRAM 大数组两种放置方式下给出 cycle / instret / mem_wait;具体算法可以自定,但必须可复现。回归级需要重新跑 bash scripts/test_local.sh 和双核 regression。文档级需要补齐 benchmark 表、ISE 对比表,以及三条关键解释:为什么当前不从 SDRAM 执行、为什么不做完整 libc、为什么 bootloader v1 先写 BRAM。

依赖:前面所有

Activity

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

Metadata

Metadata

Labels

documentationImprovements or additions to documentation

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions