Introduction to System on Chip Design Online Course

The Internet of Things promises billions of devices endowed with processing, memory and communication capabilities. These processing nodes will be, in effect, simple Systems on Chips (SoCs) and will need to be inexpensive and able to operate under stringent performance, power and area constraints. This course focuses on building SoCs around Arm Cortex-M0 processors, perfectly suited for IoT needs. Using FPGAs as prototyping platforms, this course explores a typical SoC development process: from creating high level functional specifications to design, implementation and testing on real FPGA hardware using standard hardware description and software programming languages.



Course Aim

To develop Arm Cortex-M0 based SoCs, from creating high-level functional specifications to design, implementation and testing on FPGA platforms 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 Cortex-M based SoCs and high-level application development


  • 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


  • Ability to use commercial tools to develop Arm Cortex-M based SoCs


  • Basics of hardware description language (Verilog or VHDL)
  • Basic C and assembly programming
  • Separate purchase of hardware and/or software tools, in order to replicate the course labs



  1. Introduction to Arm-based System on Chip Design
  2. The Arm Cortex-M0 Processor Architecture: Part 1
  3. The Arm Cortex-M0 Processor Architecture: Part 2
  4. AMBA 3 AHB-Lite Bus Architecture
  5. AHB SRAM Memory Controller
  6. AHB VGA Peripheral
  7. AHB UART Peripheral
  8. Timer, GPIO and 7-Segment 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 above syllabus is indicative. It might change from time to time.



We have a range of subscription options, from 90, 180 and 360 days, along with lifetime access. Pricing options and the button to purchase access are below.

90 days: USD 16.00
180 days: USD 27.00
360 days: USD 49.00
Lifetime access: USD 93.00


Please note you will be taken to the Vitalsource ecommerce store to complete this transaction.

Interested in more SoC resources? Download our freely accessible Fundamentals of System-on-Chip Design on Arm Cortex-M Microcontrollers textbook.

Download eBook