Оператор ожидания должен содержать условие условия с ключевым словом UNTIL.

Следующий VHDL должен использоваться для испытательного стенда. Я продолжаю получать сообщение об ошибке в первом операторе ожидания во время анализа: «оператор ожидания должен содержать условие условия с ключевым словом UNTIL». У меня есть несколько рабочих тестовых стендов, написанных таким образом. Не могу найти в чем может быть ошибка.

`library IEEE;
USE IEEE.std_logic_1164.all;
entity case_ex_TB is end;
architecture simple_test of case_ex_TB is
--- DUT Component Declaration ---
component case_ex
    port(
    clk, rstN: IN std_logic;
    color: OUT std_logic_vector(2 downto 0));
end component;
--- Signals Declaration ---
signal rst, clock: std_logic:='0';
signal color: std_logic_vector(2 downto 0);

begin
DUT: case_ex  --- DUT instantiation ---
port map (clk => clock,
         rstN => rst,
         color => color);
--- Signal's Waves Creation ---
rst <= '1','0' after 50 ns, '1' after 2 us;
clock_crtate: process
begin
    while rst = '0' loop
        clock <= '1','0' after 50 ns;
        wait for 100 ns;
    end loop;
        clock <= '1';
        wait;
end process;
end simple_test;`

person aviv yaakobi    schedule 18.11.2015    source источник
comment
Вы упомянули Quartus-II, но какой у вас симулятор? Вы не пытаетесь синтезировать это, не так ли?   -  person Morten Zilmer    schedule 18.11.2015
comment
Привет, Мортен, я пишу свой код с помощью Quartus-II, и после запуска анализа и синтеза я получаю эту ошибку: Ошибка (10533): Ошибка оператора ожидания VHDL в case_ex_TB.vhd (26): Оператор ожидания должен содержать условие условия с ключевым словом UNTIL.   -  person aviv yaakobi    schedule 18.11.2015
comment
Синтез предназначен для реализации дизайна в устройстве, и синтез не может обрабатывать ожидание по времени, как wait for 100 ns;. Для тестового стенда вам обычно нужен симулятор, такой как ModelSim. Altera имеет ModelSim Starter Edition в комплекте, так что взгляните на это.   -  person Morten Zilmer    schedule 18.11.2015
comment
Хорошо, спасибо за вашу помощь.   -  person aviv yaakobi    schedule 18.11.2015


Ответы (1)


Вы получаете эту ошибку, потому что вы установили свой тестовый стенд как объект верхнего уровня в Quartus-II. Объект верхнего уровня должен оставаться компонентом case_ex, и этот компонент должен содержать синтезируемый код.

Для имитации вашего тестового стенда вы должны настроить тестовый стенд. Просто нажмите на знак плюс перед «RTL Simulation», а затем «Изменить настройки». (Имена могут отличаться в зависимости от версии Quartus).

person Martin Zabel    schedule 18.11.2015
comment
У меня другая проблема. - person aviv yaakobi; 18.11.2015