csce313_s20

CSCE 313: Embedded Systems

Spring 2020

Home

Schedule


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:

Lecture Time & 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)

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

Course Policies:

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.

schedule

CSCE 313: Embedded Systems

Spring 2020

Home

Schedule


Note: This schedule is tentative and subject to change. Please check it regularly.
Weeks/DatesTopicsNotes
Weeks of Jan. 13 and Jan. 20Introduction: Course overview & logistics; Basic concepts of embedded systems; Getting started with the DE2 FPGA board
Jan. 20No Class: MLK day
Weeks of Jan. 27, and Feb. 3Introduction: Basic concepts: Software-hardware co-design to light up the DE2 FPGA board; UART communication with a PC
Feb. 5 and Feb. 7Lab assignmentsLab assignment 1 will be due; Demo your lab assignment 1 to TA
Weeks of Feb. 10 and Feb. 17Image transformations and video out: VGA basics; Image representations and transformations; Image interpolations and output
Feb. 19 and Feb. 21Lab assignmentsLab assignment 2 will be due; Demo your lab assignment 2 to TA
Week of Feb. 24Performance analysis and tuning: Performance considerations in a single processor; Tradeoff: Accuracy vs. Speed; Fixed point and floating point
Feb. 26 and Feb. 28Lab assignmentsLab assignment 3 will be due; Demo your lab assignment 3 to TA No office hours, traveling out of Columbia for meetings.
Week of Mar. 2Multiprocessor systems: Performance considerations in a multiprocessor; Processors synchronization: Mailboxes
Week of Mar. 9No Classes: Spring break!
Week of Mar. 16Multiprocessor systems: Performance considerations in a multiprocessor; Processors synchronization: Mailboxes
Mar. 18 and Mar. 20Lab assignmentsLab assignment 4 will be due; Demo your lab assignment 4 to TA
Weeks of Mar. 23, Mar. 30, and Apr. 6Scaling multiprocessors: Scaling parameters; Intense video manipulations; Accuracy vs. Speed
Mar. 25Homework assignmentsHomework 1 will be posted;
Apr. 1Blackboard quizzesQuiz 1 will be posted; due within 3 days
Apr. 8 and Apr. 10Lab assignmentsLab assignment 5 will be due; Demo your lab assignment 5 to TA
Apr. 8Homework assignmentsHomework assignment 1 will be due; Homework assignment 2 will be posted;
Weeks of Apr. 13 and Apr. 20Performance analysis and tuning in a multiprocessor system: Tradeoff: Accuracy vs. Speed; Tuning and measurements
Apr. 15Blackboard quizzesQuiz 2 will be posted;
Apr. 22 and Apr. 24Lab assignmentsLab assignment 6 will be due; Demo your lab assignment 6 to TA
Apr. 22Homework assignmentsHomework assignment 2 will be due;
Apr. 22Blackboard quizzesQuiz 3 (bonus) will be posted;
Apr. 27Course overview; Final exam thoughts;
Apr. 29Exam: FinalTime: 4:00 pm – 6:30 pm; Place: In class