Specification-Driven UVM Testbench Generation