- 博客(5)
- 收藏
- 关注
原创 # 用 CORDIC 算法在 FPGA 上应用——求相位角
CORDIC 算法诞生于 1959 年,至今仍是 FPGA/ASIC 信号处理工具箱里的常青树。整数角度编码——溢出即循环,彻底回避相位环绕问题象限预处理——一拍寄存器操作,把全象限计算变成半平面问题generate 流水——参数化展开,综合友好,改STEPS即可权衡精度与资源相位幅度同输出——一套流水线,两路结果,资源利用极致参数化设计——相位分辨率和迭代次数支持参数化配置,可根据精度需要进行设置这种"只用移位和加法实现三角运算"的思路,在 FPGA 设计中具有普遍意义。
2026-05-04 22:45:47
899
原创 手把手拆解一个工业级 SPI Master IP 核:五大亮点让你的设计更上一层楼
亮点核心价值双相传输架构一个 IP 适配所有 SPI 外设,无需改 RTL精确三线双向切换边沿级精确控制,避免总线冲突可调采样点板级 SI 问题软件可调,无需重新综合IOB 约束 + MCP 时序真正工程可用的高速 IO 时序设计原子传输 + Abort工业级鲁棒性,防止传输被破坏这个 SPI Master IP 核的设计,体现了从"能用"到"好用"再到"工程可用"的完整思考链路。
2026-05-02 23:19:01
700
原创 用脉动阵列做图像卷积——FPGA 工程师的「硬核」实现
输出前,使用round_satu模块做向最近整数取整(Round-to-nearest)+ 有符号饱和截位取整:防止直接截低位带来的系统性偏差(向下偏)饱和:当结果超出 DOUT_WIDTH 表示范围时,截到最大/最小值而不是回绕这在图像处理中非常重要:卷积结果的像素值范围如果不做饱和处理,溢出回绕会产生明显的花屏噪点。1. 流水线匹配 DSP 内部结构三级寄存的always_ff结构,让综合器能够自动推断出最优的 DSP48 映射,无需手写原语,代码可读性和可移植性兼顾。
2026-04-27 16:00:19
844
原创 一个“极简硬件“的可变长度 FFT 加速器设计——仅用 3 个 DSP,支持 16~8192 点动态切换
本文介绍了一种基于FPGA的可变长度流式FFT加速器设计,采用SystemVerilog RTL实现,具有以下创新特点:1) 通过单蝶形单元串行迭代结构,仅使用3个DSP48E1和4个BRAM36实现16-8192点FFT;2) 采用CORDIC算法实时生成旋转因子,无需大容量ROM表;3) 使用Karatsuba优化将复数乘法器压缩至3个DSP;4) 支持运行时动态切换点数并通过pow_ready握手机制确保参数安全切换;5) 创新的自动动态缩放技术防止运算溢出。该设计在XC7K325T芯片上实现250M
2026-04-21 23:43:56
369
原创 FPGA 如何优雅地计算多项式?聊聊霍纳算法的硬件实现
技术点解决的核心问题霍纳算法乘法次数从 15 次压缩到 5 次,资源节省 2/34-DSP 分割方案突破 DSP48E1 端口位宽限制,实现 32×32 有符号乘法generate 参数化流水极少代码构建规整多级流水线,扩展方便SRL 延迟链相比纯 FF 链节省 4~8 倍寄存器资源位宽规划 + 收敛舍入消除截断统计偏差,提升计算精度饱和截位防止溢出导致符号翻转,提升系统鲁棒性理解这些设计思路,不仅能应用于多项式计算,还可以推广到任何需要高速迭代乘加的 FPGA 算法加速器。
2026-04-20 22:32:31
746
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅