2110xxx Hardware Design and Implementation

Department of Computer Engineering
Faculty of Engineering, Chulalongkorn University


Course duration    : Aug-Dec 2026
Lecturer                : Prabhas Chongstitvatana, Prof.
                            office Eng build 4, Floor 17
                            email: prabhas dot c at chula dot ac dot th
Lecture                : Monday 13.00-16.00 at Chulapat 4

Discord Channel:  https://discord.gg/enr4UcpdC  (expired in 30 days)


The content of the course is a mixed between hardware and software.  The contents include embedded systems with special requirement on constraints such as low power, high integration, real-time. On the hardware side, it includes embedded processors and low level programming, logic design, integrated circuits.  On the software side, it includes Operating systems scheduling and real-time constraints.  Here are the list of topics:
 

Proprocessor

Assembly level programming
Memory, Peripherals and Microprocessor interface
Operating systems and task scheduling
Real-time systems and their requirements

How we learn

We learn by doing both hardware and software.  The topics include embedded system model construction, some programming, and hands-on session. The assignments will be given out periodically throughout the term. A small project will be given around midterm. Students must present the results of their projects.  At the second half of the semester, a real hardware will be presented.  Students are assigned to design and implement a small embedded system.  The project will be presented in the class. The final exam is "open book" and has an element of system design plus some "pseudo" programming.

Announcement

  3 Aug 2026   The class starts. 
 
  ...

Timetable

August
Introduction    Embedded Processors 
Embedded Systems Design
Microprocessors
IOT board (platform for interrupt programming)   demo-rz.txt
example of using IoT board (in Rz):  stopwatch
programming with interrupt   counting events
Assembly language S2 version 1: 32-bit processor  
example of writing assembly language:   find max

Rz language and its compiler
September
Operating systems and task scheduling  basic OS concepts
Multitask-OS (MOS)  (in assembly)  mos2.txt  (in Rz)  mos-rz.txt
lecture from Matt Welsh, Harvard,   semaphores.pdf
semaphore:  demo from William Stallings, U. of Queensland
implementing semaphores      example  reader-writer mos-rz2.txt

Project discussion
logic design  Basic Logic  
RISC-V  instruction set
    datapath    control unit

RISC-V assembly language programming

October
Project presentation 
MT-MOS variant of sim21 that has fixed 4-threads
real-time systems RTOS   real-time scheduling
Embedded Systems Communication 
Embedded systems practice (Arduino Board)
Actual hardware:  Arduino experiment
November
memory,   memory and interrupt i/o   memory system design
peripherals and interface  
    peripherals  (counter, timer, PWM, step motors, LED display, LCD, UART, USB)
    digital/analog conversion  (ADC, DAC, MCP4922  code experiment)
Internet of Things: Everything as a service
I2C bus  i2c spec  RTC experiments  DS1307  (polling) (interrupt)
How to connect ESP32-xx to Arduino IDE
December
final exam
final project presentation

Homework

     Weekly assignments in Mycourseville

Recommended Textbooks

1. Philip Koopman, Better Embedded System Software, Drumnadrochit Press, 2010, ISBN-10: 0-9844490-0-0.
2. Ball S, Embedded Microprocessor Systems: Real World Design 2nd edition, Newnes 2000
3. Vahid F, Givargis T, Embedded System Design: A Unified Hardware/Software Introduction, Wiley 2002

Additional Materials

Transistor level simulation of an antique CPU.  6502 is used in the iconic Apple II machine.
    http://visual6502.org/JSSim/index.html  
Computer Organization and Design: The hardware/software interface (RISC-V edition), D. Patterson, J. Hennessy, Morgan Kaufman, 2018.  link to Amazon  
RISC-V Instruction Set Manual v.2.2  2017

Course Assessment

Assignments           10%
Mid project             30%
Final project           30%
Final exam             30%

Tools

Acknowledgement

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


last update 3 Aug 2026