In reply to kautilya1987:
Clocking block is used to introduce input/output sampling/driving delays. Modport defines directions of signals and can be used to represent set of signals.
//By combining clocking block with modport, we define
//synchronizing point for those signals accessed through
//the modport (e.g. vif.DRV_MP.HREADY)
modport DRV_MP(clocking drv_cb, input reset)