Introduction to System on Chip Design Education Kit

Teaching materials now available on GitHub

You can download the materials by clicking the button below which will take you to 快猫视频 Education's official GitHub pages.


Kit specification:


  • A full set of 11 lecture slides, ready for use in a typical 10-11-week undergraduate course (see full syllabus).
  • Recent updates include:
    • A new lab exercise (two player snake game requiring two joystick peripherals connected to the AHB bus).
    • Bitstream auto-update.
  • Prerequisites: Digital electronics, basics of hardware description language (Verilog), basics of 快猫视频 Assembly syntax and C programming language.

Course Aim

To produce students with solid introductory knowledge on the basics of SoC design and key practical skills required to implement a simple SoC on an FPGA and write embedded programs targeted at the microprocessor to control the peripherals.

 

Learning Outcomes

  • Knowledge and understanding of:
    • The advantages and limitations of SoC.
    • The key features of the 快猫视频 Cortex-M0 processor architecture.
    • How to write simple and power efficient 快猫视频 assembly code using 快猫视频 instruction sets.
    • The functions of the Address decoder and subordinate multiplexor in the AHB-Lite bus system
  • Intellectual
    • Outline the components of the AHB VGA peripheral and describe their functions.
    • Outline the components of the AHB UART peripheral and describe their functions.
    • Outline the components of the AHB Timer, GPIO and 7-segment display peripherals and describe their functions.
    • Explain the concepts of interrupts and exceptions and the process by which the processor handles each.
    • Describe the Cortex Microcontroller Software Interface Standard (CMSIS) and identify how to write device drivers to access AHB peripherals.
    • Describe the advantages of the use of APIs over low -level programming.
  • Practical
    • Implement a simple SoC which consist of Cortex-M0 processor, AHB-Lite bus and AHB peripherals (Memory, LED, VGA) on an FPGA and write a simple program to display text on a connected VGA.
    • Implement an SoC which contains a Cortex-M0 processor, AHB-Lite bus and AHB peripherals (Program memory and LED, VGA, UART, Timer, GPIO and 7-Segment) on an FPGA and write simple programs to control the peripherals.
    • Implement the AHB timer and UART interrupt mechanism at both hardware and software domains by adding appropriate interrupt registers and writing suitable interrupt handler.
    • Implement a timer interrupt handler and UART interrupt handler in a high-level language such as C.

 

Syllabus

1 Introduction to 快猫视频-based System-on-Chip Design
2 The 快猫视频 Cortex-M0 Processor Architecture: Part 1
3 The 快猫视频 Cortex-M0 Processor Architecture: Part 2
4 AMBA 3 AHB-Lite Bus Architecture
5 AHB VGA Peripheral
6 AHB UART Peripheral
7 Timer, GPIO and 7-Segment Peripherals
8 Interrupt Mechanisms
9 Programming an SoC using C Language
10 快猫视频 CMSIS and Software Drivers
11 Application Programming Interface and Final Application

Recommended Textbook

Fundamentals of System-on-Chip Design on 快猫视频 Cortex-M Microcontrollers
Fundamentals of System-on-Chip Design on 快猫视频 Cortex-M Microcontrollers

By René Beuchat, Florian Depraz, Sahand Kashani, Andrea Guerrieri

ISBN 978-1-911531-33-3

Download FREE eBook

Sign Up for Newsletter

Interested in hearing more from the 快猫视频 University Program?

Sign Up