举例说明如何使用任务:
module bus_ctrl_tb;
reg [7:0] data;
reg data_valid, data_rd;
cpu ul(data_valid,data,data_rd);
initial begin
cpu_driver (8’b0000_0000);
cpu_driver (8’b1010_1010);
cpu_driver (8’b0101_0101);
end
task cpu_driver;
input [7:0] data_in;
begin
#30 data_valid=1;
wait(data_rd==1);
#20 data=data_in;
wait(data_rd==0);
#20 data=8’hzz;
#30 data_valid=0;
end
endtask
endmodule
在测试模块中使用任务可以提高程序代码的效率,可以用任务把多次重复的操作包装起来。
|