Процесс VHDL: неправильное использование процесса?

Я новичок в VHDL и среде разработки Quartus, и я пытаюсь запустить симуляцию некоторого textio, но я должен что-то упустить... Когда я компилирую следующий код (фрагменты которого я заимствовал из OSU VHDL руководство по textio (http://web.engr.oregonstate.edu/~traylor/ece474/vhdl_lectures/text_io.pdf), я получаю сообщение об ошибке 10533:

Ошибка (10533): ошибка оператора ожидания VHDL в tio_top.vhd(36): оператор ожидания должен содержать предложение условия с ключевым словом UNTIL.

Какой тип условия подходит для использования в этом сценарии? Я попытался создать условие, которое оценивается как константа true или false, но это также дает ошибку. Возможно, я неправильно понимаю process и его нужно постоянно запускать? По сути, я просто хочу вывести переменную a в текстовый файл... Нужно ли мне создавать испытательный стенд?

library ieee;
library std;
use ieee.std_logic_1164.all;
use ieee.std_logic_signed.all;
use ieee.std_logic_unsigned.all;
use ieee.math_real.all;
use ieee.math_complex.all;
use ieee.std_logic_textio.all;
use std.textio.all;

entity tio_top is
end tio_top;

architecture main of tio_top is
begin
-----------------------------------------------------------------------------
  --practice with textio
  file_io: --declare a process for executing file input/output
  process is
    file out_file : text open read_mode is "out_values"; --declare output file name
    variable out_line : line; --declare variable of type line to store values
    variable a : std_logic; --declare other logic varialbes for playing around with     
  begin --put the meet of the textio here

    a := '1';

    write(out_line,a);
    writeline(out_file, out_line);

    wait; --allows simulation to halt!

  end process;

end main;

person jakedaly    schedule 25.08.2017    source источник
comment
См. оператор ожидания должен содержать предложение условия с ключевым словом UNTIL . Вы пытаетесь синтезировать свой дизайн VHDL? Вы также не можете писать в файл read_mode.   -  person    schedule 25.08.2017
comment
Изменение объявления файла out_values ​​на write_mode с использованием симулятора и вашего кода создает файл out_values, содержащий значение 1, несмотря на все лишние пункты использования. У вас возникли проблемы с инструментом.   -  person    schedule 25.08.2017
comment
Quartus — логический синтезатор. Он не принимает полный язык VHDL, а только его подмножество, имеющее смысл для логического синтеза. Ввод-вывод текстового файла, указатели (тип line — это тип доступа, указатели VHDL) или вечный оператор wait не являются частью этого подмножества (какое аппаратное обеспечение вы ожидаете?).   -  person Renaud Pacalet    schedule 25.08.2017
comment
Оператор ожидания в этом процессе правильный. Но он предназначен только для имитации, а не для синтеза.   -  person Liang He    schedule 25.08.2017
comment
Если вы хотите смоделировать, используйте программу Mentor Graphics ModelSim, входящую в состав инструментов Intel/Alters. Quatus ISE предназначен для синтеза, а не для моделирования.   -  person JHBonarius    schedule 25.08.2017
comment
@ user1155120 Спасибо! Вместо того, чтобы использовать NativeLink для импорта симулятора, я просто перенес файл прямо в программное обеспечение ModelSim и смоделировал его там.   -  person jakedaly    schedule 27.08.2017