0

在 vhdl 中返回无约束向量的最佳方法是什么?

function func(selector : natural) return std_logic_vector is
begin
    case selector is
        when 3 => return std_logic_vector("11");
        when 4 => return std_logic_vector("101");
        when others => return std_logic_vector("0");
    end case;
end function;

在这种情况下,我得到的字符串文字不能是类型转换操作数,所以它不起作用。信号选择器是通用的,因此它不必是可合成的。

4

1 回答 1

1

你不能这样做。函数的返回值在被调用时需要与某些东西相关联,并且某些东西必须具有固定的宽度。换句话说,你必须说这样的话:

s <= func(n);

并且s将具有固定宽度,因此函数的所有返回值都必须具有相同的宽度。

于 2017-10-10T12:31:16.263 回答