SoC and MPSoC

SoC stands for System on Chip. Many electronic applications are based on microprocessors, memories, and peripherals. Traditionally the integration of these system components has been done at the board (PCB) level.

The never-stopping progression in electronic miniaturization has made possible for many of these components (processor, memories, peripherals) to be integrated in a single package, thus called SoC.

On the FPGA arena, it is usual to see applications where the FPGA is integrated with a processor (or processors) at the heart of the system. Until around five years ago, the processors integrated on the FPGAs were mainly soft-core processors, like Nios for Intel-Altera or Microblaze for Xilinx.

Lately, the two major FPGA manufacturers have returned to the trend of including high performance processors as hard-IP on their FPGAs.

In the FPGA world, as in the rest of the digital world, most processors are multi-core. So the acronym MPSoC, means Multi Processor System on Chip.

As an example of some available MPSoCs in the market, let's see some examples from Xilinx:

Zynq-7000 SoC Zynq UltraScale+ MPSoC
Processing Unit Single/Dual-core ARM Cortex-A9 @1GHz Dual/Quad-core ARM Cortex-A53 MPCore @1.5GHz
Logic Cells
Embedded memory
26.5 MBit
70.6 MBit

  1. The table shows the maximum capacity (operation frequency, logic elements) for each family
  2. To make the table simple, I have concentrated only on the (main) processor(s), embedded memory and logic elements for each device. Each device can have a lot of additional features, like additional management processors, DSP slices for signal processing and a plethora of high speed (Ethernet, PCIe, USB, etc.) and low speed interfaces (UART, I2C, SPI, etc.)

For more details about the SoC devices offered by Xilinx, you can visit here


Popular posts from this blog

Xilinx AXI Stream tutorial - Part 1

Xilinx AXI Stream tutorial - Part 2

Pseudo random number generator Tutorial