CS 122a: Embedded System Design
Fall, 1998
University of California, Riverside


Course information

Instructor Frank Vahid (vahid@cs.ucr.edu). Office hours T Th 2-3, Bourns A207
Lecture TR 8:10-9:30, PRCE 3374
Lab WF 3:10-6, BRNHL B252
Textbooks Processor-based embedded system design, Vahid, Draft copy, available at UCR Printing and Reprographics. 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 Deepa Varghese, deepa@cs.ucr.edu. Office hours: in lab
Prerequisite CS/EE120B (Digital systems)
Final exam 12/08/1998 8 to 11 a.m
Course call # and units 15778, 5 units.


Course objective

To learn techniques and tools to build embedded microcomputer-based systems.


Course grade

Labs 40%
Homeworks 15%
Midterm/Quizzes 25%
Final exam 20%


Course overview

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, even toasters and rice cookers. Today, the average U.S. household has 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. In addition to defined labs, homeworks and exams, you'll develop your own embedded system as a lab project.

Course contents

1.
Embedded systems introduction: Processor technologies, implementation technologies, and design technologies.
2.
General-purpose processors and the 8051, development environment.
3.
Single-purpose processors: Standard peripheral processors (timers/counters, UARTs, A2D, D2A, PWM, etc.) and designing custom processors (combinational logic design, sequential logic design, custom processor design).
4.
Putting the pieces together: Memories (ROM, RAM, compositions), Communication (serial/parallel, interrupt-driven, parallel), Arbiters.
5.
Describing behavior: sequential program, state machines, dataflow.
6.
Implementation technologies: Custom VLSI, standard cell and gate array, programmable logic devices (including FPGA's).
7.
Design technologies: Synthesis (of custom processors using VHDL, Synopsys FPGA Express and Xilinx FPGA's), Verification (simulation and test), and Intellectual Property.

Lab overview

You will have several assigned labs dealing with writing programs for an embedded general-purpose processor (an 8051 microcontroller), and synthesizing custom single-purpose processors (using Synopsys FPGA Express and Xilinx FPGA's). One of the labs will be a ``competition'' in which all students must design a system to solve the same problem - should be fun. There is no required open-ended project in the course, but we strongly encourage you to do such a project. Extra credit will be given for anyone doing a project, ranging from 3 to 10 percentage points, depending on the project's complexity.

Labs may be done with one partner. Projects may be done with one or two partners, with percentage points being divided among partners.

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.

September 24, 1998