Course/Lab Material for Teaching SoC Design/Microprocessors in FPGAs


System-on-Chip (SoC) Design Education Kits  

The revolution in mobile computing has been driven by the low power and integrated performance available in modern System-on-Chip (SoC) designs.  As a result, understanding and practicing SoC Design is a crucial part of the curriculum in any Electrical and Electronic Engineering or Computer Science department.

To assist academics in teaching this complex but vital subject, the ARM University Program has created System-on-Chip (SoC) Design Lab-in-a-Box kits (or Education Kits).  Using FPGAs as prototyping platforms, the kits take students through a typical process from creating high level functional specifications to design, implementation and testing on real FPGA hardware using standard hardware description and software programming languages.

Central to this kit is a full set of teaching materials including power point slides, lab manuals with solutions to professors, quizzes with answers and more, which can be readily used in a typical 10-14 week course. The teaching materials cover both fundamentals and practical knowledge. State-of-the-art hardware platforms are harnessed in the labs to support the course’s learning outcomes. The full kit includes a number of seed hardware kits donated by partners, software licenses from ARM and a complete set of teaching materials comprising lecture notes and hands-on experiments with solutions—all available to professors worldwide (subject to a qualification process).

Course aims:

  • The course aims to produce students who are capable of developing ARM-based SoCs from high level functional specifications to design, implementation and testing on real FPGA hardware using standard hardware description and software programming languages.

Learning outcomes:

  • Knowledge and understanding of:
    • ARM processor architectures and ARM-based SoCs 
    • Capture the design of ARM-based SoCs in a standard hardware description language
    • Low-level software design for ARM-based SoCs and high-level application development  
  • Intellectual
    • Ability to use and choose between different techniques for digital system design and capture;
    • Ability to evaluate implementation results (e.g. speed, area, power) and correlate them with the corresponding high level design and capture;
  • Practical
    • Ability to use a commercial tools to develop ARM-based SoCs


  • Basics hardware description language (Verilog or VHDL)
  • Basic C and assembly programing


The courseware consists of a number of modules sufficient to run a typical term course on SoC design with lecture notes in PPT format, homework with solutions, demonstration code, lab exercises with solution, and programming projects with solutions.  Above all, the materials have been created with learning outcomes in mind – inspiring deep learning by combining fun and interactive exercises with foundational theoretical principles.

There are two types of this education kits currently available:

  • The basic SoC Lab-in-a-Box (or Education Kit) is based on the ultra-low power ARM Cortex-M0 soft core. It teaches how to design and implement hardware peripherals in Verilog and connect them to the Cortex-M0 processor using the ARM AHB bus. The software development uses ARM Keil MDK development tool and the resulting ARM-based SoC is finally demonstrated with a computer game application.  

Basic SoC Table of Contents

  • The advanced SoC Lab-in-a-Box (or Education Kit) teaches advanced SoC design using platform FPGAs with ARM Cortex-A9 cores and reconfigurable hardware with an AXI based interconnect. Using ARM’s professional edition of the DS-5 tool, the accompanying teaching materials show students how to build and debug applications involving an ARM processor and hardware accelerators. At the end of this course, the integrated system is demonstrated with a real-time image processing application, showcasing software and hardware co-design and the capability of such heterogeneous computing platforms.  

Advanced SoC Table of Contents


This kit is available on a variety of low cost, high performance and low power hardware platforms from the vast ARM eco-system. To access samples of our teaching materials or to make a full donation request please click on the donation request below.


The ARM University Program recommends the following development boards for teaching SoC Design:

You can purchase these boards from Digikey and view our teaching materials

Board Main Features Other Features

ZYBO Zynq-7000 Development Board

  • 650Mhz dual-core Cortex-A9 processor
  • DDR3 memory controller with 8 DMA channels
  • High-bandwith peripheral controllers: 1G Ethernet, USB 2.0, SDIO
  • Low-bandwidth peripheral controller: SPI, UART, I2C
  • Reprogrammable logic equivalent to Artix-7 FPGA
  • 28K logic cells
  • 240KB Block RAM
  • 80 DSP slices
  • On-chip dual channel,
  • 12-bit, 1 MSPS analog-to-digital converter (XADC)
  • ZYNQ XC7Z010-1CLG400C
  • 512MB x32 DDR3 w/ 1050Mbps bandwidth
  • Dual-role (Source/Sink) HDMI port
  • 16-bits per pixel VGA output port
  • Trimode (1Gbit/100Mbit/10Mbit) Ethernet PHY
  • MicroSD slot (supports Linux file system)
  • OTG USB 2.0 PHY (supports host and device)
  • External EEPROM (programmed with 48-bit globally unique EUI-48/64™ compatible identifier)
  • Audio codec with headphone out, microphone and line in jacks
  • 128Mb Serial Flash w/ QSPI interface
  • On-board JTAG programming and UART to USB converter
  • GPIO: 6 pushbuttons, 4 slide switches, 5 LEDsSix Pmod connectors (1 processor-dedicated, 1 dual analog/digital)

Nexys4 Artix-7 FPGA Board

  • 15,850 logic slices, each with four 6-input LUTs and 8 flip-flops
  • 4,860 Kbits of fast block RAM
  • Six clock management tiles, each with phase-locked loop (PLL)
  • 240 DSP slices
  • Internal clock speeds exceeding 450MHz
  • On-chip analog-to-digital converter (XADC)
  • 16 user switches
  • USB-UART Bridge
  • 12-bit VGA output
  • 3-axis accelerometer
  • 16Mbyte CellularRAM
  • Pmod for XADC signals
  • 16 user LEDs
  • Two tri-color LEDs
  • PWM audio output
  • Temperature sensor
  • Serial Flash
  • Digilent USB-JTAG port for FPGA programming and communication
  • Two 4-digit 7-segment displays
  • Micro SD card connector
  • PDM microphone
  • 10/100 Ethernet PHY
  • Four Pmod portsUSB HID Host for mice, keyboards and memory sticks

Altera DE0-CV Board


  • Cyclone V 5CEBA4F23C7N Device
  • 49K Programmable Logic Elements
  • 3080 Kbits embedded memory
  • PS/2 mouse/keyboard
  • Two 2x20 GPIO Header
  • 64MB SDRAM, x16 bits data bus
  • SD memory card slot
  • 4-bit Resistor VGA
  • 10 LEDs
  • 10 Slide Switches
  • 4 Debounced Push Buttons
  • 1 CPU reset Push Buttons
  • Six 7-Segments

Altera DE1-SoC Board


  • Cyclone V SoC 5CSEMA5F31C6 Device
  • Dual-core ARM Cortex-A9 (HPS)
  • 85K Programmable Logic Elements
  • 4,450 Kbits embedded memory
  • Two Port USB 2.0 Host (ULPI interface with USB type A connector)
  • USB to UART (micro USB type B connector)
  • 10/100/1000 Ethernet
  • PS/2 mouse/keyboard
  • IR Emitter/Receiver
  • 64MB (32Mx16) SDRAM on FPGA
  • 1GB (2x256Mx16) DDR3 SDRAM on HPS
  • Micro SD Card Socket on HPS
  • 24-bit VGA DAC
  • 4 User Keys (FPGA x4)
  • 10 User switches (FPGA x10)
  • 11 User LEDs (FPGA x10 ; HPS x 1)
  • 2 HPS Reset Buttons (HPS_RST_n and HPS_WARM_RST_n)
  • Six 7-segment displays
  • 24-bit CODEC, Line-in, line-out, and microphone-in jacks
  • TV Decoder (NTSC/PAL/SECAM) and TV-in connector
  • 1 MSPS, 8 channel 12-bits ADC
  • G-Sensor on HPS

Juno ARM Development Platform

Available here


  • ARM® Cortex®-A72 or ARM® Cortex®-A57 and Cortex-A53 MPCore for ARMv8 big.LITTLE™
  • Mali™-T624 for 3D Graphics Acceleration and GP-GPU compute
  • 4 lane Gen 2.0 PCI-Express (Juno r1 and r2 only)
  • A SoC architecture aligned with Level 1 (Server) Base System Architecture

Development Tools for Cortex-A Processors

ARM Development Studio 5 (DS-5) is available now for free for qualified universities. DS-5 makes it easy to develop applications for ARM applications processors. It reduces your learning curve, shortens the development and testing cycle, and helps you build reliable applications quickly.

Download ARM Development Studio 5 (DS-5)

Development Tools for Microcontrollers

ARM/Keil Microcontroller Development Kit (MDK-ARM) is available now for free for qualified universities. It features the industry-standard compiler from ARM, the Keil µVision IDE, and sophisticated debug and data trace capabilities. MDK-ARM offers tailored support for all Cortex-M processor-based devices, and is the recommended solution for students working with standard ARM-based MCU devices. We suggest that students and universities download the free evaluation version of the tools, which offers all the features of the standard version, but with a 32K byte object code/data limit. Keil Microcontroller Development Kit (MDK-ARM)

Keil Microcontroller Development Kit (MDK-ARM)

The ARM University Program recommends the following textbooks for teaching SoC Design/Microprocessos in FPGAs:

Accompanying teaching materials

Recommended Books:

Computer Organization and Design: The Hardware/Software Interface - ARM Edition

In English, by David Patterson and John Hennessy
Fourth Edition
Published by Morgan Kaufman

ISBN-10: 8131222748
ISBN-13: 978-0128017333

ARM System-on-chip Architecture

In English, by Steve Furber
Second Edition
Published by Addison Wesley

ISBN 0-201-67519-6

Digital Design and Computer Architecture: ARM Edition

In English, by Sarah Harris, David Harris
Published by Morgan Kaufman

ISBN-10: 0128000562
ISBN-13: 978-0128000564


Other Books:

FPGA-based System Design

In English, by Wayne Wolf
Published by Prentice Hall

ISBN-10: 0131424610
ISBN-13: 978-0131424616

The Zynq Book: Embedded Processing with the Arm Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soc

In English, by Louise H. Crockett, Ross A. Elliot, Martin A. Enderwitz, Robert W. Stewart, David Northcote
Published by Strathclyde Academic Media

ISBN-10: 099297870XISBN-13: 978-0992978709

Testimonial for SoC Design

Basic SoC design Education Kit at University of Southampton, UK

Hardware: Diligent Nexys3/Nexys4


We use cookies to give you the best experience on our website. By continuing to use our site you consent to our cookies.

Change Settings

Find out more about the cookies we set