UCR EE/CS 120B: Introduction to Embedded Systems

Summer 2 2004


Lecture Schedule   Lab Schedule   Grades   Previous course offerings   Prereq: CS 120A  

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, TV 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 have 35 or more by the year 2000. Demand for embedded system designers is large, and is growing rapidly. Many technical observers believe powerful ubiquitous embedded systems will create the next big revolution, just like the Internet did in the past.

In EE/CS120B, you'll learn how to develop and program basic embedded systems. It will introduce you to a unified view of hardware and software design, mapping desired functionality to a collection of single-purpose processors (digital hardware and peripherals) and general-purpose processors (microprocessors). Students will gain experience building real digital systems using VHDL, synthesis and FPGAs (Xilinx), and programming embedded microprocessors (Intel 8051 8-bit microcontroller). The follow-up courses of CS122A and CS122B introduce you to more advanced designs and methods.

Catalog description :

EE/CS 120A. Logic Design (5) Lecture, 3 hours; laboratory, 8 hours. Prerequisite(s): CS 120A/EE 120A. Introduction to hardware and software design of digital computing systems embedded in electronic devices (such as digital cameras or portable video games). Topics include custom and programmable processor design, standard peripherals, memories, interfacing, and hardware/software tradeoffs. Laboratory involves use of synthesis tools, programmable logic, and microcontrollers and development of working embedded systems. Cross-listed with EE 120B.

Basic information

Instructor(s) : Enoch Hwang, Ph.D. (ehwang@cs.ucr.edu). Office hours: MTWR 11:10am-12:00pm Office: Bourns Hall A-259.

Lecture: Section 001: MTWR 9:40am-11:10am Olmsted Hall 1136

Labs: Section 1: MTWR 2:00pm-6:00pm Surge 173

Teaching Assistants: TA office hours:
Section 1: Som Neema (sneema@cs.ucr.edu): Time: tba in BRNHL A-216

Textbook: Embedded System Design: A Unified Hardware/Software Approach, Vahid and Givargis, Wiley & Sons, 2002, Book web page 

Logic and Computer Design Fundamentals and Xilinx Student Edition 4.2 Package, 3/E , by Mano and Kime, 3rd edition

Recommended:

The Students Guide to VHDL, Peter Ashenden, Morgan Kaufmann, 1st Edition, ISBN 1558605207.
or
VHDL Design Representation and Synthesis, Gray Armstrong, Prentice Hall, Second edition, ISBN 0130216704.
or another VHDL book covering synthesis.

Some free references include: Online VHDL tutorial and Hamburg VHDL archive which include Peter Ashenden's popular VHDL Cookbook.

All students should have a basic C programming book. A good C book is The C Programming Language, Kernighan and Ritchie, Prentice Hall, ISBN 0-13-110362-8.

An 8051 microcontroller book may be helpful for the lab. A good one is The 8051 Microcontroller, by Stewart and Miao, Prentice Hall, Second edition, ISBN 0-13-531948-x. 

Software: We'll be using the Keil 8051 C compiler, Philips 8051 emulators/software, the Aldec VHDL simulator, and Xilinx/Synopsys Foundation Express.

You may want to consider purchasing Aldec VHDL simulator student edition. It's an easy to use yet powerful VHDL simulator written for windows. You might also consider getting the Xilinx Student Edition Software and FPGA Board


Course grading: The course consists of 100 points:
Grades will be assigned using a conventional grading scale: 100-90 A, 89-80 B, 79-70 C, 69-60 D, 59-0 F. +/- grades will be given. Students are NOT competing against one another, but rather against the scale -- all students can get good grades if all do well. We may adjust ("curve") an individual assessment item if such adjusting HELPS the class.

Minimum competency requirement: We want students to master both the conceptual as well as the hands-on aspects of the course. Thus, students must receive a passing grade (60% or better) in each of the lecture component and lab component, in order to receive a passing course grade (D- or better).

Study groups: Study groups - suggest going to the Science Library to meet and study there.
Class web site: www.ilearn.ucr.edu
Enrolling in this course gives you automatic access to the UCR "ilearn" site Your login id is the name field of your ucr student email address (name@student,ucr,edu), and your initial password is your Student ID (no dashes or spaces).

Class email list: CS/EE 120B mailing List (send mail now or access the archive):
Most students will be automatically subscribed to this mailing list when enrolled in the course. However, it is up to you to ensure that you are in fact subscribed (you can go to the links above to check the subscription list).

Lecture Schedule

Subject to change as the quarter progresses.
Read the book before lecture! Reading ahead is one of the most effective ways of doing better in class -- you'll be amazed how much more useful the lectures will be. We'll follow the book closely.

(LCDF: Logic and Computer Design Fundamentals; ESD: Embedded System Design)

Lab schedule

Subject to change as the quarter progresses.
Read the lab overview and report format.

General course features and policies (please read these carefully)

Anonymously report suspected cheating

Grades