System on Chip Platform Programming

Learning Outcomes

  1. Analyze the functional and nonfunctional performance of the system early in the design process.
  2. Evaluate algorithms, and architectures to optimize the system based on requirements and implementation constraints.
  3. Apply hardware, software, and interface synthesis.
  4. Demonstrate examples of applications and systems developed using a co-design approach

Forms of Teaching

Lectures

Lectures are held during 13 weeks in the semester, with 3 hours of lectures per week.

Independent assignments

Laboratory exercises are conducted in the form of project during the whole semester.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Quizzes 0 % 5 % 0 % 0 %
Seminar/Project 50 % 25 % 0 % 25 %
Mid Term Exam: Written 0 % 30 % 0 %
Final Exam: Written 50 % 40 %
Exam: Written 50 % 75 %

Week by Week Schedule

  1. Requirements analysis and identification of optimal HW/SW platform
  2. Requirements analysis and identification of optimal HW/SW platform, Design methodologies for HW/SW co-design
  3. Partitioning and integration of HW/SW solution, Design methodologies for HW/SW co-design
  4. Partitioning and integration of HW/SW solution
  5. Partitioning and integration of HW/SW solution, Architecture generation - program translation to architecture
  6. High level programming support for heterogeneous embedded systems (DSL- Domain Specific Language support: streaming, signal processing, etc;)
  7. High level programming support for heterogeneous embedded systems (DSL- Domain Specific Language support: streaming, signal processing, etc;)
  8. Midterm exam
  9. Programming models for HW/SW codesign, heterogeneous systems, accelerators (GPU, coprocessors, programmable logic)
  10. Programming models for HW/SW codesign, heterogeneous systems, accelerators (GPU, coprocessors, programmable logic)
  11. FPGA platform development tools, system-level programming
  12. FPGA platform development tools, system-level programming, HW/SW partitioning for FPGA platform development
  13. HW/SW partitioning for FPGA platform development
  14. High-level memory management for embedded systems runtimes (garbage collection, memory allocation, flash wear leveling)
  15. Final exam

Study Programmes

University graduate
Audio Technologies and Electroacoustics (profile)
Free Elective Courses (1. semester) (3. semester)
Communication and Space Technologies (profile)
Free Elective Courses (1. semester) (3. semester)
Computational Modelling in Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Computer Engineering (profile)
Core-elective courses (3. semester)
Computer Science (profile)
Free Elective Courses (1. semester) (3. semester)
Control Systems and Robotics (profile)
Free Elective Courses (1. semester) (3. semester)
Data Science (profile)
Free Elective Courses (1. semester) (3. semester)
Electrical Power Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Electric Machines, Drives and Automation (profile)
Free Elective Courses (1. semester) (3. semester)
Electronic and Computer Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Electronics (profile)
Elective Courses of the Profile (3. semester)
Information and Communication Engineering (profile)
Free Elective Courses (1. semester) (3. semester)
Network Science (profile)
Free Elective Courses (1. semester) (3. semester)
Software Engineering and Information Systems (profile)
Free Elective Courses (1. semester) (3. semester)

Literature

(.), D. D. Gajski, S. Abdi, A. Gerstlauer, G. Schirner, Embedded System Design: Modeling, Synthesis and Verification, Springer, 2009.,
(.), P. Marwedel, Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, Third Edition, Springer, 2018.,
(.), D. C. Black, J. Donovan, B. Bunton, A. Keist, SystemC: From the Ground Up, Second Edition, Springer, 2010.,

For students

General

ID 222683
  Winter semester
5 ECTS
L3 English Level
L2 e-Learning
45 Lectures

Grading System

86 Excellent
72 Very Good
60 Good
50 Acceptable