开源RISC-V SoC在FPGA上的部署技巧

📚 共计 30 章节
01
RISC-V与FPGA概述
RISC-V指令集架构简介 · 为什么选择RISC-V做SoC · FPGA平台选择 · 开源核对比
RocketBOOMVexRiscvSERV
02
开发环境搭建
Vivado/Quartus安装 · RISC-V工具链 · Verilator仿真 · Makefile管理
GCCLLVMVerilator
03
Rocket Chip SoC生成器
Rocket Chip框架 · Chisel基础 · 参数化SoC生成 · RTL仿真
ChiselRTL生成器
04
VexRiscv核详解
架构特点 · 流水线配置 · 插件机制 · 性能与面积权衡
可配置流水线插件
05
SoC总线与互联
TileLink vs AXI · Crossbar/NoC · 地址映射 · 总线优化
TileLinkAXICrossbar
06
外设集成 (UART/SPI/I2C)
UART控制器 · SPI Flash · I2C驱动 · PLIC/CLINT中断
UARTSPII2CPLIC
07
内存子系统设计
SRAM/BRAM · DDR控制器 · Cache一致性 · TCM紧耦合内存
MIGUniPHYCache
08
时钟与复位管理
多时钟域 · MMCM/PLL · 复位同步 · 时钟门控
MMCMPLL低功耗
09
调试与验证
JTAG/OpenOCD · 串口Bootloader · 波形分析 · ILA/VIO
OpenOCDILAVIO
10
启动流程与Bootloader
Boot ROM · SPI Flash启动 · U-Boot移植 · Linux内核启动参数
U-BootSPIBoot ROM
11
Linux内核移植
内核源码 · 设备树 · RISC-V补丁 · 编译与启动测试
Device TreeLinux补丁
12
Buildroot与Yocto
Buildroot配置 · Yocto BSP · 根文件系统定制 · 交叉编译
BuildrootYoctoBSP
13
性能优化 (Dhrystone/CoreMark)
基准测试 · 微架构优化 · 编译器选项 · 时序约束
DhrystoneCoreMark优化
14
功耗优化
DVFS · 时钟门控 · 电源域划分 · 低功耗模式
DVFS低功耗门控
15
安全特性
PMP · TEE基础 · 安全启动链 · 侧信道防护
PMPTEE安全启动
16
多核与异构计算
多核RISC-V · 缓存一致性 · 异构加速器 · 核间通信
多核TileLinkNPU
17
向量扩展 (RVV) 实现
RVV指令集 · 向量单元微架构 · 向量化编译器 · 性能评估
RVV向量SIMD
18
FPGA原型验证
ASIC原型流程 · 多FPGA分区 · 信号完整性 · 调试接口复用
原型验证分区ASIC
19
实时操作系统 (RTOS) 移植
FreeRTOS移植 · 任务调度 · 中断管理 · 裸机切换
FreeRTOSRTOS调度
20
硬件加速器集成
自定义指令 · 协处理器 · DMA引擎 · 加速器驱动
DMA协处理器加速
21
AI推理加速
TinyML移植 · 卷积加速器 · 量化压缩 · FPGA部署
TinyML卷积量化
22
网络协议栈
lwIP移植 · 以太网MAC · 网络优化 · MQTT/CoAP
lwIPTCP/IPMQTT
23
存储系统
SD卡控制器 · NAND Flash · FAT32/EXT4 · 存储优化
SD卡FAT32EXT4
24
图形与显示
VGA/HDMI · FrameBuffer · LVGL移植 · 触摸屏
VGAHDMILVGL
25
音频处理
I2S接口 · 音频编解码 · FFT加速 · 语音识别
I2SFFT语音
26
传感器融合
I2C/SPI传感器 · 卡尔曼滤波 · IMU融合 · 数据采集
IMU卡尔曼传感器
27
FPGA远程更新
MultiBoot · 黄金镜像 · HTTP/UART更新 · 回滚机制
MultiBoot远程回滚
28
CI/CD与自动化测试
GitLab CI · 仿真回归 · 比特流自动生成 · 覆盖率
CI/CDGitLab自动化
29
开源社区与生态
RISC-V基金会 · Chipyard/OpenPiton · 贡献指南 · 文档撰写
ChipyardOpenPiton社区
30
综合项目实战
从零构建完整SoC · 软硬件协同验证 · 性能调优 · 答辩技巧
实战SoC答辩