ECE 5530 Configurable Computing | ECE | Virginia Tech


Course Information


The design and implementation of high-performance computing machinery using configurable computing technology is studied. Contemporary computing methodologies are investigated, modeled, and constructed in laboratory exercises. Computational solutions are implemented by using field programmable gate arrays and adaptive computing devices.

Why take this course?

This course will provide students the ability to design state-of-the-art computers and computing machinery. Theory discussed in the lecture, and skills acquired through the laboratory exercises are valued highly in the contemporary marketplace and in research institutions. The course introduces students to what is now a fundamental design technique applicable to many disciplines. The material presented in this course also serves to prepare a student for a career in computer design or in digital application-specific integrated circuit (ASIC) design.

Learning Objectives

  • Identify the historical milestones associated with the evolution of configurable computing.
  • Design and analyze systems composed of (networks of) soft processors.
  • Describe contemporary object-oriented schemas for dynamic resource management and reconfiguration.
  • Identify contemporary challenges in compiler design for configurable systems.
  • Describe processes and algorithms associated with evolvable and biologically inspired hardware and algorithms.
  • Describe and evaluate the macro and micro architectures of contemporary field programmable gate arrays.

Course Topics


Percentage of Course

Introduction to configurable computing 5%
Soft processors and cellular automata 15%
Performance metrics for configurable systems 10%
Co-design for computing systems 15%
Contemporary configurable systems 15%
Evolvable hardware 15%
Modular design and run-time reconfiguration 15%
Adaptive computing machines 10%