This course introduces the concept of dependability, and covers both the issue of testing a digital system at the end of the manufacturing phase, and that of designing and implementing a system to be used for safety-critical applications (fault tolerant design). More in details, the course will introduce students to the most common fault models adopted and to the techniques for Fault Simulation and Automatic Test Pattern Generation (ATPG). Design for Testability (DfT) techniques will also be overviewed, including scan design, Built-In Self-Test (BIST) and Boundary Scan (BS). The most common supports for diagnosis and debug will also be mentioned.
Design techniques for hardening a system with respect to transient faults will also be presented, as well as the main concepts behind reliability evaluation (e.g., FMEA and Fault Tree analysis).
The course will be accompanied by an extensive set of lab sessions, allowing students to practically exercise on state-of-the-art commercial tools used in industrial design environments