verilog 中的函数可以调用另一个函数吗?
Can a function in verilog call another function?
考虑下面的 verilog 示例,这是允许的吗?它是可综合的吗?
function [7:0] func1;
input [7:0] a;
input [7:0] b;
begin
func1 = func2(a) + b;
end
endfunction
function [7:0] func2;
input [7:0] a;
begin
func2 = a + a;
end
endfunction
是的,是的。
函数只是一种向表达式添加层次结构的方法。所以,你的例子只是另一种写法
some_variable = a + a + b;
哪个是可综合的,你的函数也是。
考虑下面的 verilog 示例,这是允许的吗?它是可综合的吗?
function [7:0] func1;
input [7:0] a;
input [7:0] b;
begin
func1 = func2(a) + b;
end
endfunction
function [7:0] func2;
input [7:0] a;
begin
func2 = a + a;
end
endfunction
是的,是的。
函数只是一种向表达式添加层次结构的方法。所以,你的例子只是另一种写法
some_variable = a + a + b;
哪个是可综合的,你的函数也是。