Electronic – Soft core Processors VS Hard core Processors

armfpga

I am doing a study on FPGA interfacing with Microprocessor such as ARM9.

Came across the concept of Soft core and Hard core Processors in my study. May I know what is the comparison between these 2 type; similarity or differences in the implementation ?

Best Answer

Soft core is implemented in FPGA fabric while Hard is implemented the same as any integrated circuit while still connected to the FPGA fabric. The comparison generally boils down to:

Hard Core Processors - 100's of MHz up to 1GHz+ of speed

  • Can achieve much faster processing speeds since they are optimized and not limited by fabric speed
  • Fixed and cannot be modified (though it can take advantage of custom logic in FPGA fabric for processing

Soft Core Processors - 250MHz and less (usually less than 200MHz)

  • Can be easily modified and tuned to specific requirements, more features, custom instructions, etc.
  • Multiple cores can be used (at the cost of resources)
  • Limited by the speed of the fabric.

In recent years, there's been a large move towards hard processor primarily due to the need for faster processing that the soft cores can't provide. When you put a hard core processor with the FPGA fabric, you can typically enable processing of a lot of data, which is needed for communication infrastructure applications (lots of GBs of data going by), for example.