Pre - & Post - Silicon Debug of Digital Systems