直方图操作(四)
之清零电路
一种简单的方法是在所有数据输出完成之后整体清零,另一种思路是在输出完成的下个时钟清零,清零地址为递增,由B口输入。
本设计采用反相清零的方法:即在读出时钟的下一个时钟进行清零。因此,每个像素的统计数据输出和清零操作均需占用1个时钟,奇数时钟输出,偶数时钟清零。
在某些场合,为了配合外部存储器位宽或者本地数据位宽,一般不能直接处理32位的直方图树,这时就需要拆分位宽处理。这样一来,对于一个灰度值的输出操作,需要两个时钟,清零操作总也需要两个时钟,每个像素需要4个时钟来完成读出和清零操作,但是FPGA可以将之并行:
时钟1 | 当前统计值低16位读出 | 上一灰度统计值高16位清零 |
---|---|---|
时钟2 | 当前统计值高16位读出 | 当前灰度统计值低16位清零 |