如何在系统Verilog中返回关联数组

时间:2018-12-17 14:46:49

标签: verilog system-verilog verification

你好想知道关联数组如何作为返回值传递

代码:

function abc()
begin
int value[string][string];
value = def();
end

function int def()
begin
int new_value[string][string];
//logic to populate the array
return new_value;
end

我看到以下错误: 目标的类型是int。 而源类型是int $ [string] [string]。

如何处理并无缝传递关联数组?

1 个答案:

答案 0 :(得分:3)

要使函数返回聚合类型,您需要先声明typedef,然后将其用作返回值。

typedef int AA_t[string][string];
function AA_t def();
  AA_t new_value; 
  //logic to populate the array
  return new_value;
endfunction

拥有typedef后,您不妨在任何地方使用它。