LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
USE IEEE.numeric_std.ALL;
ENTITY TEST IS
PORT (sw1, sw0 : IN std_logic;
x : OUT integer RANGE 3 DOWNTO 0);
END ENTITY TEST;
ARCHITECTURE dflow OF TEST IS
SIGNAL mes_sel : integer RANGE 3 DOWNTO 0;
BEGIN
mes_sel <= to_integer(unsigned(std_logic_vector(SW1 & SW0)));
x <= mes_sel;
END ARCHITECTURE dflow;
但是編譯器不喜歡mes_sel分配2 STD_LOGIC位轉換爲整數。我得到以下編譯器錯誤信息:
錯誤(10327):在Q4.vhd VHDL錯誤(92):無法確定運營商 「」 & 「」 的定義 - 發現4點可能的定義
我可以不將2位std_logic連接到一個向量,然後轉換?或者是別的什麼? 關於 D
它不喜歡什麼?它是否提供錯誤信息或其他內容? (順便說一下,你可以直接從兩個std_logics構成一個'unsigned',不需要通過std_logic_vector去做) –