FPGA 映射技术:突破约束,实现高效图像算法
在FPGA上实现嵌入式图像处理应用,算法到资源的映射过程面临着多种约束,主要包括时间约束、内存带宽约束和资源约束。下面将详细介绍应对这些约束的技术。
1. 时间约束及应对策略
实时应用对数据速率的要求施加了严格的时间约束,特别是在视频处理中,每个像素的处理必须在像素时钟速率内完成。针对这一约束,可通过以下方式解决:
1.1 低级别流水线技术
在非简单的应用中,图像操作的逻辑传播延迟往往超过像素时钟速率。流水线技术将逻辑分割成多个小模块,分布在多个时钟周期内,从而减少每个时钟周期的传播延迟,使设计能够以更高的时钟频率运行。
例如,对于二次函数 $y = ax^2 + bx + c$ 的计算,如果在单个时钟周期内完成,传播延迟为两次乘法和两次加法的时间。若将计算分散到两个时钟周期,可使用寄存器 $y1$ 分割计算路径,将第二次乘法和加法移到第二个时钟周期。虽然增加了少量传播延迟,但每个时钟周期的传播延迟几乎减半,时钟速度可接近翻倍,吞吐量也随之增加,不过会带来一定的延迟增加。
当进一步将计算分散到四个时钟周期时,由于乘法的传播延迟远长于加法,时钟周期无法减半,流水线的第1和第3阶段决定了最大时钟频率。此时,可通过重定时技术改善不同阶段传播延迟的不平衡,但手动重定时繁琐且易出错,好在一些设计工具提供了自动化重定时功能。若重定时不可用或不实用,还可采用一些技术减少逻辑深度,如用移位或移位加法替代常量乘法和除法,用相等比较替代大于小于比较等。
1.2 进程同步
并行操作时,不同进程间的行为和通信协调是常见问题。若所有操作都在流水线中流式
超级会员免费看
订阅专栏 解锁全文
23

被折叠的 条评论
为什么被折叠?



