UCR CS122B: Embedded System Design

CS122B deals with the exciting and rapidly-growing field of embedded computing systems.

Why embedded systems

Embedded computing systems are found everywhere, including in cellular telephones, pagers, VCRs, camcorders, thermostats, curbside rental-car check-in devices, automated supermarket stockers, computerized inventory control devices, digital thermometers, telephone answering machines, printers, portable video games, set-top boxes, the list goes on. In 1997, the average U.S. household had over 10 embedded computers, not to mention the automobile, which will have 35 or more by the year 2000. Demand for embedded system designers is large, and is growing rapidly.

In CS122A and B, you'll learn how to develop and program embedded systems. We'll cover C programming of embedded microcontrollers, the function and use of common peripherals, and the programming and simulation (using VHDL) of custom digital processors.

Graduate students are welcome to take the course. Feel free to contact Prof. Frank Vahid with any questions.

Course information

Instructor Frank Vahid (vahid@cs.ucr.edu). Office hours T Th 3:40-4:30, Bourns A207
Lecture TR 2:10-3:30, HMNSS 1404
Lab WF 2:10-5:00, BRNHL B252
Textbooks
  • Processor-based embedded system design, Vahid, Draft copy, online copy will be made available.
  • Real-Time Systems and their Programming Languages , by Alan Burns and Andy Wellings , Addison Wesley, 1997, ISBN 0-201-40365-X.
  • Philips 8051 databooks will be loaned out.
  • All students should have a basic C programming book.
  • Several online documents will also be used.
  • NOTE: If you need a C book, 8051 book, VHDL book or other book, you might order one from a technical bookstore (see the yellow pages), such as the Technical Book Co (800-233-5150) or Irvine Sci-Tech Books (714-733-1002) or direct from the publisher. A good 8051 book is The 8051 Family of Microcontrollers, Barnett, Prentice Hall, ISBN 0-02-306281-9. A good C book is The C Programming Language, Kernighan and Ritchie, Prentice Hall, ISBN 0-13-110362-8.
  • TA Tony Givargis, givargis@cs.ucr.edu. Office hours: during scheduled lab.
    Prerequisite CS122A
    Final exam 3/25/1999 3 to 6 p.m
    Course call # and units 15918, 5 units.


    Course grade

    Labs 40%, Homeworks/Quizzes 20%, Midterm 20%, Final 20%.


    Lecture overview Topics to cover (not necessarily in this order)

  • Embedded systems and tomorrow's chips
  • IC capacity leading to systems on a chip, design paradigm shift
  • ASIC design: cores, synthesis, simulation
  • Hardware/software codesign
  • Co-specification
  • Hardware/software partitioning
  • Verification using cosimulation.
  • Verification using emulation (FPGA's, Emulation boxes, Prototyping boards, Reference designs)
  • Control systems
  • Basics
  • Fuzzy control
  • Interfacing, standard buses
  • Real-time systems
  • Concurrent programming
  • Real-time operating systems (e.g., QNX, VxWorks, WinCE)
  • Scheduling
  • Java for embedded systems
  • Design process
  • Design for safety
  • Design processes
  • SEI's Capability Maturity Model
  • ISO standards
  • While lecture and lab material obviously overlap, the two aspects of the course are quite independent, with lectures dealing with general theory and principles, and lab dealing specifically with a couple of selected processors and tools. Exams will focus on lecture material, but will include some amount of lab material.


    Lecture material

    Lab material

    Back to Frank Vahid's home page