在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;
在这种情况下,我得到字符串文字不能是一个类型转换操作数,所以它不工作。信号选择器是通用的,所以它不一定是可合成的。
数字文字3和4后面有语法错误。是否使用显式指定类型的限定表达式?合格表达式:'std_logic_vector'(“11”)','std_logic_vector'(“101”);''和'std_logic_vector'(“0”)'。您没有显示的错误消息会告诉您,您无法将字符串转换为std_logic_vector,它们的元素类型不同(字符和std_ulogic)。那些':'应该是“=>”。 – user1155120
The:instead of <=在这里是一个错误,我为stackexchange键入了这个新的部分,没有不必要的代码。在原始代码中还有“<=”。然而,它与'你在括号之前提到的。“谢谢很多。在这种情况下,你可以给我一个关于这个函数的提示吗? 将此复制到答案中,我会将其标记为已接受! –
然后编辑您的问题... – JHBonarius