Automated Testing, Verification and Repair of RTL Hardware Designs