CprE 488 - Embedded Systems Design

Course Information

Catalog Description: (3-3) Cr. 4. Prereq: CPR E 381 or COM S 321
Embedded microprocessors, embedded memory and I/O devices, component interfaces, embedded software, program development, basic compiler techniques, platform-based FPGA technology, hardware synthesis, design methodology, real-time operating system concepts, performance analysis and optimizations.

Meeting Times and Places:

  • Lecture (all sections): TTh 12:40-1:55 in Coover 1011
  • Labs: 2041 Coover Hall (map) (floorplan)
    • Section 1: Th 4:10-7:00
    • Section 2: F 8:50am-11:40

    Required Textbook: M. Wolf. Computers as Components (3rd or 4th edition): Principles of Embedded Computing System Design, Morgan Kaufmann, 2012 (available online from the ISU library).

    Related Textbooks:
    • B. Kernighan and D. Ritchie. The C Programming Language (2nd edition), Prentice Hall, 1988.
    • B. Mealy and F. Tappero. Free Range VHDL (v1.18), 2016 (PDF)

    Learning Objectives

    By the end of the semester, students will be able to:

    1. Simplify the design of modern embedded computing systems into concrete stages
    2. Perform analysis for various embedded systems, using multiple metrics for performance, power / thermal, and efficiency
    3. Express fluency with techniques in embedded system optimization, including compiler, architectural, and system-level techniques
    4. Categorize on-chip and off-chip communication approaches commonly in use for embedded systems, including real-world interfacing considerations
    5. Utilize embedded memory management techniques
    6. Prototype systems with significant hardware and software components using an FPGA-based platform
    7. Develop systems for multiple compelling embedded application domains, including image / video processing and control systems
    8. Appreciate the challenges involved with embedded system software and operating systems, and illustrate familiarity with configuring and installing embedded Linux


    Student Expectations: at the very minimum, it is expected that each student will:

    • Read all assigned material.
    • Actively participate in class discussions.
    • Satisfactorily complete all exams and other graded work.
    • Participate fully in group discussions.
    • Complete all work with an acceptable level of quality.
    • Complete and submit a course evaluation.
    • Follow university policy on integrity of scholarship and grades.
    • If you have special learning needs, please contact the instructor to make suitable arrangements.

    Also, in general keep the following in mind:

    • You are required to access the course home page for relevant and timely information throughout the term.
    • Lab attendance is required. Please make sure that you do not indulge in disruptive behavior.
    • Be aware of the laboratory policies (see below).
    • Posting on Canvas is an effective way to communicate with the instructors. Use email for more sensitive communication.


    • Some of your work is done in groups and some individually. An example of group work are the regular laboratory exercises, and an example of individual work is homework. Exams must be exclusively your work; cheating will be dealt with per University regulations. Academic dishonesty on class or laboratory work will be dealt with harshly, will result in a 0 on the assignment, and may result in a 0.0 for the course (see section below on Scholastic Integrity).
    • The following grading scheme will be used:
      • Exams: 30%
        • Exam 1: Thurs 3/21, 75 minutes
        • Exam 2: Tues, 4/30, 75 minutes
      • Homework (5x): 10%
      • Labs (5x): 40%
      • Final Project: 15% (Thurs May 9, 9:45am - 11:45am) (Demos: During Final Exam time slot, in Coover 2041) Exam Schedule from Registrar
      • Class Participation: 5%
      • TOTAL: 100%
    • Homework grading: Each homework will have a due date. It is due in the class on the due date, and after the due date no partial credit will be given. We would like you to complete all homeworks even if they are turned in late.

    Lab Policies:. Pay special attention to the items in bold:

    • Lab attendance is mandatory. If you will be absent, you must notify the lab instructor by email or phone before the absence for it to be an excused absence. Unexcused absences may result in a zero for the corresponding lab(s) and is sufficient cause for a zero lab score for the semester, and in turn, a 0.0 grade for the course.
    • Students will typically work with partners or groups on lab work. Lab partners and roles may be rotated during the term to give students different learning experiences. The same score will be awarded on group work unless there is evidence to support different scores.
    • The lab should be worked on during its corresponding lab period(s). If the lab is not completed during the lab period, it may be finished during any other unscheduled/open lab time. Labs must be demonstrated to your lab instructor no later than the beginning of the regular scheduled lab time after it was due, otherwise it is considered late. Late work will not be accepted (i.e. 0%).
    • Work can be done outside formal lab times to verify and test hardware and software designs. Software design tools are available in the lab.
    • Safety in the lab is a number one priority for students and instructors and to ensure a safe laboratory experience, a brief safety presentation will be given the first day of lab. It is mandatory that all students attend this presentation. Moreover, it is expected that students follow any and all posted safety guidelines. For reference, a copy of the University Laboratory Safety Manual can be found here. Here is our ECpE Department's Safety information website here

    Integrity of Scholarship and Grades: All students are to adhere to the University's policy relating to integrity of scholarship and grades as presented in the Student Information Handbook. (available here). Cheating in course work is unacceptable. Students found cheating in CPRE 488 will receive failing grade and further disciplinary action will be determined by the Dean's Office.

    Code of Classroom Conduct: As indicated earlier, students are to treat all their classmates in a respectful manner. The following code of classroom conduct, explains what this means in further detail. (Note:An official ECpE version of this ABE code of classroom conduct is in development) Code of Classroom Conduct

    Student Accommodations:If you have a disability and/or require accommodations, please contact the instructor early in the semester so that your learning needs may be appropriately met. You will need to provide documentation of your disability to the Disability Resources (DR) office, located on the main floor of the Student Services Building, Room 1076, 515-294-7220.

    Free Expression: Iowa State University supports and upholds the First Amendment protection of freedom of speech and the principle of academic freedom in order to foster a learning environment where open inquiry and the vigorous debate of a diversity of ideas are encouraged. Students will not be penalized for the content or viewpoints of their speech as long as student expression in a class context is germane to the subject matter of the class and conveyed in an appropriate manner.