任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,
那么这个任务是不会执行的。
定义任务的语法如下:
任务:
task <任务名>;
<端口及数据类型声明语句> <语句1> <语句2> ... <语句n>endtask
task程序的一些写法
task send_data(len);//任务名字和长度,任务的声明,类似C语言 integer len,i;//变量声明区 begin//必须加begin和end for(i=0;i
1 //实现len个时钟周期延时 2 task delay(len); 3 4 integer i,len; 5 begin 6 for(i= 0;i< len ; i = i + 1)29 begin30 @( posedge clk)31 spi_bit();32 end33 34 delay(5);35 cs_n = 1;36 37 38 end
1 //在initial语句中的调用2 initial3 begin4 #05 sclk = 0;6 mosi = 1'bz; 7 #2008 spi_data(10);9 end