80% of functional verification cycle is spent on developing testcases and debugging test failures. Hence every engineer needs to have good debug skills. Below I have listed few concepts that are commonly used.
Debug using display messages in Transcript or Log file