从零搭建RISC-V处理器实战

📚 30章 · 30个实战 RV32I
01 课程导论与环境搭建
RISC-V简介 Verilator GTKWave 工具链验证
02 数字逻辑基础回顾
组合/时序逻辑 Verilog基础 加法器模块
03 处理器微架构概览
五级流水线 数据通路 指令格式
04 取指阶段 (IF)
程序计数器 指令存储器 取指逻辑仿真
05 译码阶段 (ID)
指令译码器 立即数生成器 寄存器堆
06 执行阶段 (EX)
ALU设计 分支判断 执行Verilog
07 访存阶段 (MEM)
数据存储器 加载/存储 访存实现
08 写回阶段 (WB)
写回逻辑 数据前递 写回实现
09 流水线控制冒险
数据冒险 Stall机制 Bubble插入 分支预测初探
10 数据前递深入
前递路径 前递控制 前递与暂停协同
11 分支预测基础
静态预测 动态预测 饱和计数器
12 流水线控制单元
主控制器FSM 冒险检测 前递控制单元
13 RV32I实现 (上)
ADD/SUB/ADDI AND/OR/XOR 移位指令
14 RV32I实现 (下)
比较/分支 加载/存储 BEQ/BNE/LB/SB
15 伪指令与汇编编程
LI/MV/NOP/RET 汇编器 汇编仿真
16 异常与中断处理
异常/中断概念 mtvec/mcause 异常处理单元
17 CSR寄存器实现
CSRRW/CSRRS mstatus/mie CSR建模
18 多周期指令·M扩展
乘除法器 MUL/DIV/REM M扩展实现
19 总线接口与SoC集成
TileLink/AXI-Lite 处理器IP封装 最小SoC
20 外设模型与中断控制器
GPIO建模 UART建模 PLIC简化
21 指令集仿真器(ISS)
Python/C++ ISS RTL对比 指令验证
22 验证方法学入门
Testbench规范 定向/随机测试 功能覆盖率
23 RISC-V一致性测试
Arch Test Suite 运行官方用例 Bug修复
24 性能分析与优化
CPI分析 关键路径 流水线深度权衡
25 高级流水线技术
超标量/乱序 BTB/Gshare 分支预测改进
26 缓存(Cache)基础
直接映射/组相联 写策略 一级Cache集成
27 内存管理单元(MMU)
虚拟内存 页表遍历 TLB实现
28 RISC-V特权架构
M/S/U模式 特权指令 模式切换
29 裸机程序与RTOS
链接脚本 启动代码 移植FreeRTOS
30 课程总结与展望
设计流程回顾 常见陷阱 RISC-V生态