【问题标题】:Can a function in verilog call another function?verilog中的函数可以调用另一个函数吗?
【发布时间】:2019-10-09 20:26:23
【问题描述】:

考虑下面这个 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

【问题讨论】:

  • 是的,你甚至可以拥有递归函数并调用相同的函数。

标签: function verilog system-verilog hdl register-transfer-level


【解决方案1】:

是的,是的。

函数只是将层次结构添加到表达式的一种方式。所以,你的例子只是另一种写作方式

some_variable = a + a + b;

这是可综合的,你的功能也是如此。

【讨论】:

    猜你喜欢
    • 2015-10-21
    • 2021-07-14
    • 2021-03-06
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多