VIP20
本课程属于:018-Vitis 芯片设计与FPGA · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

FPGA流水线设计全流程实战

📚 共计 30 章节
01
流水线设计概述
什么是流水线设计 · 历史与演进 · FPGA中的价值 · 课程目标与学习路径
概念导学
02
数字电路基础回顾
组合逻辑与时序逻辑 · 触发器与寄存器 · 时钟与复位 · 建立时间与保持时间
基础时序
03
FPGA架构与资源
LUT·FF·BRAM·DSP · Xilinx/Altera对比 · 开发板选型建议
架构器件
04
流水线基本原理
流水线级 · 吞吐量与延迟 · 深度与性能权衡 · 经典5级模型
核心模型
05
流水线冒险概述
结构冒险 · 数据冒险 · 控制冒险 · 冒险对性能的影响
冒险分类
06
结构冒险与解决
资源冲突 · 哈佛/冯诺依曼 · 分离指令与数据 · FPGA资源复用
结构策略
07
数据冒险与解决 (上)
RAW·WAR·WAW · 数据前递/旁路 · 前递逻辑Verilog实现
数据前递
08
数据冒险与解决 (下)
插入气泡(Stall) · 编译器调度 · 寄存器重命名 · FPGA数据前递
气泡调度
09
控制冒险与解决
分支预测 · 分支延迟槽 · FPGA实现 · 静态/动态预测
分支预测
10
流水线控制单元设计
控制信号生成 · 流水线寄存器控制 · 异常/中断 · Verilog实现
控制FSM
11
流水线数据通路设计
取指·译码·执行·访存·写回 · 五阶段通路
通路架构
12
取指阶段设计
程序计数器(PC) · 指令存储器接口 · 分支目标计算 · 流水线寄存器
IFPC
13
译码阶段设计
指令译码 · 寄存器文件读取 · 立即数扩展 · 控制信号 · ID寄存器
ID译码
14
执行阶段设计
ALU设计 · 算术/逻辑/移位/比较 · EX流水线寄存器
EXALU
15
访存阶段设计
数据存储器接口 · 加载/存储 · 字节/半字/字 · MEM寄存器
MEM存储
16
写回阶段设计
写回选择逻辑 · 寄存器文件写入 · WB寄存器 · 写回冲突处理
WB写回
17
流水线寄存器设计
IF/ID · ID/EX · EX/MEM · MEM/WB · 宽度与内容定义
寄存器接口
18
流水线性能分析
CPI · 加速比 · 效率 · Amdahl定律应用
性能量化
19
流水线仿真与验证
Testbench · 波形分析 · 功能/时序仿真 · Vivado/ModelSim
仿真验证
20
流水线综合与实现
综合策略 · 时序约束 · 资源优化 · 布局布线 · 比特流
综合实现
21
流水线调试技巧
片上调试(ChipScope/SignalTap) · ILA/VIO核 · 常见问题排查
调试ILA
22
多周期指令处理
乘法/除法/浮点指令 · 多周期影响 · 流水线停顿策略
多周期停顿
23
超标量流水线基础
超标量概念 · 多发射 · 指令窗口 · 与超流水线区别
超标量多发射
24
动态调度技术
Tomasulo算法 · 保留站 · CDB · FPGA动态调度挑战
动态调度Tomasulo
25
乱序执行与重排序
乱序执行原理 · 重排序缓冲区(ROB) · 提交逻辑 · 精确异常
乱序ROB
26
向量处理器与SIMD
向量处理概念 · SIMD指令集 · 向量寄存器 · FPGA向量实现
SIMD向量
27
流水线在AI加速中的应用
卷积计算流水线 · 矩阵乘法流水线 · 数据复用 · AI加速器架构
AI卷积
28
流水线在通信系统中的应用
OFDM流水线 · 信道编码(Viterbi/Turbo) · 数字下变频
通信OFDM
29
低功耗流水线设计
时钟门控 · 操作数隔离 · DVFS · 流水线级合并与拆分
低功耗门控
30
综合项目:RISC-V 5级流水线CPU
需求分析 · 架构设计 · 模块划分 · 集成测试 · 性能优化 · 总结
项目RISC-V