Designing microprocessors require verifying whether the proposed design does what is intended. Engineers run simulation tests to fix bugs if the tests fail. Due to the design complexity, baseline approach is time-consuming randomized testing. I suggest a ML solution to this problem. It includes working around unavailable optimal solution (instead of reinforcement learning, use supervised and unsupervised models to filter predictions), combining both models to detect different types of failure, monitoring multiple practical metrics, and evaluating performance in various scenarios to optimize retraining process. This arc of work provides a unique and realistic example of ML application in computer hardware.