Login

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

 


System-on-Chip (SoC) Design Lab-in-a-Box/ 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

Pre-requisites:

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

Content

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.  

Click here to see the table of contents of the basic SoC design course  

  • 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.  

Click here to see the table of content of the advanced SoC design course.

Availability

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.

 


DesignStart Cortex-M0 Education

ARM University Program offers a ARM® Cortex™-M0 DesignStart Education version via the ARM DesignStart™ online IP portal as a download after a simple click-through EULA. This special version allows use for teaching purposes only, not for fabrication, benchmarking or otherwise. The processor is configured as a synthesizable, Verilog netlist designed for academics looking to teach or prototype with a real ARM processor.

Implementation is possible on almost any FPGA platform to enable SoC design courses and projects around a real ARM core. From there, anything from embedded system courses to microprocessor applications can be taught using the same platform.

To gain access to the DesignStart Cortex-M0 core and related materials, please register to the ARM University Program. If you are a faculty/professor you can do so here. You can also request full teaching materials for two SoC design courses based on the DesignStart Cortex-M0 core here. Note that new users have to first complete a portal registration process (please mention “Cortex M0-DesignStart for Education” inside "Request summary" box for faster processing).

Students cannot request DesignStart Cortex-M0 IP directly; they should do so through their faculty/professor.

About the ARM Cortex-M0 Processor

The ARM Cortex-M0 processor is the smallest and lowest power 32-bit ARM processor available. The ultra-low power, small gate count and code footprint of the processor makes it ideal for ultra-low power MCU and mixed signal applications, providing 32-bit performance and efficiency in an 8/16-bit footprint. ARM Cortex-M0 also offers a broad ecosystem, software development tools support and a future proof solution through upwards compatibility with the Cortex-M family. As the entry-level ARM processor, it is ideal for designers, students and researchers who need low cost access to industry standard processor IP.


Development Boards

The $25 ARM Cortex-M0-based PSoC4 Pioneer
The PSoC 4 Pioneer Kit is an easy-to-use and inexpensive development platform enabling you to create unique designs with the flexibility of PSoC®4. Featuring the PSoC 4200 device family, this kit gives you the power of an ARM Cortex-M0 combined with the fully customizable analog and digital fabric of the PSoC in the palm of your hands.

Say hello to freeSoC
freeSoC is a revolutionary microcontroller development platform, based around the Cypress PSoC 5LP microcontroller. freeSoC combines the power of an FPGA, the flexibility of a microcontroller, and the convenience of onboard precision analog hardware, enabling you to realize your dreams without spending a fortune and buying a bunch of extra parts.

A drag and drop dream
PSoC Creator, the free graphical IDE for freeSoC, enables you to easily configure your component-level hardware design with the click of a mouse. Want to add an Op-Amp, a PWM, or an analog signal multiplexer? Just drag and drop the component onto the block diagram, and you’re done. Why bother messing around with prototyping wire and breadboards, when you can do it all with a few clicks of the mouse?

Any pin, any purpose
With freeSoC, you can use any GPIO pin for any function. Need 16 SPI controllers? No Problem. 24 PWMs? freeSoC has you covered. How many other microcontrollers on the market can act as a 32 channel analog multiplexer?

 

PSoC® 5 is a true programmable embedded system-on-chip integrating configurable analog and digital peripheral functions, memory and a microcontroller on a single chip. The breakthrough new PSoC 5 architecture boosts performance through integrated high-precision 20-bit resolution analog, programmable PLD-based logic, and the 32-bit ARM® Cortex™-M3 CPU up to 67 MHz.

PSoC 5

 
Software Tools

ARM offers the Keil Microcontroller Development Kit (MDK-ARM) for ARM powered microcontrollers. 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, ARM7, and ARM9 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 32 KByte object code/data limit.

Keil - Tools by ARM

Textbooks

The Definitive Guide to the ARM Cortex-M3

In English, by Joseph Yiu
Published by Newnes
First Edition Errata Document (71KB PDF)

ISBN-10: 0750685344
ISBN-13: 978-0750685344

C Programming for Embedded Microcontrollers

In English, by Warwick A. Smith
Published by Elektor

ISBN: 978-0-905705-80-4

Fundamentals of Embedded Software with the ARM® Cortex-M3

In English, by Daniel W. Lewis
Published by Prentice Hall

ISBN-10: 0132916541
ISBN-13: 978-0132916547

Other ARM-related Books


Development Boards

Microsemi's SmartFusion™ Development Kit offers a full-featured development board so you can try the world's only FPGA with hard ARM® Cortex™-M3 and programmable analog. The device contains on-chip flash and SRAM memory, as well as additional off-chip memory on the board. The board can communicate via Ethernet and HyperTerminal. The board also contains LEDs, switches, OLED, and extensive analog experimentation, including voltage rail monitoring, current POT, temperature diodes and voltage sweeping using active bipolar prescalers (ABPS). Networking interfaces include Ethernet PHY, EtherCAT, CAN, UART, and RS485. See board details below for more information.

SmartFusion Cortex-M3 Evaluation Board

Software Tools

ARM offers the Keil Microcontroller Development Kit (MDK-ARM) for ARM powered microcontrollers. 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 32 KByte object code/data limit.

Keil - Tools by ARM

Textbooks

The Definitive Guide to the ARM Cortex-M3

In English, by Joseph Yiu
Published by Newnes
First Edition Errata Document (71KB PDF)

ISBN-10: 0750685344
ISBN-13: 978-0750685344

C Programming for Embedded Microcontrollers

In English, by Warwick A. Smith
Published by Elektor

ISBN: 978-0-905705-80-4

Fundamentals of Embedded Software with the ARM® Cortex-M3

In English, by Daniel W. Lewis
Published by Prentice Hall

ISBN-10: 0132916541
ISBN-13: 978-0132916547

Other ARM-related Books


ARM® Dual-Core Cortex®-A9 based Advanced SoC Design Lab-in-a-Box

This is a Lab-in-a-Box for advanced SoC design targeted at the dual-core Cortex®-A9  based Zynq platfiorm FPGA from Xilinx. This Lab-in-a-Box contains full teaching materials including lecture notes and lab manuals with solutions, professional software licenses including ARM DS-5 Pro licenses and board donations. If you are interested in adopting the Lab-in-a-Box (LiB) in your teaching, click on the Request Donation button below.

 

 

 

ARM® Cortex®-M0 DesigStart based SoC Design Lab-in-a-Box

The ARM University Program offers everything you need to teach an ARM processor based SoC Design course on Xilinx Artix FPGA platform. If you are interested in adopting the Lab-in-a-Box (LiB) in your course, click on the Request Donation button! 

 

Cortex-A processor based development boards

ARM Processors meet Hardware Programmability
Zynq™-7000 All Programmable SoC is a new class of platform which combines an industry-standard ARM® dual-core Cortex® -A9 MPCore™ processing system with Xilinx 28nm programmable logic. This processor-centric architecture delivers a comprehensive processing platform that offers academics ASIC levels of performance and power consumption, the ease of programmability of a microprocessor and the flexibility of a FPGA.

More than Silicon: A Comprehensive Platform Offering
The value of Zynq-7000 All Programmable SoC is amplified by all the elements supporting the Zynq-7000 family that includes hardware (HW) and software (SW) development tools, operating systems, and much more.

A Flexible Scalable Platform Addressing a Wide Range of Applications
The flexible nature of programmable logic and its tight integration to the ARM based processing system offers academics the possibility to add virtually any peripheral they want and create accelerators to extend the performance of the Zynq-7000 devices. This makes Zynq-7000 devices the ideal solution for a variety of academic projects.

 

Software Tools

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.

ARM logo

Textbooks

ARM System Developer's Guide

In English, by Andrew Sloss, Dominic Symes, and Chris Wright
Published by Morgan Kaufmann

ISBN: 1-55860-874-5

Free Cortex-A Series Programmers Guide (free registration required)

In English, edited by ARM
Published by ARM

Free ARMv7-AR, ARMv7-M, ARMv6-M, and ARMv5 Architecture Reference Manual Downloads

In English, edited by David Seal
Published by Addison-Wesley

ISBN: 0-201-73719-1

 

 

Computer Organization & Architecture: Themes and Variations

In English, by Alan Clements
Published by Newnes

ISBN-10: 1111987041
ISBN-13: 978-1111987046

 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-8131222744

ARM System-on-chip Architecture

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

ISBN 0-201-67519-6

Other ARM-related Books




Cookies

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