Prosesor di SoC FPGAs bisa "keras" atau "lunak." Prosesor keras diterapkan dalam logika silikon tetap SoC FPGA mirip dengan transiver serial. Namun, pada SoC FPGAs, prosesor dikelilingi oleh logika yang dapat diprogram yang dapat Anda gunakan untuk fungsi khusus atau aplikasi tertentu. Prosesor keras menawarkan performa CPU yang lebih tinggi dibandingkan prosesor lunak, tergantung pada faktor seperti arsitektur prosesor, clock rate, dan teknologi proses. Sesuai dengan namanya, rangkaian fitur prosesor keras tetap dan biasanya ditawarkan hanya sebagai variasi dari SoC FPGA tertentu. Jumlah dan jenis prosesor keras dalam FPGA SoC juga ditetapkan sebagai fungsi dari SoC FPGA tertentu. Altera menawarkan prosesor keras dalam FPGA SoC Intel Stratix 10, FPGA SoC Intel Arria 10, Arria V SoC FPGA, dan FPGA keluarga Cyclone V SoC .
Prosesor lunak, seperti prosesor Nios II, diimplementasikan dalam logika yang dapat diprogram, penggunaan sumber daya pada chip seperti elemen logika, pengganda, dan memori, dan dapat diinteksi dalam hampir semua rangkaian FPGA. Performa dan biaya prosesor lunak terutama bergantung pada FPGA prosesor yang instan, tetapi performa dan biaya biasanya lebih rendah dibandingkan prosesor keras. Jumlah prosesor lunak yang dapat diinteksi dalam satu perangkat hanya dibatasi oleh sumber daya perangkat (yaitu, logika dan memorinya). FPGAs densitas tinggi, misalnya, dapat berisi ratusan prosesor lunak. Demikian juga, berbagai jenis prosesor lunak dapat diimplementasikan: 16 atau 32 bit, performa dioptimalkan, area logika dioptimalkan, dan sebagainya. Anda dapat memilih untuk memigrasikan desain prosesor lunak Anda ke implementasi prosesor keras saat berpindah ke susunan gerbang atau desain berbasis sel. Satu atau beberapa prosesor lunak juga dapat digunakan dalam bagian FPGA dari FPGA SoC.