System-on-a-Chip Verification: Methodology and Techniques