VHDL:FlipFlop D代码中的错误

时间:2011-07-01 14:27:02

标签: compiler-errors vhdl

我正在使用VHDL进行D触发器 这是代码:

LIBRARY STD,WORK;
USE STD.standard.all;
entity FlipFlopD is 
port(
  input, clock :in bit;
  output :out bit
);
end FlipFlopD;

--Architecture of the entity
Architecture FlipFlopDfunc of FlipFlopD is 
begin 
  PROCESS (clock)
  BEGIN
    IF (clock’EVENT AND clock=‘1’) THEN 
      output <= input; 
    END IF;
  END PROCESS;
end FlipFlopDfunc;

这些是我在尝试合成时遇到的错误:

Line 16. Unexpected symbol read: ?.
Line 16. Unexpected symbol read: ?.
Line 16. parse error, unexpected IDENTIFIER, expecting COMMA or CLOSEPAR

第16行中的错误对我来说是因为我看不到任何'?'这一行中的符号:

IF (clock’EVENT AND clock=‘1’) THEN 

有谁知道如何纠正它? 有谁知道如何处理此错误parse error, unexpected IDENTIFIER, expecting COMMA or CLOSEPAR

顺便说一下,我正在使用ISE 9.2进行设计 谢谢你的帮助。

3 个答案:

答案 0 :(得分:6)

您确定使用正确类型的单引号(')标志吗?如果它们在您的VHDL代码中是这样的,我猜他们错了。

IF (clock'EVENT AND clock='1') THEN

答案 1 :(得分:4)

我从上面剪切并粘贴了你的代码,正如bmk所说,滴答声是错误的。

您也可以将该行写为: -

if rising_edge(clock) then

但您必须使用以下库和包。

library IEEE;
use IEEE.std_logic_1164.all;

答案 2 :(得分:4)

除了@bmk和@George的正确观察之外,你应该删除这些行:

LIBRARY STD,WORK;
USE STD.standard.all;

VHDL标准规定这些行已经隐含在任何VHDL文件中。 这些条款对您的代码没有任何影响,但他们会将您识别为新手。