Introduction to System on Chip Design Education Kit

Teach your students to build SoCs around Arm Cortex-M0 and Cortex-M3 processors, which are perfectly suited for IoT needs. The Internet of Things promises billions of devices endowed with processing, memory and communication capabilities. These processing notes will be, in effect, simple SoCs and will need to be inexpensive while operating under stringent performance and power constraints.


Kit specification:

  • A full set of lecture slides, ready for use in a typical 10-12-week undergraduate course (full syllabus below)
  • Software licenses from Arm
  • Lab manual with solutions for faculty. Labs are based on low-cost yet powerful Arm-based hardware platforms donated by partners (subject to availability)
  • Prerequisites: Basics of hardware description language (Verilog or VHDL), basic C and assembly programming

Course Aim

To produce students who can develop Arm Cortex-M0 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 Cortex-M processor architectures and Arm Cortex-M based SoCs
    • Design of Arm Cortex-M 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 commercial tools to develop Arm-based SoCs



1 Introduction to Programmable SoCs
2 The Arm Cortex-M Processor Architecture: Part 1
3 The Arm Cortex-M Processor Architecture: Part 2
4 AMBA3 AHB-Lite Bus Architecture
5 AHB SRAM Memory Controller
6 AHB VGA Peripheral
7 AHB UART Peripheral
8 AHB Timer, GPIO and 7-segment Display Peripherals
9 Interrupt Mechanisms
10 Programming an SoC using C Language
11 Arm CMSIS and Software Drivers
12 Application Programming Interface and Final Application: The SNAKE Game
Arm Education Kits

Access Education Kit

To access this Education Kit, simply complete the teaching materials donation request form below

Request Access

Sign Up for Newsletter

Interested in hearing more from the Arm University Program?

Sign Up