return vhdl 中的无约束数组
return unconstrained array in vhdl
在 vhdl 中 return 无约束向量的最佳方法是什么?
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;
在这种情况下,我得到的字符串文字不能是类型转换操作数,所以它不起作用。信号选择器是通用的,因此它不必是可合成的。
你不能这样做。函数中的 return 值在调用时需要与某些东西相关联,并且某些东西必须具有固定宽度。换句话说,你必须这样说:
s <= func(n);
和 s
将具有固定宽度,因此函数中的所有 return 值都必须具有相同的宽度。
在 vhdl 中 return 无约束向量的最佳方法是什么?
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;
在这种情况下,我得到的字符串文字不能是类型转换操作数,所以它不起作用。信号选择器是通用的,因此它不必是可合成的。
你不能这样做。函数中的 return 值在调用时需要与某些东西相关联,并且某些东西必须具有固定宽度。换句话说,你必须这样说:
s <= func(n);
和 s
将具有固定宽度,因此函数中的所有 return 值都必须具有相同的宽度。