gpt4 book ai didi

function - Verilog 中如何使用函数?

转载 作者:行者123 更新时间:2023-12-02 00:40:49 27 4
gpt4 key购买 nike

在我的 FPGA/Verilog 类(class)中,我的教授只是复习了函数。

他说在函数中,您按程序编写代码。然后,当您想要调用该函数时,您可以在 always block 中调用它(即按程序调用),或者您可以使用 assign 语句调用它。

对我来说,如何用过程代码编写一个函数,然后连续调用它,这对我来说没有意义。

如果有人对这个(可能)基本问题有任何见解,我们将不胜感激。

最佳答案

它与组合逻辑 block 几乎完全相同。你那样写,但它被合成为完全不同的东西。请考虑以下事项:

always @* begin
a = b + c;
d = b + a;
end

always @(posedge clk) begin
out <= d + in;
end

这与以下内容完全相同:

function integer calc_d(integer b, integer c) begin
integer a;
integer d;
a = b + c;
d = b + a;
calc_d = d;
end
endfunction

always @(posedge clk) begin
out <= calc_d(b, c) + in;
end

关于function - Verilog 中如何使用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46814175/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com