Credits: 2


Prerequisite: Minimum grade of C- in ENEE205; or minimum grade of C- in ENEE206; and minimum grade of C- in ENEE350; and must have earned a minimum grade of C- in all 200-level ENEE courses; and permission of ENGR-Electrical & Computer Engineering department.
Restriction: Must be in one of the following programs (Engineering: Computer; Engineering: Electrical).
This laboratory course focuses on the hardware/software interface in computer systems. Hands-on experiments are used to teach design, construction, analysis, and measurement of both hardware and software for embedded systems. Projects emphasize using microcontrollers for control, sensing, and communication through various I/O devices.

Semesters Offered

Fall 2017, Spring 2018, Fall 2018, Spring 2019, Fall 2019, Spring 2020, Fall 2020, Spring 2021, Fall 2021, Spring 2022, Fall 2022, Spring 2023, Fall 2023, Spring 2024

Learning Objectives

  • Design digital logic, microprocessor software, and LSI component (peripherals, memory, analog interface) to meet a problem specification
  • Learn to implement embedded systems with mixed technology designs using both programmable logic and software
  • Develop skills in current-technology logic and software design environments
  • Use digital bench instruments to observe and debug embedded system hardware and software
  • Practice in writing technical design documentation

Topics Covered

  • FPGA architecture and design tools
  • Interfacing microprocessors to FPGAs
  • Interface and application of standard peripherals
  • Debugging with simulation
  • Debugging with bench instruments
  • System bus standards and implementation
  • Making software/hardware tradeoffs
  • Memory interface design
  • Hardware design with timing constraints
  • Realtime software design
  • System fault and error recovery
  • Communication and control protocols
  • Embedded system operator interface design
  • Writing technical documents