1.结构说明语句
1)initial 只执行一次
2)always语句 多次执行
1.常用always生成时钟激励信号:
always #(`clk_period/2) clk = ~clk;
//每过半个周期时钟翻转一次
2.always边沿触发
always @(posedge clk or negedge rst)
//在clk上升沿或rst下降沿到来时执行
3.always电平敏感
always @(a or b or c )
//a,b,c任意一个发生变化时执行
3)task任务
task test;
//输入输出端口定义
//逻辑功能描述
endtask
注:
1,task的定义与调用均在同一个module内完成。
2,task定义时无端口列表,调用task时的端口排序与端口定义时的顺序一一对应。
3,一个task可多次调用多个task或function。
4)function函数
function [3:0] tset (input a);
//至少一个输入变量
//逻辑功能描述
endfunction
注:
1,function函数至少要定义一个输入变量
2,function函数不能调用task
3,function内不得含有时间控制语句,诸如@,#,wait
4,function的输出变量要定义为函数名