UCR EE/CS120B: Introduction to Embedded Systems, Winter 2004

 

Course Information   Lecture   Laboratory   Homework   Previous CS/EE120Bs   Grades

EE/CS120B introduces 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, 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.

Course information

Instructor Brian Grattan, ( bgrattan@cs.ucr.edu), Office: SURGE Bldg. 340, Office hours: MW 5PM - 6PM; F 3PM - 4PM

Lecture MWF 4:10-5:00 p.m. OLMH 1122
Lab Section 021: TW 8:10am-11am SURGE Bldg. 173
Textbooks Embedded System Design: A Unified Hardware/Software Approach, Vahid and Givargis, Wiley & Sons, 2002, Book web page 

Logic and Computer Design Fundamentals, M. Morris Mano, Charles R. Kime, Prentice Hall, 2nd or 3rd Ed. Book Web page

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

TAs Shawn Nematbakhsh( snematbakhsh@cs.ucr.edu), Wei Wu( wwu@cs.ucr.edu) Office hours: in lab
Prerequisite CS/EE120A (Logic Design)
Mailing list 120B Mailing List:  It is your responsibility to subscribe to the mailing list, which requires a UCR email address. Some announcements may made only over the mailing list. If you commonly read email from another address (e.g., yahoo or hotmail), you might then create a .forward file (containing your other email address) in your UCR account to forward the emails.
Grade Lab component 40% (lab assignments, lab attendance, in-lab exams), Lecture component 60% (homeworks 10%, quizzes 10%, Midterm 20%, Final 20%)

Note:  To ensure minimum competency in both the principles and practice, you must pass both components to pass the course.

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. Our goal is to help as many of you as possible to do well.

Lecture topics

(LCDF: Logic and Computer Design Fundamentals; ESD: Embedded System Design book); Lecture slides are available from the ESD web site
  • (Students should review Chapters 1-5 in LCDF)
  • Week 1: Introduction to embedded systems (ESD 1)
    HK1
  • Week 2: Custom single-purpose processors: Hardware (ESD 2), Sequential Logic Design (LCDF 4)
    Quiz 1
    HK2
  • Week 3: Custom single-purpose processors (continued)
    General-purpose processors: Software (ESD 3) Quiz 2
  • Week 4: General-purpose processors continued (ESD 3), ASM programming, 8051 overview
    HK3
  • Week 5: Midterm (Friday)
    Standard Single-purpose processors: Peripherals (ESD 4)
  • Week 6: Standard single-purpose processors continued
    Memory (ESD 5) (skip advanced RAMs)
    HK4
  • Week 7: Memory (cont)
    Quiz 3
  • Week 8: Interfacing (ESD 6)
    HK5
  • Week 9: Interfacing (cont)
    Quiz 4
    Putting it all together -- a digital camera (ESD 7)
  • Week 10: Digital camera (cont)
    Misc.
  • FINAL, Wednesday, March 17 at 11:30AM. Location: OLMH 1133
  • General course features and policies

    Homeworks

  • Homework 1: Due Wed, Jan. 14 (Solutions)
  • Homework 2: Due Wed, Jan. 21 (Solutions)
  • Homework 3: Due Mon, Feb. 2 (Solutions)
  • Homework 4: Due Fri, Feb. 20 (Solutions)
  • Homework 5: Due Fri, Mar. 5 (Solutions)
  • Quizzes

  • Quiz 1 solutions
  • Quiz 2 solutions
  • Quiz 3 solutions
  • Quiz 4 solutions
  • Midterm

  • Midterm Solutions
  • Final

  • Final Solutions
  • Lab

        Lab topics

  • Introduction to VHDL and simulation
  • Introduction to synthesis and FPGAs ( Xilinx )
  • Synthesis of digital components, datapaths, and simple custom processors
  • Introduction to an embedded microprocessor: The Intel 8051
  • Hardware/software tradeoffs
  •     Lab features and policies

  • Labs should be done with one partner.  
  • Each lab assignment's grade will typically consist 100 points: 30 points for your lab demo (simulation and board), 50 points for your code and/or schematic (must be well organized and commented), and 20 points for your lab report.
  • Lab reports are due at the time of the demo.  You are to print out report, code, schematic, and result and hand your TA a hardcopy at the time of the demo. Use the report form (in plain text, .doc, .pdf, .rtf or .ps please). Late lab reports will lose points.
  • Lab reports, code and results (preferably NOT zipped) should also be turned in through the web at the time of the demo.
  • The TA's may not be available for help 15 minutes before the end of each lab. This time is reserved for checking out completed labs.
  • You will be working in groups of two. You are welcome to choose your own lab partner. Groups of three will not be allowed.
  • The TA's will check out the Xilinx boards and other equipment to each group when required. Boards are only available during scheduled lab. Student must check the boards back in when done, and must be sure to sign the check in sheet. Students should also be sure the TA records the score of your lab demo.
  • The Xilinx boards are pre-wired. Please do not change any wiring unless specifically instructed by the TA. Students may be held responsible for boards damaged due to misuse.
  • The key to a successful and enjoyable lab experience is to prepare extensively before coming to lab. Xilinx software comes with the Wakerly book, and VHDL simulation software can be purchased inexpensively. You should code most of your VHDL and C before coming to lab. Lab time is for testing things out and experimenting.

     

    LAB SCHEDULE

    Lab Report Format

  • Grades

    Final Grades (.pdf)

    Anonymous evaluation form

    Other links


    Our VHDL tutorial
    Online 8051 information
    Embedded Systems Programming magazine
    EDN Embedded Microprocessor Benchmark Consortium
    Free Online Dictionary of Computing
    History of the transistor
    ASICs textbook by Smith