function:
1)可以在参数列表中指定输入参数(input)、输出参数(output)、输入输出参数(inout)、引用参数(ref)。
2)可以返回数值或者不返回数值(void)
function int double (input a);
return 2*a;
endfunction
initial begin
$display ("double of %0d is %0d",10,double(10));
end
3)function默认数据类型为logic,例如:input [7:0] addr。
4)数组可以作为形式参数传递。
5)function可以返回结果也可以不返回,若返回需要用关键词return,若不返回则应该在声明function时采用void function()。
6)只有数据变量可以在形式参数列表中被声明为ref类型,而线网类型不可以。
7)在使用ref时,有时候为了保护数据对象只被读取不被写入,可以通过const的方式限定ref声明的参数。
8)在声明参数时,可以给默认值,例如input[7:0] addr = 0,同时在调用时如果省略该参数的传递,那么默认值即会被传递给function