Enforce unique sequence and sequence item names with UVM-1.1a

Overview
The base classes in this package implement a sequence and sequencer base classes that enforce unique naming of sequences.

What is this good for?

Having a unique name for every sequence/sequence item that are executed on a specific sequencer enhanced debugging. It also makes your sequences and sequence items more random stable since UVM sequence random stability is based on the sequence name. This means, for example, that inserting a new transaction between two existing ones, won’t cause any change in the random values of these transactions

How to use?
The example.sv file shows how this package should be used, and the errors it will give in various cases.

Example:
make all # runs a testcase with no duplicate names
make ERROR=ERROR1 all # runs a testcase with a duplicate item name
make ERROR=ERROR2 all # runs a testcase with a duplicate sequence name
make ERROR=ERROR3 all # runs a testcase with a duplicate top level sequence name

Gotchas:
Use only with UVM-1.1a!!! This package overrides uvm_sequence_base::start() and uvm_sequence_base::start_item(), and these might change with more advanced UVM versions.

Download:

unique_seq.tar.gz