i'm got lost while build up my first sequence of sequences in combination with different configurations. My scenario looks like this:
Test 1: One sequence (SINGLE_SEQ)
- Config object SINGLE_CONF contains two filenames A_SEQ for input stimuli and A_SCB for scoreboard.
- Sequence SINGLE_SEQ fetches config object with filename A_SEQ from config db and fill some transactions items with data from the file
- Scoreboard fetches config object as well and generates some expected transactions with respect to the file A_SCB
Test 2: Sequence of sequences (MULTI_SEQ)
- A new config object MULTI_CONF contains a queue of SINGLE_CONF objects: ((A_SEQ,A_SCB), (B_SEQ,B_SCB), ...)
- Sequence MULTI_SEQ fetches the new config object from the config db and setup a SINGLE_SEQ for every entry in the queue
- Sequence order can be random, for instance A->B->C or A->C->B
But how it is possible to pass the corresponding filename *_SCB to the scoreboard? Should I setup a connection between the sequencer and scoreboard?
In my former (non-UVM but even class based) system verilog testbench i instantiated a new environment object for every entry in the queue.