HELP с моей VHDL код пытается выбрать, какой вход идти к выходу с IF заявления с помощью WITH XXX ВыберитеVHDL код IF оператор с помощью С XXX выберите также
s является выбор d и е являются для 4 входных у есть выход
Помощь Благодаря
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;
ENTITY mux_4_1 IS
PORT(
S : in STD_LOGIC;
d : IN STD_LOGIC_VECTOR (3 downto 0);
e : IN STD_LOGIC_VECTOR (3 downto 0);
y : OUT STD_LOGIC_VECTOR (0 to 6));
END mux_4_1;
ARCHITECTURE behavior OF mux_4_1 is
BEGIN
PROCESS(S,d,e)
BEGIN
IF S = '0' THEN
WITH d SELECT
y <= "1111110" WHEN "0000",--0
"0110000" WHEN "0001",--1
"1101101" WHEN "0010",--2
"1111001" WHEN "0011",--3
"0110011" WHEN "0100",--4
"1011011" WHEN "0101",--5
"1011111" WHEN "0110",--6
"1110000" WHEN "0111",--7
"1111111" WHEN "1000",--8
"1111011" WHEN "1001",--9
"0000000" when others;
ELSE S = '1' THEN
WITH e SELECT
y <= "1111110" WHEN "0000",--0
"0110000" WHEN "0001",--1
"1101101" WHEN "0010",--2
"1111001" WHEN "0011",--3
"0110011" WHEN "0100",--4
"1011011" WHEN "0101",--5
"1011111" WHEN "0110",--6
"1110000" WHEN "0111",--7
"1111111" WHEN "1000",--8
"1111011" WHEN "1001",--9
"0000000" when others;
END IF;
END PROCESS;
END behavior;
Ошибка (10500): Синтаксическая ошибка VHDL при mux_4_1.vhd (23) возле текста «WITH»; ожидающий «конец» или «(» или «идентификатор» («с» является зарезервированным ключевым словом) или последовательный оператор
Ошибка (10500): синтаксическая ошибка VHDL в mux_4_1.vhd (25) возле текста «КОГДА»; ожидая «;»
вы не нашли ** четкое изложение проблемы ** часть [. MCVE] (http://stackoverflow.com/help/mcve). * Справка * Отсутствует специфика. Какое сообщение об ошибке вы делаете, что? Пожалуйста, покажите конкретное сообщение об ошибке. – user1155120
Информация: Запуск Quartus II Анализ и синтез \t Информация: Версия 9.1 Build 350 03/24/2010 Service Pack 2 SJ Web Edition \t Информация: Обработка началась: Сб июл 16 20:50:13 2016 Информация: Команда: quartus_map --read_settings_files = on --write_settings_files = off mux_4_1 -c mux_4_1 Ошибка (10500): Синтаксическая ошибка VHDL при mux_4_1.vhd (23) рядом с текстом «WITH»; ожидающий «конец» или «(» или «идентификатор» («с» является зарезервированным ключевым словом) или последовательный оператор Ошибка (10500): Синтаксическая ошибка VHDL в mux_4_1.vhd (25) рядом с текстом «КОГДА»; ";" – chuck
'ELSE' должен быть' ELSIF', за ним следует условие, за которым должен следовать 'THEN'. – user1155120