RISC-V指令集与Verilog硬件描述精讲

📚 共计 30 章节
01
RISC-V前世今生
从x86/Arm的垄断到开源指令集的破局,RISC-V的哲学思想与设计原则。
架构开源
02
开发环境搭建
RISC-V GNU工具链编译、Verilator仿真环境配置、Vivado/VCS等EDA工具简介。
工具链仿真
03
Verilog基础(一)
模块与端口、数据类型(wire/reg)、连续赋值(assign)、基础运算符。
语法组合逻辑
04
Verilog基础(二)
过程块(always)、阻塞与非阻塞赋值、时序逻辑与组合逻辑。
时序always
05
Verilog基础(三)
结构化建模(模块实例化)、参数化设计(parameter/localparam)、generate语句。
参数化生成
06
Verilog进阶
有限状态机(FSM)设计、三段式写法、Testbench编写与波形查看。
FSM验证
07
RISC-V整数指令集 (RV32I)
指令格式(R/I/S/B/U/J)、核心指令详解(ADD/SUB/LW/SW/BEQ等)。
RV32I编码
08
RISC-V汇编基础
汇编语法、伪指令、函数调用约定(Calling Convention)、栈操作。
汇编ABI
09
单周期CPU设计(一)
数据通路概览、PC寄存器与指令存储器设计。
数据通路PC
10
单周期CPU设计(二)
寄存器堆(RegFile)设计与实现。
RegFile存储
11
单周期CPU设计(三)
ALU设计与实现、立即数生成器(ImmGen)。
ALUImmGen
12
单周期CPU设计(四)
数据存储器(Data RAM)设计与加载/存储指令。
Data RAMLW/SW
13
单周期CPU设计(五)
控制单元(Control Unit)设计、指令译码逻辑。
控制单元译码
14
单周期CPU设计(六)
顶层集成与仿真验证、运行简单测试程序。
集成仿真
15
流水线CPU基础
流水线概念、五级流水线(IF/ID/EX/MEM/WB)划分。
流水线五级
16
流水线CPU设计(一)
流水线寄存器(IF/ID、ID/EX、EX/MEM、MEM/WB)实现。
寄存器流水级
17
流水线CPU设计(二)
数据冒险(Data Hazard)与转发技术(Forwarding)。
数据冒险转发
18
流水线CPU设计(三)
控制冒险(Control Hazard)与分支预测(Branch Prediction)基础。
控制冒险分支预测
19
流水线CPU设计(四)
加载冒险(Load Hazard)与流水线停顿(Stall)。
Load冒险Stall
20
流水线CPU设计(五)
完整流水线CPU集成与调试。
集成调试
21
RISC-V M扩展 (乘除法)
MUL/DIV/REM指令实现、多周期乘除法器设计。
M扩展乘除法
22
RISC-V F扩展 (浮点)
浮点指令格式、FPU基础模块设计(加法/乘法)。
F扩展FPU
23
RISC-V特权架构
机器模式(M-mode)、用户模式(U-mode)、CSR寄存器与异常处理。
特权级CSR
24
中断与异常
中断控制器设计、异常向量表、mepc/mcause/mstatus等CSR实现。
中断异常向量
25
总线协议基础
TileLink与AXI4-Lite简介、总线接口封装(Master/Slave)。
总线TileLink
26
SoC集成
CPU核与总线连接、外设(UART/GPIO/Timer)挂载、地址映射。
SoC外设
27
启动流程与Bootloader
复位向量、启动ROM设计、引导加载程序(Bootloader)原理。
Boot复位
28
性能优化
流水线深度优化、分支预测器(BTB/Gshare)、超标量基础概念。
优化分支预测
29
验证方法学
UVM基础、RISC-V指令集随机验证、覆盖率驱动验证。
UVM覆盖率
30
项目实战
运行CoreMark基准测试、运行FreeRTOS轻量级操作系统、FPGA原型验证。
CoreMarkFreeRTOS