High-performance computing refers to the use of advanced computing technologies, especially supercomputers, to solve highly complex, numerically intensive problems in the shortest possible time. Field programmable gate arrays (FPGAs) are emerging in many areas of high performance computing. FPGAs are so flexible and reconfigurable that they are capable of massively parallel operations, explicitly tailored to the problem at hand. There are many of paradigms to put FPGAs at work in a high performance computing environment. There are also many of limitations which restrict FPGAs to reach the performance of application Specific Integrated Circuits (ASICs) but they provide the possibility of changing the hardware design easily while outpacing software implementations on general purpose processors. Since FPGAs offer an inherently parallel computing paradigm The problem of achieving significant speedups on a new architecture without expending exorbitant development effort, while retaining flexibility, portability, and maintainability, is a classic one.