Course Description:
Embedded systems are the backbone of almost all automated
systems today — from equipment in a space station to
the thermostat in your home.
The goal of this course is to provide a
fundamental view behind the general-purpose embedded systems:
its hardware components;
its software components;
hardware/software interface design;
and hardware/software co-design.
Course Logistics:
Class Days, Time, and Location:
Weekly lecture: Monday; 3:55 pm – 5:10 pm;
Innovation Center, Room 1400
Lab for Section 1: Wednesday, 3:55 pm – 5:10 pm,
Swearingen, Room 3D22
Lab for Section 2: Friday, 3:55 pm – 5:10 pm,
Swearingen, Room 3D22
Instructor:
Sanjib Sur
(sur@cse.sc.edu)
Office Hours:
Monday, Wednesday, and Friday; 3:00 pm – 3:45 pm;
2259 Storey Innovation Center
TA 1:
Gaofeng Pan (gpan@email.sc.edu)
Office Hours:
Friday; 1:00 pm – 3:00 pm;
2210 Storey Innovation Center
TA 2:
Thomas Bryan Griffin (tbg1@email.sc.edu)
Office Hours:
Wednesday; 12:00 pm – 2:00 pm;
Swearingen, Room 3D22
Learning Outcomes:
Perform hardware/software co-design for a programmable embedded
system;
Write software that interfaces directly with I/O peripherals,
such as LEDs, LCD panels, buttons, monitors,
and remote consoles;
Write software that performs real-time processing of
audio and video data;
Use high-level synthesis tools to develop co-processor
architectures in an embedded environment.
Textbooks:
Recommended: Embedded Systems: ARM Programming and
Optimization, by
Jason D. Bakos
Recommended: Computer Systems: A Programmer's
Perspective, by
Randal E. Bryant and David R. O'Hallaron
Online materials available on Blackboard
Prerequisites:
CSCE 211: Digital Logic Design
CSCE 212: Introduction to Computer Architecture
CSCE 240: Advanced Programming Techniques (recommended,
you must be familiar with C and Linux)
Topics:
Background on embedded systems
Getting started with the DE2 FPGA board
Lighting it up
UART communication with a PC
Image transformations and video out
VGA basics
Image representations and transformations
Image interpolations and output
Performance analysis and tuning
Performance considerations in a single processor
Tradeoff: Accuracy vs. Speed
Fixed point and floating point
Multiprocessor systems
Performance considerations in a multiprocessor
Processors synchronization: Mailboxes
Scaling multiprocessors
Scaling parameters
Intense video manipulations
Accuracy vs. Speed
Coursework and Grading:
80% Laboratory Assignments:
There will be six lab assignments, all based on DE2-115
FPGA board.
The detailed assignment instructions
will be posted on the
Blackboard.
Assignment reports and codes must be submitted through
Blackboard.
Here are the tentative breakdown of the lab assignments.
Lab 1: Lighting up the DE2 FPGA board (10%)
Lab 2: Image transformations and video out (10%)
Lab 3: Performance analysis and tuning (15%)
Lab 4: Multiprocessor systems 1 (15%)
Lab 5: Multiprocessor systems 2 (15%)
Lab 6: High resolution, fixed-point fractal generation (15%)
20% Final Exam:
The final exam will be a closed book exam;
but students are allowed to carry a cheat sheet on a
one-sided 8.5''x11'' paper.
Date and time: Wednesday, April 29, at 4:00 pm
in Innovation Center, Room 1400.
Grading scale:
90 – 100 = A;
85 – 89 = B+;
80 – 84 = B;
75 – 79 = C+;
70 – 74 = C;
65 – 69 = D+;
60 – 64 = D;
≤ 59 = F
Laboratory Policy:
You can work inside the lab at any time. But
no drink or food allowed inside the lab. Please make sure your hands are dry before handling all equipment inside the lab. Please power down the equipment before you leave the lab for a significant amount of time. Also, if you are the last person to leave the lab, please turn off the lights.
Assignment Submission Policy:
All the assignments have to be done in a
group
of size at most 2 students.
Assignment reports and codes must be submitted through
Blackboard.
If you have questions regarding the grading of your assignments
or exams, you must come to see the instructor
within one week after the date your
assignments or exams have been returned to you.
If you cannot see us within one week, you need to email us
within one week and make an appointment. If you believe that your assignments
or exams have been lost, please notify us as soon as possible
(within one week). We are not responsible for missing assignments or exams
one week after they have been returned.
Group Work Policy:
Group sizes of two are preferred, and group sizes of one are allowed based on enrollment and hardware availability. Three-member groups are not allowed.
Choose your group partner wisely. Each of the partners in a group will receive the same point for all labs, irrespective of the individual
contributions.
Attendance Policy:
Students are obligated to complete all assigned work promptly and attend each class regularly. Absence from more than 10 percent of the scheduled class sessions, whether excused or unexcused, is excessive, and the instructor may choose to deduct the class participation points for such absences. It is of particular importance that a student who anticipates absences in excess of 10 percent of the scheduled class sessions receives prior approval from the instructor.
Academic Integrity:
Students are encouraged to assist their colleagues for the purpose of overcoming technical challenges related to the use of the design tools. Students working on a group project must (by definition) perform joint work. Any collaboration beyond these exceptions is prohibited and is subject to the University's guidelines, regulations, and policies regarding academic dishonesty.
University policies and procedures regarding academic integrity
are defined in the policy STAF 6.25,
Academic Responsibility — The Honor Code. Prohibited
behaviors include plagiarism, cheating, falsification, and
complicity. All potential Honor Code violations will be reported
to the Office of Academic Integrity, which has the authority to
implement non-academic penalties as described in STAF 6.25.
Academic penalties for Honor Code violations include failure of
this course.
Students with Disabilities:
Any student who has a need for accommodation based on the
impact of a documented disability should contact the instructor
to discuss the specific situation as soon as possible. Also,
contact
Disability Resources and Services at 803-777-6142 to
coordinate reasonable accommodations for students with
documented disabilities.