Course
Description


ECE 586CH - Coding Coding Approaches to Reliable System Design

Semester: Spring 2006

Course Instructor: Christoforos Hadjicostis



Description:

This course describes systematic and integrated approaches towards fault diagnosis and the design and implementation of fault-tolerant combinational circuits and dynamic systems.  Building on results from recent research, the course blends together techniques from coding and complexity theory, digital design, and control, automata and system theory.  The course initially studies fault-tolerant combinational architectures under a unifying approach that exposes the similarities between coding for reliable communication and coding for reliable computation.  This approach is subsequently extended to handle fault tolerance in systems whose internal state influences their future behavior, such as finite-state
controllers or algorithmic computations evolving over several time steps.  The introduction of time and state dynamics presents new challenges for engineering design, but also offers new degrees of freedom and opens up exciting possibilities for future digital system implementation.  The course discusses some of these open research questions for a number of systems of special-interest, such as finite-state machines, digital signal processing filters, cellular automata and discrete event systems.  An introduction to the basic objectives and techniques in coding and in design for fault diagnosis and fault tolerance is provided.

Topics:
              - Fault models, errors, reliability, availability, fault tolerance
              - Failures in digital communication channels, coding approaches for communication systems
              - Failures in gates or computational components:
                               (i) coding approaches for noisy circuits
                               (ii) ABFT techniques for computational systems
                               (iii) efficiency considerations and other parameters (capacity, probability of error, error coverage)
              - Failures in the error correcting mechanisms, coding approaches for dynamic systems
                                (i) non-concurrent (dynamic) error correction
                                (ii) decoding complexity and low density parity check codes
                                (iii) computational capacity, fault coverage, probability of error
            - Other uses of redundancy (monitoring and testing using redundant inputs, states and outputs)


Prerequisites:

Required:  ECE 413 and ECE 462 (or permission of instructor).
Desired:  ECE 411, ECE 515.
Familiarity with elementary algebra at the level of Math 417 and linear system theory at the level of ECE 515 would be helpful, but not required;  a self-contained introduction to these topics will be provided.


Textbook:  Mainly class notes and research papers.

References:


Instructor information:  C. N. Hadjicostis / 265-8259 / 357 CSL / chadjic@control.csl.uiuc.edu

Course Time and Place: Tuesdays & Thursdays, 2:30-3:50pm, 143 Everitt Laboratory

Office Hours: Tuesdays, 4:00-5:00pm, 357 CSL



Detailed Course Info


Course Outline:

I. Introductory Material (Hours: 6)

II.  Fault-Tolerant Computational Systems (Hours: 9) III.  Fault-Tolerant Dynamic Systems (Hours: 12) IV.  Special Topics (Hours: 12) V.  Project presentations (Hours: 6)


Homework:


Projects: