Strategies to Maximize Reusability of UVM Test Scenarios in SoC Verification