Clark School Home UMD

ENEE445 Microcomputer Laboratory

Course Description: Students work in groups of two or three to design the microprocessor software and FPGA logic of embedded system applications.  Students use current-technology design tools for software and hardware design and simulation, then download their designs to a microprocessor/FPGA  board for hardware debug and test using digital logic analyzers and oscilloscopes.  Two or three designs will be assigned over the semester, and a design document writeup is required for the final design problem.

Prerequisite(s): ENEE205, ENEE 245, ENEE 350


Course 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