Large-scale matrix 90° transposition with DDR3

In practical applications, there may be a need for large matrix transpositions, especially for image applications where transposition is to achieve a 90° rotation of the image.

Since the RAM resources in the FPGA chip are generally insufficient to cache such large-scale matrix data, it is generally necessary to use external memory, generally DDR3. We need to organize the data into DDR3 in the direction of the row and then read the data in the direction of the column. So how to efficiently use the bandwidth of DDR3 is the core to achieve 90° flip of image matrix!

The following is a schematic diagram of a 1920x1080 matrix with access to DDR3. Both writing and reading are done in 4x4 blocks:

借助于DDR3实现大型矩阵90°的转置

Large-scale matrix 90° transposition with DDR3

When writing, at least 4 lines of cache are required according to the following data organization:

Large-scale matrix 90° transposition with DDR3

When reading, according to the following data organization, at least 4 lines of cache are required:

Large-scale matrix 90° transposition with DDR3

Brightening Luminaires

Landscape brightening,Landscape lighting,Led landscape lighting

Kindwin Technology (H.K.) Limited , https://www.ktl-led.com

This entry was posted in on