FPGA嵌入式系统设计与软核CPU移植
📚 共计 30 章节
01
FPGA概述
FPGA发展历史 · ASIC对比 · CLB/IOB/Block RAM/DSP · 主流厂商
基础
架构
02
开发环境搭建
Vivado/Quartus安装 · 开发板 · LED闪烁 · Verilog/VHDL选择
工具
入门
03
Verilog基础 (上)
模块 · wire/reg/integer · 运算符 · assign · always · 阻塞赋值
语法
组合逻辑
04
Verilog基础 (下)
加法器/多路选择器/译码器 · 计数器/分频器/移位寄存器 · 状态机
时序
状态机
05
仿真与调试
Testbench · ModelSim/Vivado Sim · 波形分析 · ILA/SignalTap
仿真
调试
06
IP核集成
PLL · Block RAM · FIFO · DSP48 · Xilinx/Intel IP目录
IP
配置
07
时序约束与综合
建立/保持时间 · create_clock · set_input_delay · 综合策略
时序
优化
08
嵌入式系统概述
嵌入式系统 · FPGA+处理器 · SoC区别 · 设计流程
概念
系统
09
软核CPU概念
软核vs硬核 · MicroBlaze/Nios II/RISC-V · 优势与局限
CPU
架构
10
MicroBlaze架构
处理器架构 · 指令集 · 寄存器 · 流水线 · AXI · 配置选项
MicroBlaze
详解
11
MicroBlaze最小系统
Vivado Block Design · 核配置 · DDR · UART · 比特流
系统
搭建
12
Vitis SDK开发环境
Vitis IDE · 应用工程 · Hello World · 编译下载 · 串口终端
SDK
调试
13
GPIO外设驱动
AXI GPIO · LED控制 · 按键中断 · AXI INTC配置
GPIO
中断
14
UART串口通信
UART协议 · AXI UART Lite · 轮询/中断 · 命令解析
串口
通信
15
定时器与PWM
AXI Timer · 定时中断 · PWM生成 · 呼吸灯
定时器
PWM
16
I2C与SPI总线
I2C协议 · AXI IIC · SPI协议 · AXI Quad SPI · 传感器读取
总线
外设
17
DMA与高性能数据传输
AXI DMA · 简单传输 · Scatter-Gather · DMA+FIFO
DMA
高性能
18
DDR内存控制器
DDR工作原理 · MIG IP · 读写测试 · Cache一致性
DDR
存储
19
Flash控制器与启动
SPI Flash · QSPI读写 · MultiBoot · 从Flash启动
Flash
启动
20
以太网通信
三速MAC · LWIP移植 · TCP/UDP · 网络优化
以太网
LWIP
21
Nios II软核处理器
Nios II架构 · Qsys集成 · 最小系统 · Eclipse IDE
Nios II
Intel
22
RISC-V软核处理器
RISC-V优势 · VexRiscv/PicoRV32/SERV · FPGA部署
RISC-V
开源
23
FreeRTOS移植 (上)
RTOS概念 · 任务管理 · 队列/信号量 · MicroBlaze移植
FreeRTOS
移植
24
FreeRTOS移植 (下)
中断管理 · 内存管理 · 软件定时器 · 多任务实例
FreeRTOS
实战
25
自定义AXI外设
AXI4-Lite/Stream · IP Packager · 自定义PWM IP · 集成
AXI
自定义
26
硬件加速器设计
C/C++转RTL · HLS · 矩阵乘法加速 · 软核协同
HLS
加速
27
系统性能优化
循环展开/流水线 · 内存访问 · DMA/Cache · 多核
优化
性能
28
调试与验证技巧
VIO/IBERT · 断点/单步 · 软硬件协同 · 常见问题
调试
验证
29
项目实战 (上)
需求分析 · 架构设计 · 模块划分 · 硬件平台 · 驱动开发
实战
上
30
项目实战 (下)
应用层软件 · 系统集成测试 · 性能调优 · 文档总结
实战
下