Digital design techniques for dependable High-Performance Computing