UCR EE/CS120B: Introduction to Embedded Systems, Fall 2005

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.

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: 309; ENGR 2
Lecture MWF 12:10pm-1pm Humanities & Social Sciences (HMNSS) 1503
Lab ENGR 2 136
Textbooks REQUIRED:
Embedded System Design: A Unified Hardware/Software Approach, Vahid and Givargis, Wiley & Sons, 2002, Book web page
The Students Guide to VHDL, Peter Ashenden, Morgan Kaufmann, 1st Edition, ISBN 1558605207.

RECOMMENDED:
Some free references include: Accolade's VHDL Reference Guide 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 Symphony VHDL Simulator, and Xilinx ISE.

You may want to consider downloading Symphony EDA simulator. It's an easy to use yet powerful VHDL simulator written for Windows or Linux. You might also consider getting the Xilinx WebPACK. You will need to register with Xilinx to download it.

TAs Piyush Satapathy(piyush@cs.ucr.edu)
Anirban Banerjee(anirban@cs.ucr.edu)
Scott Sirowy(ssirowy@cs.ucr.edu)
Min Chen(min.chen@email.ucr.edu)
Prerequisite CS/EE120A (Logic Design) CS 61
Mailing list 120B Mailing List: It is your responsibility to subscribe to the mailing list. Some announcements may made only over the mailing list. It is a good idea to use a UCR e-mail address. 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.

Lecture topics

(ESD: Embedded System Design book);
  • Week 1: Introduction to embedded systems (ESD 1)
  • Week 2: Custom single-purpose processors: Hardware (ESD 2), Sequential Logic Design (LCDF 4)
  • Week 3: Custom single-purpose processors (continued)
  • Week 4: General-purpose processors continued (ESD 3), ASM programming, 8051 overview
  • Week 5: Midterm
    Standard Single-purpose processors: Peripherals (ESD 4)
  • Week 6: Standard single-purpose processors continued
    Memory (ESD 5) (skip advanced RAMs)
  • Week 7: Memory (cont)
  • Week 8: Interfacing (ESD 6)
  • Week 9: Interfacing (cont)
    Putting it all together -- a digital camera (ESD 7)
  • Week 10: Digital camera (cont)
    Misc.
  • FINAL: Thursday 12/15/2005 3 to 6 p.m.; Location: HMNSS 1503
  • Lecture Slides: Lecture Slides Directory

    General course features and policies

    Homeworks

    Quizzes

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

  • Midterm Solutions
  • Final

  • Final Solutions

  • A Distribution of Final Grades
    Check ILearn (www.ilearn.ucr.edu) for your grade.

    Lab
    LAB SCHEDULE

    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.  
  • Late Labs: Turn in your labs on time. Every lab period late will incur a 25% reduction in your score
  • 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.
  • Lab reports, code and results 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. 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.
  • You are required to go to the lab section you are registered in. If you wish to change your lab section, this must be pre-approved by the TA.
  • The key to a successful and enjoyable lab experience is to prepare extensively before coming to lab. Xilinx software is free from www.xilinx.com and VHDL simulation software can be downloaded from www.symphonyeda.com. You should code most of your VHDL and C before coming to lab. Lab time is for testing things out and experimenting.
  • You are responsible for any damage done to the board while you have it checked out

  • Grades

    Grades are available to students through ILearn (www.ilearn.ucr.edu).

    Other links


    Digilent Incorporated The manufacturers of the boards we use in class.
    Online 8051 information
    Embedded Systems Programming magazine
    EDN Embedded Microprocessor Benchmark Consortium
    Free Online Dictionary of Computing