System-on-Chip Architectures and Modelling
The course is about the design of embedded systems consisting of hardware and software components.
Table of Content
Content
The course is about the design of embedded systems on silicon. We will study the following topics:
- System-on-chip design process
- System-on-chip modelling
- Function-architecture co-design
- Platform-based design
- Communication-networks on chip
- Operating systems for systems-on-chip
- Software design for embedded systems
The course is offered as part of the course packages ("Fach" / "Katalog") "Microelectronics and IC Design", "IT Security", and "Secure and Correct Systems" for master students of "Information and Computer Engineering", "Computer Science" and "Software Engineering and Management", respectively.
Aims and objectives of the course: This course deals with current problems in designing complex embedded systems on silicon, also known as "systems on chip". Students will get an understanding of these by studying typical microchip architectures and by modelling these. Following an introductory exercise to get familiar with the tools and the development process, groups of students will design and implement a typical system.
Last years projects:
2018: The project for SoC design 2018/19 was to develop an ambient light controller for TVs or displays. An ARM-based ZYBO uses the pixel information of the HDMI signal to control RGB-LEDs surrounding the display to enhance the viewing experience. Using a web-interface, several filters (e.g. greyscale, color correction,...) can be applied to the video-signal. Furthermore, it is possible configure the parts of the image the LED color information is based on and to control the room-lighting using lightbulbs connected over Zigbee over the same interface. The presentation can be downloaded here.
2017: In SoC design 2017/18, the topic was to develop a smart home solution with actors and sensors that are accessible through a common user interface. Two ARM-based ZYBO boards managed the connection to light sensors, range finders, ARM Cortex-M3 based wireless sensor nodes for temperature and humidity, and window and door motors. Users could then read out sensors, steer actuators, and define control rules via a webpage hosted on another ZYBO board that connects to the peripheral boards via secure TLS channels. The presentation can be downloaded here.
2016: The topic of SoC 2016/17 was to design a secure system for smart home environments encompassing actors, sensors, and control units. In the project, all smart home components should communicate securely over encrypted transmission channels to prevent attackers from taking control over the house. The final demonstrator used ZYBO development boards to implement a trusted microprocessor on an FPGA for performing all security-relevant tasks, to access temperature and light sensors, and to control servomotors. A desktop client was registered at the smart home control unit to access sensor data and change control parameters. The presentation can be downloaded here.
2015: The topic of SoC 2015/16 was to enable secure IO which should maintain confidentiality even if the operating system of the system is malicious. As an use case, protected audio was selected. The final demonstrator was built using two ZEDboards, featuring embedded linux including a custom voice-over-IP application. The integrated FPGA design had support for fully transparent audio encryption as well as purely hardware controlled keypad/switch input and OLED display output. The presentation can be downloaded here.
2014: The topic of SoC 2014/15 was to design a video streaming system for multiple sources and sinks. The system was built using multiple Xilinx Zynq 7000 development boards (ZYBO) which feature an FPGA as well as an ARM processor. A huge number of peripherals (IR remote, range finder, web cam, keypad, VGA and HDMI displays, AES crypto core, ...) have been integrated into an embedded linux. The resulting system supported encrypted video streams over ethernet via TCP and UDP (with multicast). The presentation can be downloaded here.
2013: The topic of SoC 2013/14 was to design an embedded smart TV. The system was running on a system-on-chip development platform (a Virtex-6 FPGA). Goal of the project was to design a Linux-based system that allows to play TV video streams over Ethernet. The system supports FullHD video on a DVI output and provides a throughput of up to 4 Gbits/s. The presentation can be downloaded here.
2012: The topic of SoC 2012/13 was to design a gaming console. The game console runs on a Spartan-6 development platform (LX150T from AVnet). The platform provides all features of a conventional game console such as Linux OS, video output (DVI), Ethernet, HDD support (to store games), SDCard slot, audio, controllers (incl. DualShock vibration), multi-player support, etc. The presentation can be downloaded here. There is also a video available here (mp4, 19MB).
2011: The topic of SoC 2011/12 was to design a PSoC-based alarming system. The project has been separated into eight work-packages that use two Virtex-6 FPGA based boards. One board implements Linux on the Xilinx Microblaze processor, the other board implements the Linux running on the Leon 3 processor. Self-desiged hardware components have been implemented for motion detection, sound detection, encryption of communication, and alarming over LEDs, GSM, and DVI output. The docu can be downloaded here. There is also a video of the final presentation available on youtube.
2010: The topic of SoC 2010/11 was the design of a secure RFID system. Students used the IAIK DemoTag to develop a programmable RFID tag based on a Spartan-3 FPGA. The tag implements an ISO 14443 compatible hardware interface, a 32-bit Microblaze processor, and supports Linux as an operating system. As a reader device, they used a self-designed hardware board with a customized ASIC chip (from the project POWERTRUST). The reader is connected over LAN and allows sending and receiving of RFID data over a network. The docu can be downloaded here.
2009: The topic of SOC 2009/10 was to design an embedded smart-card reader. The reader is composed of a smart-card reader interface according to ISO 7816, a PowerPC/Leon processor, embedded Linux, and an RS232 interface to a PC. The docu can be downloaded here.
2008: The topic of SOC 2008/09 was to build a networked RFID reader for high-frequency (HF) RFID devices. The reader is able to communicate with tags using the ISO15693 protocol. The reader is based on the Xilinx ML403-board that is connected over Ethernet to an RPC-based middleware running on a standard PC. The docu can be downloaded here.
2007: The topic of SOC 2007/08 was to build a media client which is able to play MP3 songs. It has a network interface for accessing song repositories and offers a VGA display for visualizing user interaction. The Xilinx ML403-based board can also be operated by an IR remote control. Most of its funtionality is realized as software running under the latest Linux 2.6 kernel. The device can be configured over a webserver-based administration interface.
Administrative Information
Teaching method. The course material is defined through the course project's problems. Each participant will specialize in a set of topics, and will present those topics to the whole group. With this knowledge, the whole group should be able to design, implement, and test the overall system.
Prerequisite. This course addresses advanced level students. Knowledge about software design, operating systems, networks, computer organization and digital design is necessary in order to be able to follow the course. There are no formal prerequisites.
Registration. There is a limit of about 10 students. Please register for the course until the 30th of September by sending a short motivation (2-3 sentences) to soc-team@iaik.tugraz.at.
Examination method. Grading consists of individual contributions throughout the course's duration. In particular, these are presentations, participating in discussions, and implementation work. Registration for course.