FPGA巡游之旅——FIFO三行求和
目的:对一个M行N列的矩阵进行相邻三行求和的操作,求和出来
a11 | a12 | a13 | ..... | a1N |
a21 | a22 | a23 | ..... | a2N |
a31 | a12 | a13 | ..... | a1N |
..... | ..... | ..... | ..... | ..... |
aM1 | aM2 | aM3 | ... | aMN |
b11 = a11 + a21+ a31 其余元素计算方式一样,
b11 | b12 | b13 | ..... | b1N |
b21 | b22 | b23 | ..... | b2N |
b31 | b32 | b33 | ..... | b3N |
..... | ..... | ..... | ..... | ..... |
bM-2 1 | bM-2 2 | bM-2 3 | ..... | bM-2 N |
求和操作以后得到的sum矩阵,行数变为M-2,列数不变, 比如4*4矩阵求和操作以后得到2*4矩阵,M*N矩阵求和操作以后变为(M-2)*N矩阵,不管行数为多少,最后都会少两行,且最小行数必须大于等于3
涉及到这种行列操作时,FIFO是一个很好的选择,各家FPGA 平台也有现成的FIFO IP核可以调用,调用FIFO IP核虽然简单,但是我们仍然要理解FIFO的原理。