VHDL“;“过程”:流程的不正确使用?

VHDL“;“过程”:流程的不正确使用?,vhdl,quartus,Vhdl,Quartus,我对VHDL和Quartus设计环境是全新的,我正在尝试运行一些textio的模拟,但我肯定错过了一些东西。。。当我编译以下代码时(我从OSU VHDL textio指南()中借用了代码片段),我得到了错误10533: 错误(10533):VHDL Wait语句在tio_top处出错。vhd(36):Wait语句必须包含带有UNTIL关键字的条件子句 什么类型的条件适合在这个场景中使用?我已经尝试创建一个计算结果为常量true或false的条件,但它也会给出一个错误。 也许我对流程的理解是错误的

我对VHDL和Quartus设计环境是全新的,我正在尝试运行一些textio的模拟,但我肯定错过了一些东西。。。当我编译以下代码时(我从OSU VHDL textio指南()中借用了代码片段),我得到了错误10533:

错误(10533):VHDL Wait语句在tio_top处出错。vhd(36):Wait语句必须包含带有UNTIL关键字的条件子句

什么类型的条件适合在这个场景中使用?我已经尝试创建一个计算结果为常量true或false的条件,但它也会给出一个错误。 也许我对流程的理解是错误的,它需要持续运行吗? 基本上我只想把变量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;

请参阅。您正在尝试合成VHDL设计吗?您也无法写入读取模式文件。使用模拟器和代码将out\u值文件声明更改为write\u模式,生成包含值
1
的文件out\u值,尽管存在所有多余的use子句。您遇到了工具问题。Quartus是一个逻辑合成器。它不接受完整的VHDL语言,而只接受对逻辑合成有意义的子集。文本文件I/O、指针(行类型是访问类型,VHDL指针)或永恒的
等待
语句不属于此子集(您希望使用什么硬件?)。此过程中的等待语句是正确的。但它仅用于模拟,不用于合成。如果要模拟,请使用Intel/Alters工具附带的mentor graphics modelsim。Quatus ISE用于合成,不用于模拟。