module ExampleModule(input wire a, b, output reg result);
// 定义一个简单的函数
function [1:0] add_function;
input [1:0] x, y;
add_function = x + y;
endfunction
// 模块的主要逻辑
always @(a or b)
begin
// 调用函数并将结果赋给输出端口
result = add_function(a, b);
end
endmodule
在这个例子中,我们定义了一个名为 add_function 的函数,用于将两个输入参数相加。然后,在模块的主要逻辑中,我们使用 add_function 函数来计算输入信号 a 和 b 的和,并将结果赋给输出端口 result。
请注意,Verilog 中的函数和任务(task)都可以用来实现可复用的代码块,但它们有一些区别,主要在于函数可以返回一个值,而任务不能。
转载请注明出处:http://www.zyzy.cn/article/detail/15105/Verilog