我正在尝试为 VHDL 项目创建一小部分门和其他组件。我已经创建了我的包并在我的测试台中从它实例化了一个组件,但是我收到了这个编译器错误:
错误:[VRFC 10-1412] 实体附近的语法错误 [/home/< 编辑名称 >/Documents/school/ECE581/projects/project1/project_1/project_1.srcs/sources_1/new/components.vhdl:23]
问题
我的语法错误的原因是什么,我该如何解决?
包装代码
package p1_components is
component cNAND
port ( inA, inB : in bit;
output : out bit);
end component;
end p1_components;
package body p1_components is
--------------------------------------------------------------------------
-- NAND implementation
--------------------------------------------------------------------------
entity cNAND is -- *** line 23 - error is reported here ***
port ( inA, inB : in bit;
output : out bit);
end cNAND;
architecture def of cNAND is
begin
def_proc : process(inA, inB)
begin
if (inA and inB) then
output <= transport '0' after 5 ns;
else
output <= transport '1' after 5 ns;
end if;
end def_proc;
end def;
end p1_components;
调试工作
我一直在这里和这里引用一些标准库代码,以确保我的声明和语法是正确的,据我所知,它们是正确的。我还参考了其他一些在线资源,我找不到我的包、组件和实体声明有任何问题。
其他注意事项
- 我正在使用 Xilinx Vivado v2014.4(64 位)的 Linux 版本进行编译。
- 我知道 VHDL 关键字之类
NAND
的,在实际设计中会使我的实现变得多余。但是我正在进行的项目是针对学校的,并且要求我们为项目的这一部分推出自己的 NAND 实施。