What is the difference between modport and clocking block

In reply to gashenoy:

This is unrelated to clocking blocks.

You would only use interface.clockingblock.signal. You never use a modport name in the middle of a hierarchical reference.

interface myItf;
  int A,B,C;
  modport mpX(input A, output B);
  modport mpY(input B, output C);

endinterface
module DUT(myItf.mpX itf);
  // you are only allowed to reference itf.A as an input, and itf.B as an output
endmodule