在
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
将具有固定宽度,因此函数的所有返回值都必须具有相同的宽度。