Я пытаюсь создать простой проект VHDL, чтобы очистить память. Я использую файл half_adder.vhd, чтобы создать другой файл full_adder.vhd, который я хочу имитировать. Эти файлы не находятся в одном проекте. Я использую Xilinx ISE версии 14.7.Имитация дизайна VHDL с использованием пользовательских библиотек
Мой код отлично синтезирует и передает проверку синтаксиса. Я также могу создать RTL-схемы. Тем не менее, всякий раз, когда я пытаюсь создать испытательный стенд для полного сумматора, я получаю следующее сообщение об ошибке:
ERROR:HDLParsers:3317 - "E:/workspaceXilinx/FullAdder/full_adder.vhd" Line 23. Library half_adder cannot be found.
ERROR:HDLParsers:3513 - "E:/workspaceXilinx/FullAdder/full_adder.vhd" Line 24. Declaration all can not be made visible in this scope since design unit half_adder is not a package.
Я добавил half_adder.vhd к работы библиотеки, так что я не уверен, почему библиотека не найдена. Вот эти два файла, которые я использую:
half_adder.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity half_adder is
port(a, b: in STD_LOGIC;
s, c: out STD_LOGIC);
end half_adder;
architecture Behavioral of half_adder is
begin
s <= a xor b;
c <= a and b;
end Behavioral;
full_adder.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library half_adder;
use half_adder.all;
entity full_adder is
port (a, b, cin: in STD_LOGIC;
s, cout: out STD_LOGIC);
end full_adder;
architecture Behavioral of full_adder is
signal s1, c1, c2: STD_LOGIC:='0';
begin
HA1: entity work.half_adder port map(a, b, s1, c1);
HA2: entity work.half_adder port map(s1, cin, s, c2);
cout <= c1 or c2;
end Behavioral;
Благодарим вас за быстрый ответ. – Razorfoot