Description:
Our Introduction to System on Chip Design Education Kit covers the fundamentals of System-on-Chip design, including how the theories and concepts can be applied in the design and programming of a simple SoC implemented on an FPGA.
Organisations: Arm Education
Prerequisites:
University students studying in computer science, electronic engineering or other engineering related degrees. Hobbyists, early-career professionals. Makers. Lecturers.
Learning Aims:
Knowledge and understanding of:
- The advantages and limitations of SoC.
- The key features of the Arm Cortex-M0 processor architecture.
- How to write simple and power efficient Arm assembly code using Arm 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.
README.md
Text
|
View metadata | Download |
README.md
Module 1: Introduction to Arm-based System-on-Chip Design
Module 2: The Arm Cortex-M0 Processor Architecture: Part 1
Module 3: The Arm Cortex-M0 Processor Architecture: Part 2
Module 4: AMBA 3 AHB-Lite Bus Architecture
Module 4: Lab 01 Cortex-M0 AHB Lite Implementation
Module 5: AHB VGA Peripheral
Module 5: Lab 02 AHB VGA Peripheral
Module 6: AHB UART Peripheral
Module 6: Lab 03 AHB UART Peripheral
Module 7: Timer, GPIO and 7-Segment Peripherals
Module 7: Lab 04 Timer GPIO and 7-Segment Peripheral
Module 8: Interrupt Mechanisms
Module 8: Lab 05 Interrupt Mechanisms
Module 9: Programming an SoC using C Language
Module 9: Lab 06 Programming an SoC using C
Module 10: Arm CMSIS and Software Drivers
Module 10: Lab 07 Arm CMSIS and Software Drivers
Module 11: Application Programming Interface and Final Application
Module 11: Lab 08 API and Final App
Module 12: Lab 09 PMOD
Our Introduction to System on Chip Design Education Kit covers the fundamentals of System-on-Chip design, including how the theories and concepts can be applied in the design and programming of a simple SoC implemented on an FPGA.
Course Type: Open
People
Organisations: Arm Education
Contributors: | GitHub Contributor: | Oyinkuro Benafa |
---|---|---|
GitHub Contributor: | David Mackenzie | |
GitHub Contributor: | Liz Warman | |
GitHub Contributor: | Mark Allen | |
GitHub Contributor: | Francis Catan | |
GitHub Contributor: |
Certification
Course Structure
Taxonomy
Interests: AHB - AMBA® High-performance Bus , Radio Frequency Design , SoC Design
Other
Course URL: https://github.com/arm-university/Introduction-to-SoC-Design-Education-Kit
Discussion