UCR CS122A: Embedded System Design

CS122A deals with the exciting and rapidly-growing field of embedded computing systems.

Why embedded 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). In addition to lab excercises, homeworks, and exams, you'll have the opportunity to develop your own embedded system as a project.

Prerequisite: EE/CS120B

Graduate students are welcome to take the course. Feel free to contact Prof. Frank Vahid with any questions.

Syllabus

Labs

Items to bring to first lab

Tutorial for C51 -- 8051 C compiler
Tutorial for PDS51 -- 8051 In-Circuit Emulator
Lab 1 -- Implementing a simple counter using the 8051
Lab 2 -- Implementing a calculator using a keypad and an LCD
Lab 3 -- Serial communication
Lab 4 -- A/D converter
Lab 5 -- Robot Lab
Lab 6 -- Controlling A Stepper Motor
Lab 7 -- Introduction to VHDL Simulation and Synthesis
Lab 8 -- VHDL: Designing a calculator
Lab 9 -- VHDL: FPGA implementation of the calculator


Beta labs:

Coming soon:


VHDL

Online VHDL tutorial
Online VHDL textbook

Embedded Systems Competition highlights



Grades

Final grades

Back to Frank Vahid's home page