TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Verilog基本语法之task / b* j3 `# |0 U9 t+ ]) \7 }* I
' a; Q5 s: m4 L6 s* k# L
一直没有用过task语法,担心不可综合,没有尝试过,最近练习了一下,感觉还是比较好用的,与大家分享一下。
$ q3 Z m3 N- A
* m) J5 ?- g; R# a任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的。4 E# F2 c- d, A( ~4 R8 n
, L* k/ r) }* z! {3 z- M: U测试程序是基于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
' T" H" h( @5 H: d
6 q4 o- Y B/ H" L+ Z$ @, u% m7 V5 m% Y D% D+ `' K* r
. O7 }* p7 n0 `9 l' b! S @& t
|
|