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