01
RISC-V与Vivado生态概览
RISC-V指令集架构简介 · 开源与商业RISC-V核对比 · Vivado IP Integrator简介 · 课程目标与实验环境准备
概览入门
02
Vivado工程创建与项目管理
创建Vivado工程 · 选择器件与开发板 · 工程目录结构解析 · 版本管理建议
工程管理
03
RISC-V软核IP获取与导入
常用开源RISC-V核介绍(VexRiscv、PicoRV32、Rocket Chip等)· 从GitHub获取源码 · 将RTL源码打包为Vivado IP核
IP开源
04
Block Design基础操作
打开IP Integrator · 添加IP核 · 自动连线与手动连线 · 创建输入输出端口
BD连线
05
配置RISC-V处理器核心
核心参数配置(ISA扩展、中断、缓存大小)· 时钟与复位连接 · 调试接口配置(JTAG)
配置内核
06
添加总线与外围设备
AXI4总线协议简介 · 添加AXI Interconnect · 添加GPIO、UART、Timer等外设IP
总线外设
07
内存子系统设计
Block Memory Generator配置 · 连接指令与数据总线 · 地址空间分配 · 内存映射关系
内存BRAM
08
中断控制器集成
RISC-V中断机制 · 添加与配置中断控制器(PLIC/CLINT)· 连接外设中断源
中断PLIC
09
时钟与复位管理
时钟生成与约束 · 复位信号同步 · 多时钟域处理 · 全局复位网络
时钟复位
10
验证Block Design
地址映射检查 · 连接性检查 · DRC检查 · 生成输出产物
验证DRC
11
HDL封装与顶层设计
生成HDL Wrapper · 编写顶层模块 · 实例化Block Design · 连接外部引脚
HDL顶层
12
约束文件编写
引脚约束(XDC)· 时序约束 · 时钟约束 · I/O标准设置
约束XDC
13
综合与实现
运行综合 · 查看综合报告 · 运行实现 · 查看实现报告 · 时序分析基础
综合实现
14
生成比特流与硬件导出
生成比特流 · 导出硬件描述文件(XSA)· 理解硬件平台
比特流XSA
15
RISC-V软件开发环境搭建
RISC-V GNU工具链安装 · 编译与链接基础 · Makefile编写
工具链Makefile
16
启动代码与链接脚本
编写启动代码(crt0.S)· 链接脚本(.ld)编写 · 内存布局定义
启动链接
17
裸机编程基础
GPIO控制 · UART打印 · 定时器中断 · LED闪烁实验
裸机GPIO
18
FreeRTOS移植与多任务
FreeRTOS简介 · 移植FreeRTOS到RISC-V · 创建多任务 · 任务间通信
RTOS多任务
19
调试技术
使用OpenOCD与GDB调试 · JTAG调试器连接 · 断点与单步执行 · 查看寄存器与内存
调试GDB
20
性能分析与优化
代码性能分析 · 编译器优化选项 · 关键路径优化 · 内存访问优化
性能优化
21
自定义AXI外设设计
创建自定义AXI4-Lite外设IP · 添加用户逻辑 · 集成到Block Design
AXI自定义
22
DMA控制器集成
DMA工作原理 · 添加AXI DMA IP · 配置DMA传输 · 实现内存到外设高速传输
DMA高速
23
FPGA动态部分重配置
部分重配置概念 · 创建PR分区 · 加载RISC-V加速器比特流
PR动态
24
多核RISC-V系统设计
多核架构简介 · 添加多个RISC-V核 · 核间通信机制 · 共享内存设计
多核通信
25
RISC-V向量扩展(V扩展)应用
向量扩展简介 · 配置支持V扩展的核 · 向量化编程示例
向量V扩展
26
安全启动与信任根
安全启动流程 · 添加OTP/密钥存储 · 验证固件签名 · 信任根实现
安全信任根
27
功耗分析与优化
Vivado功耗分析工具 · RISC-V核功耗优化 · 时钟门控 · 电源域管理
功耗低功耗
28
系统级验证与测试
编写测试平台 · 运行仿真 · 硬件在环测试 · 性能基准测试
验证仿真
29
从原型到产品
PCB设计注意事项 · 信号完整性 · 电源完整性 · 散热设计 · 合规性认证
产品PCB
30
综合案例:RISC-V SoC设计实战
需求分析 · 架构设计 · IP集成 · 软件编写 · 系统调试 · 性能调优全流程
实战SoC