返回 VHDL 中的无约束数组



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;

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

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

s <= func(n);

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

最新更新