Self-checking and Fault Tolerant approaches can help BIST fault coverage: a case study