学习一生一芯
开一个分类记录一下自己做一生一芯的过程,下面的表格是学习记录。之前已经进行到了ELF文件和链接这一阶段,就先从这一阶段开始记录
| 周期 | 日期 | 计划任务 | 总时长 | 任务完成情况 | 卡了一段时间的bug | 记录故事/心情 |
|---|---|---|---|---|---|---|
| 预学习阶段 | 2025-10-12 | |||||
| 基础阶段 | 2025-10-13 | 用RTL实现最简单的处理器 | 完成 | verilator初始赋值不会触发verilog动作 | ||
| 基础阶段 | 2025-10-14 | AM运行时环境-ftrace | 未完成 | elf文件的解析部分已经完成,剩余要完成函数调用的打印 | ||
| 基础阶段 | 2025-10-15 | AM运行时环境-ftrace;开始支持RV32E的单周期NPC | 完成 | ftrace完成,程序镜像可以通过命令行读入npc执行 | ||
| 基础阶段 | 2025-10-16 | 支持RV32E的单周期NPC | 未完成 | 本来打算先随便实现一个,想了下还是决定找一个教科书的微架构实现一版单周期的NPC | ||
| 基础阶段 | 2025-10-17 | 支持RV32E的单周期NPC | 未完成 | |||
| 基础阶段 | 2025-10-18 | 支持RV32E的单周期NPC | 只剩recursion,令我惊奇的是nemu下这个case也没有通过,难道是我当时漏了? | |||
| 基础阶段 | 2025-10-19 | 支持RV32E的单周期NPC | NEMU能通过recursion,原先的srai实现有错误。今天主要添加npc的基础设施 | |||
| 基础阶段 | 2025-10-20 | 支持RV32E的单周期NPC,完成trace功能 | ||||
下面的表格是任务完成情况记录
| 阶段 | 序号 | 任务 | 时间 | 开始时间 | 结束时间 | 实际用时 |
|---|---|---|---|---|---|---|
| 预学习阶段 | 1 | 如何科学地提问 | 2 | 2025-10-12 | ||
| 2 | Linux系统安装和基本使用 | 10 | ||||
| 3 | 计算机系统的状态机模型 | 2 | ||||
| 4 | 复习C语言 | 20 | ||||
| 5 | 程序的执行和模拟器 | 2 | ||||
| 6 | 搭建verilator仿真环境 | 5 | ||||
| 7 | 数字电路基础实验 | 20 | ||||
| 8 | 完成PA1 | 30 | ||||
| 基础阶段 | 9 | 支持RV32IM的NEMU | 10 | |||
| 10 | 程序的机器级表示(上) | 2 | ||||
| 11 | 程序的机器级表示(下) | 2 | ||||
| 12 | 用RTL实现最简单的处理器 | 5 | 2025-10-13 | 2025-10-13 | ||
| 13 | AM运行时环境 | 5 | 2025-10-13 | 2025-10-14 | 2.5 | |
| 14 | 工具和基础设施 | 5 | 2025-10-14 | 2025-10-15 | 1 | |
| 15 | 支持RV32E的单周期NPC | 10 | 2025-10-15 | |||
| 16 | ELF文件和链接 | 2 | ||||
| 17 | 设备和输入输出 | 10 | ||||
| 18 | 调试技巧 | 2 | ||||
| 19 | 异常处理和RT-Thread | 15 | ||||
| 20 | 总线 | 10 | ||||
| 21 | SoC计算机系统(上) | 15 | ||||
| 22 | SoC计算机系统(下) | 15 | ||||
| 23 | 性能优化和简易缓存 | 20 | ||||
| 24 | 流水线处理器 | 20 |
浙公网安备 33010602011771号