我看过以前的所有问题,似乎没有人像我一样简单。我也在网上搜索过,无法找到解决方案。
我是VHDL的新手,我正在尝试编译Altera提供的简单示例,如下所示:
library ieee;
use ieee.std_logic_1164.all;
entity light is
port(x1, x2: in std_logic;
f: out std_logic);
end light;
architecture LogicFunction of light is
begin
f <= (x1 and not x2) or (not x1 and x2);
end LogicFunction;
我遵循Altera tutorial中的项目创建步骤,但是当我尝试编译项目时,我收到错误:
Error (12007): Top-level design entity "alt_ex_1" is undefined
答案 0 :(得分:11)
在第Starting a New Project
章中,您被要求致电您的项目light
。在我看来,您没有正确地遵循该步骤,并将您的项目命名为alt_ex_1
。这就是为什么你得到12007错误,因为编译器不知道你设计的顶级实体是什么。
要解决这个问题,您可以:
答案 1 :(得分:4)
我的问题是关于verilog代码编译器。但是当我搜索问题时,我总是看到这个问题。所以我决定添加我的解决方案以引导其他人。我花了很多时间找到解决方案。这是我为解决问题所做的工作。只需按照以下步骤操作(Quartus II 14.0.0); Assignments
- &gt; Settings
- &gt; Top-Level Entity
- &gt; Select your module
答案 2 :(得分:0)
Error (12007): Top-level design entity "alt_ex_1" is undefined
错误信息远非微不足道,但在迂回中
它确实告诉什么是错的。
您(可能)使用 alt_ex_1.vhd
作为设计文件的名称。
在 Altera Quartus 中,文件名必须与
(顶层)entity
在 VHDL 设计代码中声明。
您需要做的是将文件名从 alt_ex_1.vhd
更改为
light.vhd
。
为简单起见,创建一个名为 light
而不是 alt_ex_1
的新项目。
重现错误很简单。这是我所做的。 1
启动 Quartus Prime 精简版后,点击 File
>
New Project Wizard...
。
如果您看到简介,请点击 Next >
。选择一个工作目录。
输入 alt_ex_1
作为项目名称。
点击 Next >
两次,然后点击 Finish
。
创建设计文件:File
> New...
.
在 Design Files
下,选择 VHDL File
,然后选择 OK。
下一个 File
> Save As...
。输入或粘贴 alt_ex_1.vhd
并点击
Save
。
粘贴代码:
library ieee;
use ieee.std_logic_1164.all;
entity light is
port(x1, x2: in std_logic;
f: out std_logic);
end light;
architecture LogicFunction of light is
begin
f <= (x1 and not x2) or (not x1 and x2);
end LogicFunction;
并再次保存文件。
编译 Processing
> Start
> Start Analysis & Synthesis
- 或按
Ctrl + K。
Message 窗口显示错误:
12007 Top-level design entity "alt_ex_1" is undefined
要摆脱烦人的错误,请删除在
工作目录,然后从头开始。
按照上面的说明进行操作,但这次一定要更换每个
alt_ex_1
与 light
的出现。
在消息窗口中希望看到如下内容:
Quartus Analysis & Synthesis was successful. 0 errors, 1 warning
作为最后几行之一。
1 在 Windows 10 上使用 Altera / Intel Quartus Lite 18.1,但是 版本可能并不重要。