For the given 256 x 256 array with a software execution time of 2 units per pixel, the total software execution time is estimated at 131,072 seconds.
How to solve
Considering the FPGA's 100MHz clock speed allowing 100 million cycles per second and processing 2 pixels per clock, the FPGA execution time for the same array is approximately 0.00032768 seconds.
Comparatively, the FPGA performs at a significantly higher rate of 762,939,453.125 pixels/second, while the software runs at only 2 pixels/second.
This difference arises because FPGAs are specialized hardware designed for specific operations, while CPUs are general-purpose processors not optimized for such tasks.