在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