VHDL: ошибки в коде FlipFlop D - PullRequest
0 голосов
/ 01 июля 2011

Я делаю D-триггер с VHDL Это код:

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 ]

6 голосов
/ 01 июля 2011

Вы уверены, что используете правильный тип одинарных кавычек (')?Если они такие в вашем VHDL-коде, я думаю, они не правы.

IF (clock'EVENT AND clock='1') THEN
4 голосов
/ 02 июля 2011

В дополнение к правильному наблюдению @bmk и @George вы должны удалить эти строки:

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

Стандарт VHDL предписывает, что эти строки уже подразумеваютсяVHDL файл.Эти пункты не влияют на ваш код, но они идентифицируют вас как новичка.

4 голосов
/ 01 июля 2011

Я вырезал и вставил твой код сверху, и, как говорит bmk, галочки неправильные.

Вы также можете написать эту строку как: -

if rising_edge(clock) then

Но вам нужно будет использовать следующую библиотеку и пакет.

library IEEE;
use IEEE.std_logic_1164.all;
...