01
DDR基础概念
DDR存储器概述 · DDR与SRAM的区别 · DDR发展历程(DDR1-DDR5) · 关键时序参数(tRCD、tCL、tRP等)
基础时序
02
DDR硬件接口
物理层信号(DQ、DQS、CK、CMD/ADDR) · 拓扑结构(Fly-by vs T型) · 电源与参考电压设计
硬件PCB
03
DDR控制器架构
内部模块划分 · 用户接口与物理层接口 · 命令调度器与数据通路
架构模块
04
HLS基础回顾
Vivado HLS开发流程 · C/C++代码综合 · 接口综合(ap_int、hls::stream) · 流水线与数据流优化
HLS优化
05
HLS中的DDR建模
使用ap_uint精确建模DDR时序 · 行为级模型搭建 · 仿真验证模型正确性
建模仿真
06
单次读写事务
HLS实现单次DDR读操作 · 单次DDR写操作 · 地址映射与数据对齐
事务基础
07
Burst传输机制
DDR Burst概念(BL=8) · HLS中Burst读实现 · Burst写实现 · Burst效率分析
Burst效率
08
命令调度策略
Bank管理与行激活策略 · HLS实现简单Round-Robin调度 · 优先级调度设计
调度Bank
09
数据FIFO设计
读写FIFO深度计算 · HLS中hls::stream实现FIFO · 空满标志与反压机制
FIFO反压
10
时序约束与优化
HLS中设置时钟约束 · DDR接口时序收敛技巧 · 项目中的时序问题
时序收敛
11
多端口DDR控制器
多端口架构设计 · 端口仲裁逻辑 · HLS实现双端口DDR控制器
多端口仲裁
12
AXI4接口集成
AXI4协议简介 · HLS生成AXI4 Master接口 · AXI4 Burst传输实现
AXI4接口
13
DDR初始化流程
DDR上电初始化序列 · HLS中模拟初始化状态机 · 初始化完成标志设计
初始化状态机
14
刷新与自刷新
DDR刷新机制 · HLS实现刷新计数器 · 自刷新模式进入与退出
刷新自刷新
15
ECC与数据完整性
ECC原理简介 · HLS实现简单ECC编码/解码 · ECC对性能的影响
ECC完整性
16
低功耗设计
DDR低功耗模式 · HLS中实现时钟门控 · Power-Down与Self-Refresh切换
低功耗门控
17
性能分析工具
Vivado HLS性能报告解读 · DDR带宽利用率计算 · 常用性能调优方法
性能调优
18
仿真验证策略
DDR控制器仿真环境搭建 · 随机事务生成器 · 覆盖率驱动验证
仿真验证
19
FPGA原型验证
在FPGA上部署DDR控制器 · 使用ILA调试DDR接口 · 实测带宽与延迟
FPGAILA
20
常见问题与调试
DDR初始化失败排查 · 数据错误定位 · 时序违例处理
调试问题
21
高级调度算法
FR-FCFS调度策略 · HLS实现FR-FCFS · 调度算法性能对比
调度FR-FCFS
22
写合并与读合并
写合并策略 · 读合并策略 · HLS实现合并逻辑
合并优化
23
预取与缓存
DDR预取机制 · HLS实现简单预取器 · 缓存一致性考虑
预取缓存
24
多通道DDR设计
多通道DDR控制器架构 · 通道间负载均衡 · HLS实现通道交叉访问
多通道负载均衡
25
DDR与DMA结合
DMA控制器设计 · HLS实现DMA引擎 · DDR-DMA数据传输优化
DMA引擎
26
虚拟通道技术
虚拟通道概念 · HLS实现虚拟通道 · 虚拟通道与QoS
虚拟通道QoS
27
DDR控制器验证IP
使用VIP验证DDR控制器 · HLS生成验证IP · 自动化回归测试
VIP验证
28
HLS与RTL混合设计
HLS模块与RTL模块接口 · 混合仿真流程 · 混合设计经验
混合RTL
29
DDR控制器性能调优
延迟隐藏技术 · Bank级并行优化 · 数据预取深度调优
调优延迟
30
项目实战:视频帧缓存系统
项目需求分析 · DDR控制器在视频系统中的应用 · 完整系统集成与测试
实战视频