使用自定义库模拟VHDL设计

使用自定义库模拟VHDL设计,vhdl,simulation,xilinx,Vhdl,Simulation,Xilinx,我正在尝试做一个简单的VHDL项目来刷新我的内存。我正在使用文件half_adder.vhd创建另一个文件full_adder.vhd,我希望对其进行模拟。这些文件不在同一项目中。我使用的是Xilinx ISE版本14.7 我的代码合成得非常好,并且通过了语法检查。我还可以创建RTL示意图。但是,每当我尝试为全加器创建测试台架时,都会收到以下错误消息: 错误:HDLParsers:3317-“E:/workspaceXilinx/FullAdder/full_adder.vhd”第23行。 找不

我正在尝试做一个简单的VHDL项目来刷新我的内存。我正在使用文件half_adder.vhd创建另一个文件full_adder.vhd,我希望对其进行模拟。这些文件不在同一项目中。我使用的是Xilinx ISE版本14.7

我的代码合成得非常好,并且通过了语法检查。我还可以创建RTL示意图。但是,每当我尝试为全加器创建测试台架时,都会收到以下错误消息:

错误:HDLParsers:3317-“E:/workspaceXilinx/FullAdder/full_adder.vhd”第23行。 找不到库半加法器

错误:HDLParsers:3513-“E:/workspaceXilinx/FullAdder/full_adder.vhd”第24行。 由于设计单位的原因,无法在此范围内显示所有声明 半加法器不是一个包

我已将half_adder.vhd添加到工作库中,因此我不确定为什么找不到该库。以下是我正在使用的两个文件:

半加法器.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;
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;
IEEE库;
使用IEEE.STD_LOGIC_1164.ALL;
实体半加法器是
端口(a,b:标准逻辑中;
s、 c:输出标准(U逻辑);
端半加法器;
半加器的结构是
开始

s工作库是指当前正在编译的库。如果未在设计工具中明确创建
半加法器
库,则该库将不存在。您只需删除此
使用
半加法器相关的子句
;这不是必需的。

谢谢您快速的回答。