Digital Design Techniques for Dependable High Performance Computing