UVM testbench design for ISA functional verification of a microprocessor