Dear community members,
in the VisualApplets design in the attachment you find an implementation for a fast 90° rotation for image sizes up to 16384x30016 pixels.
The design is implemnetd for marathon VCLx platform. A rotation bandwidth of up to 850 Mbyte/s was measured in hardware for this design.
Design idea:Images are stored in DRAM Buffer and are read in columns of 32x512.
Next, these columns are rotated with BRAM buffer and results appended.
DRAM is slow when it comes to non-linear read. Therefore the colums of width 32 are
used to increase the burst size. In addition the input image is split to two DRAM buffers which run simultanously to increase the speed.
The additional BRAM sorting can be performed at parallelism 1 sufficiently fast enough.