library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity DruigZadatak is
Port (iSW : in STD_LOGIC_VECTOR (7 downto 0);
iSEL : in STD_LOGIC;
oLED : out STD_LOGIC_VECTOR (7 downto 0));
end DruigZadatak;
architecture Behavioral of DruigZadatak is
begin
oLED <= "11111111" when iSEL ='0' else
oLED(3 downto 0) <= (iSW(5 downto 3) + iSW(2 downto 0)),
oLED(6 downto 4) <= "111" when iSW(7)='1' else
"110" when iSW(6)='1' else
"101" when iSW(5)='1' else
"100" when iSW(4)='1' else
"011" when iSW(3)='1' else
"010" when iSW(2)='1' else
"001" when iSW(1)='1' else
"000" when iSW(0)='1';
oLed(7) <= '0' when iSW ="00000000" else
iSEL;
end Behavioral;
и я получаю следующие ошибкиОшибки в VHDL Xilinx ISE Project Navigator
ERROR:HDLCompiler:288 -Line 45: Cannot read from 'out' object oled ; use 'buffer' or 'inout'
ERROR:HDLCompiler:1731 -Line 45: found '0' definitions of operator "<=", cannot determine exact overloaded matching definition for "<="
ERROR:HDLCompiler:288 -Line 47: Cannot read from 'out' object oled ; use 'buffer' or 'inout'
ERROR:HDLCompiler:1731 -Line 47: found '0' definitions of operator "<=", cannot determine exact overloaded matching definition for "<="
ERROR:HDLCompiler:854 -Line 39: Unit <behavioral> ignored due to previous errors.
если кто-то может объяснить мне, что я должен сделать это, и почему эти ошибки продолжают поступать из это было бы здорово, спасибо. Надеюсь, вы поймете, в чем смысл моего проекта.
Это мой первый проект в xilinx vhdl, поэтому все новое для меня, так что вы можете объяснить мне последнюю часть с помощью «0» и «....» для чего? и как в конце iSEL = 1? И будет ли это работать с архитектурой поведенческих? – xena12
Xilinx не является синонимом VHDL. «&» - это оператор конкатенации в этом случае, создающий std_logic_vector с длиной 1, большей, чем результат «+», добавив «0» к результату. «Как заканчивается iSEL = 1?» не анализируется хорошо на английском языке (синтез касается только двоичных эквивалентных значений, если это не «0», это «1»). Вы можете назвать архитектуру чем угодно. VHDL поддерживает несколько архитектур. Ваши инструменты Xilinx, вероятно, позволят вам указать используемую вами архитектуру, иначе указатель привязки по умолчанию указывает на последний проанализированный. – user1155120