Actually, I prefer not to use the default_sequence for the reasons you mention. Instead, we recommend that you use the uvm_env to define and start any “background” sequences that you might want to run, and then use the uvm_test to
- override the background sequence using the factory
- use uvm_config_db to modify any parameters that the background sequence might use
- start any test-specific sequences and/or virtual sequences
This gives you all the control you need, as well as the visibility into what’s actually happening. Please see the Advanced UVM Video Course module on “The Proper Care and Feeding of Sequences” for more detail.