In reply to raivaichu1109:
A few remarks only.
To pass parameters to the environment and objects you can use packages or you can do this using the config_db or you are using macros from a specific macro file. It depends on your preferences.
What I see in your code. You have a few critical things there:
(1) your reset signal is not in the clocking block.
(2) Your DRIVER modport has an entry ‘logic asyncinterrupt’. This is not legal. The modport specifies only the data direction.
(3) When using a clocking block you do not need the clk and the reset in your modport. This is always covered by the clocking block.