从Verilog到比特流:RISC-V完整流程实战

📚 共计 30 章节
01
课程导论与RISC-V概览
什么是RISC-V?为什么选择RISC-V?课程目标与学习路径。
入门概览
02
数字设计基础回顾
组合逻辑与时序逻辑、同步设计原则、Verilog HDL核心语法速览。
基础Verilog
03
RISC-V指令集架构精讲
RV32I基础指令集、指令格式(R/I/S/U/B/J型)、寄存器约定。
ISARV32I
04
处理器微架构设计(一)
单周期CPU数据通路设计、ALU设计、寄存器文件设计。
数据通路ALU
05
处理器微架构设计(二)
单周期CPU控制器设计、状态机与译码逻辑、完整单周期CPU集成。
控制器状态机
06
流水线技术入门
流水线基本原理、五级流水线(IF/ID/EX/MEM/WB)概述、流水线冒险分类。
流水线冒险
07
流水线数据冒险与解决
数据冒险的产生、前递(Forwarding)技术、停顿(Stall)与插入气泡。
前递停顿
08
流水线控制冒险与解决
分支预测基础、静态分支预测、动态分支预测(BTB)简介。
分支预测BTB
09
存储层次与总线
哈佛结构 vs 冯诺依曼结构、指令缓存与数据缓存设计、AHB/AXI总线协议简介。
缓存总线
10
RISC-V特权架构与异常处理
机器模式(M-mode)、异常与中断处理流程、CSR寄存器。
特权异常
11
SoC系统集成
将RISC-V CPU封装为IP、系统地址映射、外设(GPIO/UART/Timer)集成。
SoC外设
12
Verilog测试与验证基础
Testbench编写、波形查看(GTKWave)、基本断言与自检。
Testbench波形
13
高级验证方法
UVM框架入门、覆盖率驱动验证、随机测试与定向测试。
UVM覆盖率
14
逻辑综合入门
综合工具(Yosys/Design Compiler)使用、RTL到门级网表的转换、综合约束。
综合Yosys
15
时序分析与优化
静态时序分析(STA)基础、建立时间与保持时间、关键路径优化。
STA时序
16
功耗分析与优化
动态功耗与静态功耗、门控时钟技术、功耗优化策略。
功耗门控时钟
17
形式验证与等价性检查
逻辑等价性检查(LEC)、属性检查(Property Checking)基础。
形式验证LEC
18
FPGA架构与工具链
Xilinx/Intel FPGA架构简介、Vivado/Quartus流程、管脚约束(XDC/SDC)。
FPGAVivado
19
FPGA综合与实现
综合(Synthesis)、布局(Place)、布线(Route)、时序收敛。
布局布线收敛
20
比特流生成与下载
比特流(Bitstream)格式、FPGA配置模式、下载与调试。
比特流下载
21
软硬件协同验证
RISC-V裸机程序编写、交叉编译工具链(GCC)、仿真与FPGA原型验证。
协同GCC
22
RISC-V工具链深度使用
GCC编译选项、链接脚本(Linker Script)、启动代码(Startup Code)。
工具链链接脚本
23
操作系统移植基础
FreeRTOS在RISC-V上的移植、任务调度与上下文切换。
FreeRTOS移植
24
Linux内核在RISC-V上的引导
Bootloader(OpenSBI)、设备树(Device Tree)、根文件系统。
LinuxOpenSBI
25
性能分析与优化
CPI/吞吐量分析、Amdahl定律、编译器优化对性能的影响。
性能Amdahl
26
安全与可信执行
物理攻击与侧信道攻击、TEE(可信执行环境)基础、RISC-V安全扩展。
安全TEE
27
开源RISC-V核实战(一)
SweRV EH1核架构分析、配置与集成。
SweRV开源
28
开源RISC-V核实战(二)
VexRiscv核架构分析、自定义指令扩展。
VexRiscv扩展
29
项目实战:构建完整RISC-V SoC
需求分析、架构设计、RTL编码、仿真验证。
项目SoC
30
项目实战:从RTL到比特流全流程
综合、布局布线、时序收敛、比特流生成、FPGA上板验证。
比特流上板