我正在使用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进行设计 谢谢你的帮助。
答案 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文件中。 这些条款对您的代码没有任何影响,但他们会将您识别为新手。