Course
Information
Lecture
Laboratory
Student Presentation
Homework
CS122A deals with the exciting and rapidly-growing field of embedded computing systems.
In CS122A, 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 single-purpose processors (custom digital hardware). We will also investigate several more advanced topics, including hardware/software tradeoffs, real-time systems, computation models, an introduction to control systems, and reliability issues. Labs will focus more on higher end (32-bit processor based) processing systems. Your grade will be based on lab exercises, homework, in-class presentations, and exams. Graduate students are welcome to take the course.
| Instructor | Harry Hsieh, (harry@cs.ucr.edu),
SURGE 329
Office hours: TuTh 11AM-noon, or by appointment |
|---|---|
| Lecture | SPR2360, TR 9:40AM-11AM |
| Lab | Location SURGE 173, MW 11:10AM-2PM (section 021) TuTh 6:10PM-9PM (section 022) |
| Textbooks | REQUIRED:
Embedded System Design: A Unified Hardware/Software Approach, Vahid and Givargis, Wiley & Sons, 2002, Accompanying Web page Recommended (NOT required): Real Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time C/POSIX by Alan Burns, Andrew J. Wellings, 3rd edition (April 5, 2001) Addison-Wesley Publishing. VHDL Design Representation and Synthesis, Gray Armstrong, Prentice Hall, Second edition, ISBN 0130216704, OR another VHDL book covering synthesis. A basic C programming book. A good C book is The C Programming Language, Kernighan and Ritchie, Prentice Hall, ISBN 0-13-110362-8, OR any other basic C programming book. The 8051 Microcontroller, by Stewart and Miao, Prentice Hall, Second edition, ISBN 0-13-531948-x, OR any other 8051 microcontroller book |
| Software | We'll be using the Keil 8051 C compiler, Philips 8051 emulators/software,
the Aldec VHDL simulator, and Xilinx/Synopsys Foundation Express. Recommended software (NOT required): Aldec VHDL simulator student edition. A VHDL simulator written for windows. Xilinx Student Edition Software and FPGA Board, and accompanying software. |
| TA | Greg Stitt (gstitt@cs.ucr.edu)
Office hours: in lab
Ann Gordon-Ross (ann@cs.ucr.edu) Office hours: in lab Lan Ye (lye@cs.ucr.edu) Office hours: in lab |
| Prerequisite | CS/EE120B (Digital systems) |
| Exams | Final 12/9/2003 8 to 11 a.m. SPR2360 | Midterm TBA |
| Call # and units | 11994, 5 units. |
| Grade | Labs 25%, Homeworks 10%, Midterm 20%, Quizzes 10%, Presentations 5%, Final
30%
You must pass the exams (midterm/quizzes/final) as well as the laboratories to pass the course. |
Lecture Schedule, Slides, and Handouts
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. (Note: you may work in group, but you MUST turn in your own write-up. Obtaining answers from your classmate or any outside source will be considered as academic misconduct).
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 (85%), but will include some amount of lab material (15%). But it may be the hardest part so pay attention in lab!!!
You should plan to stay in every lab for the full three 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.
An electronic copy of the lab report (i.e. web turn-in's) need to be submitted, as well as a paper copy, at the time of the demo for the lab to be completed.
(Note: While working in group of 2, you still must write your own lab report. You and your partner may jointly write the code and be jointly responsible for it. All aspects of the lab should be done by you and your partner. Obtaining information from outside source, especially if it is without citation, will be considered as academic misconduct.)