在下初学VHDL,下面是一个D触发器的VHDL代码,感觉没错,但是Quartus2在编译的时候总是不能成功,提示:
Error (10533): VHDL Wait Statement error at text.vhd(13): Wait Statement must contain condition clause with UNTIL keyword
PS:
1.我知道这个程序如果不用wait语句而是直接在PROCESS后面加敏感信号是可以的。我只是想知道我的这个程序哪里有问题。
2.如果把这个程序里面的wait on改成WAIT until(clk'EVENT AND clk='1')也是能够通过编译的
3.这个程序什么都不该如果编译时不选全编译(Full Compilation)而选择分析当前文档(Analyze Current File)的话,也是能通过的
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY text IS
PORT(clk,reset,d:IN STD_LOGIC;
q:OUT STD_LOGIC);
END text;
ARCHITECTURE x OF text IS
BEGIN
PROCESS
BEGIN
WAIT ON clk;
IF(clk'EVENT AND clk='1')THEN
IF(reset='1')THEN
q<='0';
ELSE
q<=d;
END IF;
END IF;
END PROCESS;
END x;