|
一直没有用过task语法,担心不可综合,没有尝试过,最近练习了一下,感觉还是比较好用的,与大家分享一下。
任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的。
测试程序是基于EE_FPGA做的,两个LED来回闪烁。- module eefpga(
- input clk,
- output [3:0]led
- );
- reg [31:0]count;
- always@(posedge clk )
- begin
- count <= count + 1;
- end
- task led_on;
- input data_in;
- output data_out;
- begin
- data_out = data_in;
- end
- endtask
- always begin led_on(count[23],led[1]); end
- always begin led_on(count[24],led[2]); end
- endmodule
复制代码
|
|