Architecture Design for Soft Errors