FPGA映射技术:突破约束,实现高效图像处理
在FPGA(现场可编程门阵列)上实现嵌入式图像处理应用时,会面临多种约束,如时序约束、内存带宽约束和资源约束。为了克服这些约束,需要采用一系列的映射技术。下面将详细介绍这些技术。
1. 时序约束及应对策略
实时应用对数据处理速度有严格的时序要求,在视频处理中,每个像素的处理必须在像素时钟周期内完成。为了满足这一要求,通常会采用低级别流水线技术。
1.1 低级别流水线
在非简单的图像处理应用中,逻辑的传播延迟往往超过像素时钟速率。流水线技术可以将逻辑拆分为多个小块,分布在多个时钟周期内执行,从而减少每个时钟周期的传播延迟。
以计算二次函数 $y = ax^2 + bx + c$ 为例,若在单个时钟周期内完成计算,传播延迟为两次乘法和两次加法的时间。若将计算分布在两个时钟周期内,通过寄存器 $y1$ 分割计算路径,将第二次乘法和加法移至第二个时钟周期,每个时钟周期的传播延迟几乎减半。虽然额外的寄存器会引入少量传播延迟,但时钟速度几乎可以翻倍,从而提高了吞吐量。不过,这也会导致延迟略有增加,因为整个计算所需的总时间变长了。
流水线技术可能会增加逻辑块的使用,因为需要引入寄存器来构建流水线阶段。这些寄存器通常使用逻辑块内的触发器实现,可映射到实现逻辑的逻辑单元的未使用触发器上。
如果将计算进一步扩展到四个时钟周期,由于乘法的传播延迟明显长于加法,时钟周期无法减半。阶段1和3中的乘法器会限制最大时钟频率,虽然最大吞吐量会略有增加,但延迟会显著增加。可以通过重定时技术来改善不同阶段传播延迟的不平衡问题,但手动进行细粒度的重定时操作既繁琐又容易出错,不过可以通过自动
超级会员免费看
订阅专栏 解锁全文
56

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



