第01章
课程导论与开发环境搭建
RISC-V架构概述 · Vivado工具链 · 软核集成流程 · 开发板选型
导论环境
第02章
Vivado基础操作与工程创建
界面导航 · 创建RTL工程 · 添加源文件 · 综合与实现
Vivado入门
第03章
RISC-V软核选型与特性分析
VexRiscv · PicoRV32 · Rocket Chip · 性能与资源权衡
选型对比
第04章
VexRiscv软核详解
架构特点 · 配置选项 · 流水线深度 · 指令集与外设接口
VexRiscv流水线
第05章
PicoRV32软核详解
极致精简 · 单周期执行 · 内存接口 · 中断处理
PicoRV32精简
第06章
Rocket Chip与BOOM软核简介
高性能顺序/乱序执行 · 生成器框架 · SoC集成
RocketBOOM
第07章
Vivado IP Integrator基础
IPI设计流程 · Block Design · 添加IP核 · 自动连线
IPIBlock Design
第08章
RISC-V软核的IP封装
Verilog封装为IP · 端口定义 · 参数化 · GUI定制
封装IP
第09章
Block Design集成RISC-V软核
实例化软核IP · 时钟复位 · AXI总线接口
集成AXI
第10章
内存子系统设计
Block RAM · AXI BRAM Controller · 缓存 · 内存映射
BRAM内存
第11章
外设集成 (GPIO与UART)
AXI GPIO · UART Lite · 地址分配 · 中断连接
GPIOUART
第12章
外设集成 (SPI与I2C)
SPI控制器 · I2C集成 · 地址映射 · 驱动基础
SPII2C
第13章
中断控制器设计
PLIC与CLINT · Vivado配置 · 多级优先级 · 软件中断
中断PLIC
第14章
时钟与复位策略
多时钟域 · 时钟约束 · 异步复位同步释放 · 全局复位
时钟复位
第15章
系统级约束文件编写
时序约束 · 物理约束 · XDC文件管理
XDC约束
第16章
仿真验证环境搭建
Vivado Simulator · Testbench · 指令级仿真 · 波形调试
仿真Testbench
第17章
RISC-V软件工具链安装
GCC交叉编译器 · Binutils · Newlib · OpenOCD
工具链GCC
第18章
裸机程序开发基础
启动代码 · 链接脚本 · 内存布局 · Makefile
裸机启动
第19章
GPIO与UART裸机驱动
寄存器操作 · 轮询/中断 · 串口打印Hello World
驱动UART
第20章
SPI与I2C裸机驱动
SPI读写Flash · I2C传感器 · 时序控制 · 错误处理
SPII2C
第21章
FreeRTOS移植到RISC-V
FreeRTOS架构 · 移植接口 · 任务调度 · 中断管理
FreeRTOS移植
第22章
综合与实现优化
综合策略 · 资源利用率 · 时序收敛 · 功耗分析
优化时序
第23章
比特流生成与下载
生成比特流 · 配置Flash · 下载调试
比特流下载
第24章
硬件调试技术
ILA · VIO · 触发条件 · 波形捕获分析
ILA调试
第25章
性能分析与基准测试
CoreMark · Dhrystone · 内存带宽 · 瓶颈定位
跑分性能
第26章
多核RISC-V系统设计
多核架构 · 缓存一致性 · Mailbox · 共享内存
多核一致性
第27章
自定义指令扩展
指令编码 · 自定义指令实现 · 编译器支持 · 性能收益
扩展自定义
第28章
安全特性集成
PMP · 信任根 · 安全启动 · 加密引擎
安全PMP
第29章
项目实战:RISC-V SoC设计 (上)
需求分析 · 架构设计 · 模块划分 · Block Design实现
实战SoC
第30章
项目实战:RISC-V SoC设计 (下)
软件栈集成 · 系统验证 · 性能调优 · 总结文档
实战总结