1) 声明clk_block
2) 声明reset_block
3) 声明 xxx_clocking_block xxx代表master, monitor等
4) 在modport声明中import这些block
具体如下:
1)
clocking clk_block @(hclk);
default input #0;
input hclk;
endclocking : clk_block
2)
clocking reset_block @(posedge hclk);
default input #setup_time output #hold_time ;
output hresetn;
endclocking : reset_block
3)
clocking monitor_clocking_block @(posedge hclk);
default input #setup_time output #hold_time ;
input haddr;
input hburst;
....
endclocking: monitor_clocking_block
4)
modport ahb_monitor_modport(import clk_block.*, import monitor_clocking_block.*);
modport ahb_tb_modport(output hclk, import reset_block.*);