A soft microprocessor (also called softcore microprocessor or a soft processor) is a microprocessor core that can be wholly implemented using logic synthesis. It can be implemented via different semiconductor devices containing programmable logic (e.g., ASIC, FPGA, CPLD), including both high-end and commodity variations. Most systems, if they use a soft processor at all, only use a single soft processor. However, a few designers tile as many soft cores onto an FPGA as will fit. In those multi-core systems, rarely used resources can be shared between all the cores in a cluster. While many people put exactly one soft microprocessor on a FPGA, a sufficiently large FPGA can hold two or more soft microprocessors, resulting in a multi-core processor. The number of soft processors on a single FPGA is limited only by the size of the FPGA. Some people have put dozens or hundreds of soft microprocessors on a single FPGA. This is one way to implement massive parallelism in computing and can likewise be applied to in-memory computing. A soft microprocessor and its surrounding peripherals implemented in a FPGA is less vulnerable to obsolescence than a discrete processor. Core comparison See also System-on-a-chip (SoC) Network-on-a-chip (NoC) Reconfigurable computing Field-programmable gate array (FPGA) VHDL Verilog SystemVerilog Hardware acceleration References External links Soft CPU Cores for FPGA Detailed Comparison of 12 Soft Microprocessors FPGA CPU News Freedom CPU website Microprocessor cores on Opencores.org (Expand the "Processor" tab) NikTech 32 bit RISC Microprocessor MANIK.