SoC Architecture

Model, simulate, and analyze complex systems-on-a-chip (SoCs)

A system-on-a-chip architecture, or SoC architecture, describes a complex integrated circuit that incorporates processor cores, memory, hardware logic, peripherals, and other components, all connected by communications systems such as internal data buses or networks.

You can useMATLAB®and金宝app®to develop algorithms for implementation on SoC architectures, and then analyze how they would perform when partitioned between software running on hard processors. You can then use code generators and hardware support packages to target programmable SoC devices and boards.

Processor Cores

Processor cores are the fundamental building blocks in SoC architectures. Many SoCs today are based on processor cores from Arm®, such as theCortex®-A,Cortex-M, and Cortex-R cores. Other specialized cores used in SoC architectures include Synopsys®ARC®processors, Cadence®Tensilica®Xtensa®processors, and processor cores based on the RISC-V instruction set architecture.

SoC architectures are increasingly based on multiple cores. In symmetric multiprocessing, applications are partitioned across multiple processor cores. In asymmetric multiprocessing, the cores may have distinctly different roles, with some performing hard real-time tasks managing I/O while others perform executive functions. Each of these types of SoC architectures involves challenges in programming and communication.

Figure 1: SoC architectures include processors, memory, peripherals and communication buses.

SoC architectures include processors, memory, peripherals and communication buses.

内存

SoC architectures can incorporate different memory types and configurations. Static random-access memory (SRAM) may be used for processor registers and fast level 1 (or L1) caches, while dynamic random-access memory (DRAM) often makes up the lower-level main memory of SoCs.

For memory-intensive applications such as embedded vision, developers may need off-chip DDR memory to manage the volume of data. The SoC architecture’s memory bandwidth can be an important consideration in the design of these applications. Products likeSoC Blockset™ can be used toanalyze memory bandwidthfor systems modeled in Simulink.

Peripherals/Interfaces
Many peripherals have been incorporated into SoC architectures, often to address popular communications protocols. Popular interfaces include GPIO,PCI-Express, Gigabit Ethernet, CAN, SPI, USB, UART, andI2C.

SoC architectures of microcontrollers include peripherals such as pulse-width modulators (PWM), analog-to-digital converters (ADC), and digital-to-analog converters (DAC). SoC Blockset helps you simulate these peripherals in Simulink during algorithm development, and the SoC Builder app automates the process of configuring the peripherals.

Communication Systems
The various modules in SoC architectures must communicate to send instructions and data.Bus-based communicationhas been used for this purpose since the development of the earliest SoCs. One of the most popular bus architectures is Arm’s Advanced Microcontroller Bus Architecture (AMBA) standard. The AMBA Advanced eXtensible Interface, orAXI, has been widely adopted throughout the semiconductor industry.

In recent years, interconnection networks have emerged as an alternative to bus-based communication in SoC architectures. The interconnection architecture type–often referred to as network-on-a-chip–allows each subsystem to have its own clock domain.

Programmable SoCs
Semiconductor companies including Xilinx®, Intel®, and Microchip have developed programmable SoC architectures as extensions to FPGA product lines. Theseprogrammable SoC devicesprovide users with hardened processor cores along with theprogrammable logicof conventional FPGAs. Programmable SoCs enable customers to develop hardware/software applications consisting ofprocessor softwarein combination with libraries ofIP cores.

  • Xilinx introduced theZynq®-7000 SoC与一只手臂双核架构cortex - a9核心,and later followed with the Zynq UltraScale+ MPSoC andRFSoCfamilies, which incorporated quad-core Arm Cortex-A53 and dual-core Arm Cortex-R5F processors
  • Intel introduced devices withSoCarchitectures referred to asSoC FPGAs. Cyclone®V SoC, Arria V SoC, and Arria 10 SoC devices are based on Arm dual-core Cortex-A9, whereas the Stratix 10 SoC is based on a quad-core Arm Cortex-A53
  • Microchip Technologyintroduced SmartFusion and SmartFusion2 SoCs based on Arm Cortex-M cores, and more recently, the PolarFire®SoC FPGA family, which incorporates a coherent RISC-V processor cluster

SoC Blocksetprovides Simulink blocks that you can use to model, simulate, and analyze SoC architectures based on programmable SoCs. SoC Blockset can be used in conjunction withEmbedded Coder®to generate readable, compact, and fast C/C++ code for embedded processors, and withHDL Coder™ to generate synthesizable Verilog®and VHDL®code from Simulink models.

Hardware designersgenerate IP coreswithin the programmable logic of programmable SoC architectures to accelerate compute-intensive tasks or to produce customized peripherals. You can use HDL Coder to performcustom IP core generationfrom Simulink models or MATLAB algorithms. In SoC architectures, these IP cores can communicate with tasks running on Arm processors via AXI4 registers or can interface to off-chip devices and signals via external I/O pins.

See also:SoC Blockset,HDL Coder,Embedded Coder,HDL Verifier,Fixed-Point Designer,Vision HDL Toolbox,FPGA design and SoC codesign,Zynq UltraScale+ RFSoC Design