In reply to chr_sue:
In reply to aditgupta100:
You should think about if macros are the best way to configure your UVM environment. You could do this from a test using parameters.
If you believe macros are absolutely needed you can use a macro definition file which will be included in any place you need this information. Note macros cannot be part of a package.
I needed compile time constants args, so I used defines. Even parameter is a way but even than how will you implement multi-level parameters for my multiple-instances case ?