Embedded Systems

What is a Soft-Core Processor?

A soft-core processor is a microprocessor core that can be implemented entirely using digital logic synthesis. It is typically created on a programmable hardware like a field programmable gate array (FPGA). The key feature of a FPGA is that it is reconfigurable with different digital designs allowing functionality to be changed unlimited number of times by downloading a new file without physically changing the chip.

Development Cycle of Digital Designs with FPGAs

First, a digital design is encoded via schematic capture or a hardware description language (HDL). Then, the design is synthesized and transformed into a form that can be used to configure the FPGA. This form is normally called the configuration file. The configuration file is then used to configure the FPGA, which transforms the FPGA into the required digital solution.

FPGA Design Flow
Figure 1.0 FPGA Design Flow

For example, if the required digital design for the first input file is that of a microprocessor, then the resulting transformation of the FPGA yields a microprocessor. This type of microprocessor is termed to as a soft-core processor.

Figure 1.1 Soft-core processor design flow for FPGA

Once the FPGA has been transformed into a microprocessor, its usage patterns mirror those of a conventional (discrete) microprocessor. The processor must still be programmed using traditional programming languages and methods.

Figure 1.2 Programming of soft-core processor

Several traditional devices that are interfaced to discrete microprocessors like memory, buttons, switches, LEDs, etc., can also be connected to soft-core processors. The interface logic that is typically produced in the form of discrete components can be realized as logic instantiated in the FPGA along with the soft-core processor. Interface logic may include: Universal Asynchronous Receiver/Transmitter (UART), Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), etc.

Figure 1.3 Device interfacing to soft-core processor

Examples of 32 bit soft-core processors include: Xilinx Microblaze, Altera Nios II, LatticeMico32, etc.

Also read: Microprocessor vs Microcontroller, What are the Differences?

John Mulindi

John Mulindi is an Industrial Instrumentation and Control Professional with a wide range of experience in electrical and electronics, process measurement, control systems and automation. In free time he spends time reading, taking adventure walks and watching football.

Recent Posts

Hydraulic System: Function, Components, Advantages & Drawbacks  

Hydraulic systems are built in such way that they are able to move large loads…

3 weeks ago

The Role of Precision PCB Design in Aerospace Innovation

Image source: Unsplash Innovation in aerospace engineering is accelerating, driven by rising demands for safer,…

3 weeks ago

Bittele Electronics: Setting the Pace in Turnkey PCB Assembly

Image source: Freepik From consumer electronics, IoT, automotive, industrial control, healthcare, communication systems to aerospace;…

3 weeks ago

The Role of Industrial and Domestic Biomass Boilers

Image source: Unsplash What is Biomass Energy? Biomass energy, a form of renewable energy derived…

3 weeks ago

The Essential Role of Water Turbines in Harnessing Hydroelectric Power

Hydro Turbine, Image source: Energy Education Understanding Hydroelectric Power Hydroelectric power is one of the…

4 weeks ago

Common Types of Differential Pressure Flowmeters

The term ‘flow’ can generally be applied in three distinct circumstances: Volumetric flow is the…

1 month ago