Ошибка (10500): синтаксическая ошибка VHDL в Project1_Components.vhd (22) рядом с текстом «сущность»; ожидая "конец", или заявление декларации - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь создать пакет вентилей AND для использования в другой части этого проекта, и я не знаю, как исправить эту ошибку.Это мой первый VHDL-проект, и я полностью в растерянности.

Я пытался изменить синтаксис несколькими способами, включая изменение конечной строки.Это кажется правильным, по всем данным, и ни одна из моих книг или заметок не указывает на другой способ объявления сущностей.

library ieee;
use ieee.std_logic_1164.all;

package Project1_Components is

 component AND2
    generic (DELAY: time :=5ns);
    port (in1, in2: in std_logic; out1: out std_logic);
 end component;
 component AND3
    generic (DELAY: time :=5ns);
    port (in1, in2,in3: in std_logic; out1: out std_logic);
 end component; 
 component AND4
    generic (DELAY: time :=5ns);
    port (in1, in2,in3,in4: in std_logic; out1: out std_logic);
 end component;
end package;

package body Project1_Components is

  entity AND2 is
   generic (DELAY: time);
   port (in1, in2: in std_logic; out1: out std_logic);
 end entity;
 entity AND3 is
  generic (DELAY: time);
  port (in1, in2, in3: in std_logic; out1: out std_logic);
 end entity;
  entity AND4 is
   generic (DELAY: time);
   port (in1, in2, in3, in4: in std_logic; out1: out std_logic);
 end entity;

 architecture behavioral of AND2 is
    begin
        out1 <= in1 and in2 after DELAY;
    end architecture;
 architecture behavioral of AND3 is
    begin
        out1 <= in1 and in2 and in3 after DELAY;
    end architecture;
 architecture behavioral of AND4 is
    begin
        out1 <= in1 and in2 and in3 and in4 after DELAY;
    end architecture;
end package; 
...