fault-tolerance-techniques-for-sram-based-fpgas