RISC-V浮点运算单元在FPGA上的实现

📚 共计 30 章节
01
RISC-V与FPGA概述
RISC-V指令集架构简介 · 浮点运算单元(FPU)的作用 · FPGA开发流程概述 · 环境搭建(Vivado/Quartus)
入门概述
02
IEEE 754浮点标准
单精度与双精度格式 · 规格化与非规格化数 · 特殊值(NaN/Infinity) · 舍入模式介绍
标准浮点
03
FPGA数字设计基础
Verilog/VHDL基础回顾 · 组合逻辑与时序逻辑 · 流水线设计思想 · 同步复位与异步复位
基础Verilog
04
加法器设计(一)
半加器与全加器 · 行波进位加法器 · 超前进位加法器原理 · Verilog实现与仿真
加法器组合
05
加法器设计(二)
进位保留加法器(CSA) · 4-2压缩器 · 加法器树结构 · FPGA资源优化技巧
优化CSA
06
浮点加法器(一)
浮点加法算法流程 · 对阶操作实现 · 尾数加法与规格化 · Verilog模块划分
浮点加法
07
浮点加法器(二)
特殊值处理 · 舍入逻辑实现 · 异常标志生成 · 综合与时序分析
舍入异常
08
乘法器设计(一)
基本乘法器结构 · 阵列乘法器 · Wallace树乘法器原理 · 部分积压缩
乘法器Wallace
09
乘法器设计(二)
Booth编码乘法器 · 改进型Booth算法 · FPGA中DSP48的使用 · 乘法器性能对比
BoothDSP48
10
浮点乘法器
浮点乘法算法 · 指数相加与偏移调整 · 尾数乘法实现 · 结果规格化与舍入
浮点乘法规格化
11
除法器设计(一)
恢复余数除法 · 不恢复余数除法 · SRT除法算法简介 · FPGA实现考量
除法器SRT
12
除法器设计(二)
Newton-Raphson迭代法 · 查找表初始化 · 迭代收敛分析 · 硬件资源评估
迭代Newton
13
浮点除法器
浮点除法算法流程 · 符号与指数处理 · 尾数除法实现 · 特殊值处理
浮点除法尾数
14
浮点比较器
浮点数比较原理 · 相等判断 · 大于/小于判断 · 无序比较与异常处理
比较器异常
15
浮点转换单元
整数与浮点互转 · 定点数与浮点数转换 · 格式转换(单精度↔双精度) · 转换延迟优化
转换定点
16
开方运算单元(一)
数字开方算法 · 逐位恢复开方 · 非恢复开方算法 · FPGA实现结构
开方逐位
17
开方运算单元(二)
CORDIC算法原理 · CORDIC实现开方 · 迭代次数与精度权衡 · 硬件资源共享
CORDIC迭代
18
融合乘加单元(FMA)
FMA指令格式 · 单路径与双路径实现 · 乘法与加法融合技巧 · 精度优势分析
FMA融合
19
FPU控制逻辑
指令译码与操作码解析 · 操作数准备与旁路 · 流水线控制与冒险处理 · 写回与提交
控制流水线
20
FPU流水线架构
经典5级流水线 · FPU流水线深度选择 · 流水线寄存器设计 · 吞吐率与延迟权衡
架构吞吐率
21
FPU与CPU集成
RISC-V处理器内核接口 · Load/Store单元交互 · CSR寄存器配置 · 中断与异常处理
集成CSR
22
验证策略(一)
验证方法论概述 · 定向测试用例设计 · 随机测试生成 · 覆盖率收集与分析
验证覆盖率
23
验证策略(二)
UVM验证框架简介 · 参考模型构建 · 断言与属性检查 · 形式化验证入门
UVM断言
24
FPGA调试技巧
片上逻辑分析仪(ILA)使用 · Vivado调试流程 · SignalTap使用 · 时序问题定位
调试ILA
25
性能优化(一)
关键路径分析 · 寄存器重定时 · 逻辑复制与扇出优化 · 综合策略调优
性能重定时
26
性能优化(二)
多周期路径约束 · 伪路径约束 · 时钟域交叉处理 · 功耗优化技巧
约束功耗
27
资源优化
DSP48与BRAM高效使用 · 资源共享与复用 · 面积与速度权衡 · 层次化设计方法
资源BRAM
28
FPU测试与评估
测试基准程序 · 精度测试方法 · 性能指标(吞吐率/延迟) · 与软实现对比
测试评估
29
高级话题(一)
向量浮点扩展(V扩展)简介 · SIMD浮点运算 · 可配置FPU设计 · 多核一致性
向量SIMD
30
高级话题(二)
低精度训练(FP16/BF16) · 近似计算 · FPGA上AI加速器中的FPU · 未来趋势展望
AIBF16