2110682 Embedded and Real-Time Systems

Department of Computer Engineering
Faculty of Engineering, Chulalongkorn University


Course duration    : 2nd semester 2012
Lecturer                : Prabhas Chongstitvatana, Prof.
                            (office Eng build 4, Floor 18, room 13, tel 022186982, email: prabhas at chula dot ac dot th)
Lecture                : Sun 13.00-16.00 at ENG4 Floor 17, seminar room

The content of the course is a mixed between hardware and software.  Embedded systems are computer systems with special requirement on constraints such as low power, high integration, real-time. This course explores Embedded systems design. On the hardware side, it includes embedded processors and low level programming, logic design, integrated circuits.  On the software side, it includes Software Engineering, Operating systems scheduling, communication and real-time constraints.  Here are the list of topics:
 
Introduction to embedded and real-time systems
Microprocessor
Assembly level programming
Memory, Peripherals and Microprocessor interface
IC and Design technology
Control systems
Operating systems and task scheduling
Real-time systems and their requirements
Real-Time communication protocols

How we learn

We learn by doing both hardware and software.  The activities include embedded system model construction, some programming, and laboratory session. The assignments will be given out periodically throughout the term. After  Midterm, students are required to give their presentations on given subjects to the class.  Final exam will be the accumulation of your knowledge and practice during the course. The final exam is "open book" and has an element of system design plus some "pseudo" programming.

Discussion is on Facebook page  search  "Embedded Systems 2012, Chulalongkorn"

Announcement

2 Dec 2012   Midterm exam will be "in class" on 23 Dec 2012, one hour, 1-2pm. After that the lecture continue.
16 Dec 2012  Update  NPU instruction set (include example on array access) and update tool  npsim4.zip
18 Jan 2013   Nos  lecture note is up.  Update to Rz compiler in rz36-1.zip
22 Jan 2013   Update  Nos lecture, include demo and Rz compiler (bug fixed)  rz36-2.zip
10 Feb 2013  Hand-in and present your project on 24 Feb,  Final exam on 17 Feb.

Timetable

November
Introduction
Microprocessor: assembly language S21  sample program
logic design  Basic Logic   Microprocessors
architecture:   Evolution of computer architecture
December
memory, peripherals and interface  memory and interrupt i/o     peripherals
integrated circuits  integrated circuit design    semiconductor device fabrication  (wiki)
Digital Integrated Circuits, design and manufacturing process (ppt by J. M. Rabaey, A. Chandrakasan, B. Nikolic)
Graphics Processing Units    NPU instruction set   sample program
Midterm
January
control systems  Control (ppt)
project   Embed Sys Demo
Operating systems and task scheduling  basic OS concepts,   Nos  (Nut Operating System)  Nos services 
semaphore:  flash demo from William Stallings, U. of Queensland
lecture from Matt Welsh, Harvard,   semaphores.pdf 
real-time systems RTOS      real-time scheduling    
February
Embedded Systems Communication
CAN
Network on Chip
Reliability and fault tolerance
March
final exam

Homework

9 Dec 2012  
    1 ) Write NPU program to multiply two matrices of 4x4.  Unroll loop and make a straight-line program (no jump).    
    2 ) Think how to write a binary search program in NPU.  Notice that GPU is not good for branching.
16 Dec 2012
    Write find max element of an array, the size of array is 40.  Use the update tool: npsim4.zip
27 Jan 2013
    Find out how to synchronise n-processes.  Try to write it in nos2.txt version of three processes.  nos2.txt

Assignment

Design, develop an embeded system.  Your design must include some real-time component that interface to the real world.  For example, sensors, motors, some signals from the environment are input to the system. The "demo" is based on Embed Sys Demo.  You should design your hardware, software and simulate them. The report includes: design, motivation, code of the demo system, results from the experimental run (you can simulate the real world as appropriate).  Prepare to present your work for 10 minutes, using a well-prepared slides.  The report should be about 4-5 pages. (not more).

Recommended Textbooks

1. Ball S, Embedded Microprocessor Systems: Real World Design 2nd edition, Newnes 2000
2. Vahid F, Givargis T, Embedded System Design: A Unified Hardware/Software Introduction, Wiley 2002
3. Kopetz H, Real-Time Systems: Design Principles for Distributed Embedded Applications, Kluwer 1997

Additional Materials

A story of emulation of HP48 calculator
Reference to NPU:   Nattapong Thammasan and Prabhas Chongstitvatana, "Design of a GPU-styled Softcore on Field Programmable Gate Array," International Joint Conference on Computer Science and Software Engineering, Thailand, 2012.
S23 assembly language
Rz language and its compiler
Network on Chip
    General introduction (IEEE computer, 2002) 
          http://infoscience.epfl.ch/record/165542/files/00976921.pdf
    Recent development (International Symposium on Computer Architecture, 2011)
          http://pages.cs.wisc.edu/~hestness/links/KNOC_ISCA11.pdf
    Commercial development
          http://www.design-reuse.com/articles/10496/a-comparison-of-network-on-chip-and-busses.html

Course Assessment

Assignments            30%
Midterm paper        30%
Final exam              40%

Tools

s21 tools :    assembler and simulator  s21.zip
Logicworks5
NPU package  npsim2.zip ,  update (16 Dec 2012)  npsim4.zip
assembler for s23   as23.zip  new version as23-1.zip
rz36 compiler package  rz36.zip  
rz36 with interrupt and Nos support  rz36-1.zip
update rz35 (bug fixed)  include executable rz36 and as23:  rz36-2.zip
NUT operating system  nos1.txt  (process)  nos2.txt  (with semaphore)  nos4.txt (with mailbox)

Acknowledgement

Slides and presentations are kindly permitted by Setha Pan-gnam, Chalermek Intanagonwiwat

last update 13 Feb 2013