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

 

Course Information   Lecture   Laboratory   Student Presentation   Homework

Announcement:  

Extra Office hour Monday March 17th, 11AM-noon.

 

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 CS120B, you'll learn how to develop and program embedded systems. It will introduce you to using 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).

Course information

Instructor Harry Hsieh, (harry@cs.ucr.edu), SURGE 329

Office hours: TuTh 11AM-noon, or by appointment

Lecture Location: SPTHW 1307, TR 9:40AM-11AM
Lab Section 021 (#12061): Location SURGE 173, MW  6:10PM-10PM

Section 022 (#12062): Location SURGE 173, WF  2:10PM-6PM

Textbooks Embedded System Design: A Unified Hardware/Software Approach, Vahid and Givargis, Wiley & Sons, 2002, Accompanying Web page    

Digital Design Principles & Practices, J. Wakerly, Prentice Hall, 2001, 3rd Ed (Comes with Xilinx Student Edition software). DDPP web site

RECOMMENDED: The 8051 Microcontroller, Stewart and Miao, Prentice Hall, 2nd Ed., VHDL Design Representation and Synthesis, Gray Armstrong, Prentice Hall, Second edition, ISBN 0130216704, OR another VHDL book covering synthesis. 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

TA Fang Chen ( fchen@cs.ucr.edu) Office hours: in lab
Xi Chen ( xichen@cs.ucr.edu) Office hours: in lab
Prerequisite CS/EE120A (Logic Design)
Exams Final 3/18/2003 8 to 11 a.m. SPTHW 1307 | Midterm TBA
Mailing list  120B Mailing List:  It is your responsibility to subscribe to the mailing list with a UCR email address. Some announcements, and your scores during the quarter, will be sent to that email address. If you commonly read email from another address (e.g., yahoo or hotmail), then you must still provide us with your UCR address, but you might then create a .forward file in your UCR account for your more common address.
Call # and units 12060, 5 units.
Grade Labs 25%, Homeworks 10%, Midterm 20%, Quizzes 10%, Presentations 5%, Final 30%

Special note:  You will receive a passing grade only if you pass both the assignments (Labs+Homeworks+Presentation) AND the Exam (Midterm+Quizzes+Final)

Lecture topics

(DDPP: Digital Design Principles and Practices book; ESD: Embedded System Design book)
  • (Students should review DDPP Chapters 1-6)
  • Introduction to embedded systems (ESD 1)
  • Custom single-purpose processors: Hardware (ESD 2), Sequential Logic Design (DDPP 7, 8, and 9)
  • General-purpose processors: Software (ESD 3)
  • Standard single-purpose processors: Peripherals (ESD 4)
  • Memory (ESD 5) (skip: advanced RAMs)  (DDPP 10)
  • Interfacing (ESD 6)
  • Putting it all together -- a digital camera example (ESD 7)
  • Lecture Schedule, Slides, and Handouts

    Homeworks

        No late homework will be accepted.  If you have any question about the grading of your homework after it is returned, you have only 1 week to bring it to my attention.  After that, the grading is considered final.  Submitted homeworks should be neat and legible -- sloppy or unnecessarily long homework submissions may lose points or may not be graded. You probably want to do a draft of the homework, and then create a neater copy to turn in.

  • Homework 1 due Thursday 1/16
  • Homework 2 due Thursday 1/23, postponed to Friday 1/24 at 11:59PM.  You may slip it under my door at Surge 329.  It is strongly recommended that you turn it in before 5PM since you may not be able to get into the building after hour.
  • Homework 3 due Thursday 2/6
  • Homework 4 due Tuesday 2/25
  • Homework 5 due Thursday 3/13
  • Student presentation

    Presentation should be done with one partner.

    You will be required to make a 10 minute (5 minutes each person) oral presentation in class about an article related to computer engineering.  You will need to sign up for an article AND a time slot no later than Tuesday, 1/14.  The presentations will be graded.  Presenters should try to cover the relevant and interesting points of the article.  In addition, presenters are expected to do a little research outside the article and add it to the presentation.  Questions from the audience are encouraged.  

    Presentation Schedule and List of Articles

    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 policy

    Labs should be done with one partner.  

    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.

  • You should plan to stay in every lab for the full four hours, starting from the very first day. If you finish a lab early, then you should start on the next one (each comes with a good description), so that you will have even more time to work on later labs which are more difficult.
  • 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 text format, not Word, please). Late lab reports will lose points.
  • Lab reports, code and results (preferably zipped) should also be turned in through www 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.
  • 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 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

  • Important note on academic dishonesty

    Cheating will be punished severely. For those who don't want others' cheating to cheapen your own hard work and hurt your grade -- there is an anonymous cheating reporting form at: https://www.cs.ucr.edu/cheating/. While students may discuss material generally (and this is encouraged!), HOMEWORK SUBMISSIONS MUST REPRESENT INDEPENDENT WORK .

    Other links

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