1 of 17

SoC Design Lab Overview

Madis Kerner

Tallinn University of Technology

1

2 of 17

Lab Learning Outcomes

  1. Creation of custom IPs (intellectual properties)
  2. Custom SoC integration
  3. Embedded Linux
  4. Linux Kernel module / driver programming
  5. HW / SW codesign

2

3 of 17

Lab Learning Outcomes

  • Creation of custom IPs (intellectual properties)
  • Custom SoC integration
  • Embedded Linux
  • Linux Kernel module / driver programming
  • HW / SW codesign

3

Knowledge of the C language is a must!

4 of 17

ZedBoard

4

http://www.panoradio-sdr.de/sdr-hardware/zedboard-zynq/

5 of 17

Labs in a Nutshell

  • ARM CPU <-> custom IP (FPGA) over AXI bus
  • Shared memory
  • Driver running on CPU
    • No OS:
      • Bare-metal (How to use � dual-core ARM as a MCU)
    • Linux:
      • Kernel driver
      • /dev/mem
      • UIO driver

5

6 of 17

Lab Tasks

  • Building custom SoC (toolchain tutorial):
    • Create SoC using existing IPs
    • Build an embedded Linux system

6

7 of 17

Lab 1

7

8 of 17

Lab Tasks

  • Building custom SoC
  • Kernel driver:
    • Create SoC using existing IPs
    • Build an embedded Linux system
    • Custom drivers for controlling IPs

8

9 of 17

Lab Tasks

  • Building custom SoC
  • Kernel driver
  • Custom IP creation - going full-stack:
    • Development of custom IP
    • Integrating IP into the SoC
    • Controlling the IP from Linux

9

10 of 17

Lab 3

10

LAB 3.2 & 3.3

11 of 17

Lab Tasks

  • Building custom SoC
  • Kernel driver
  • Custom IP creation - going full-stack
  • Simple audio system - complex system integration:
    • Preparation for project

11

12 of 17

Lab 4

12

13 of 17

Lab Tasks

  • Simple Kernel driver, existing HW in FPGA
  • Building custom SoC (toolchain tutorial)
  • Custom IP creation - going full-stack
  • Simple audio system - complex system integration
  • Project:
    • Building a complex audio system
    • In small team

13

14 of 17

Project

14

15 of 17

Lab File Storage

  • P: drive is not sufficient for us!
  • Take a flash drive with you!
    • 16GB is fine (~5€)
    • Filesystem: ext4

15

16 of 17

Lab Wiki and Additional Information

All labs, reading materials and results are accessible at

https://ati.ttu.ee/socdesign

16

17 of 17

Thanks!

ati.ttu.ee/socdesign

17