Automating IP Design and Verification