The project aims at RESIZING a still image, first using Processing System (PS) using Python on an ARM9 processor, and the other executed in hardware using a kernel contained within a hardware overlay in the Programmable Logic (PL).
- The
RESIZEfunction is executed on the ARM9 processor within the Processing System (PS). - The ARM9 processor accesses the input image and performs the
RESIZEoperation using Python code. - The
RESIZEoperation involves resampling the input image and applying filtering/interpolation techniques to generate the output image. - The execution time of the
RESIZEfunction is measured on the ARM9 processor.
- The
RESIZEfunction is implemented in hardware using a kernel contained within a hardware overlay in the Programmable Logic (PL). - The input image is passed from the ARM9 processor to the DDR Memory (DRAM).
- The
Resize IPblock is configured to execute theRESIZEfunction within the hardware overlay. - The DMA controller is set up to transfer source pixels from DRAM to the
Resize IPblock and to transfer destination pixels from theResize IPblock back to DRAM. - The ARM9 processor can access the resulting resized image stored in DRAM after the hardware acceleration.
- FPGA implementation is X4 times faster than Software Implementation.