Clocking Block

In reply to mada saimanasa:

The monitor has only inputs, i.e. there is no need for a bidirectional port.

interface inf(input bit clock);
wire data;
//driver clocking block

clocking drvcb@(posedge clk)
  default input #1step output #1ns;
  inout data;
endclocking

//monitor clocking block

clocking moncb@(posedge clk)
  default input #1step output#1ns;
  input data;
endclocking

It is not recommended to use #0.