On Fault Tolerance Methods for Networks-on-Chip