In reply to Geet:
It seems Incisive has a problem with the unique constraint or it is caused by a weakness in your code. You should clean-up your code in test_unique:
(1) make the declaration of clkgen outside of the inital block.
(2) construct clkgen in the initial.
It works fine with Questa.
unique is not a simple keyword. It defines the so-called ‘Uniqueness constraints’.
See chapter 18.5.5 in the SV Standard 2012.