9

我已经查看了所有以前的问题,似乎没有人遇到像我这样简单的问题。另外我在网上搜索并找不到解决方案。

我是 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 教程中的项目创建步骤进行操作,但是当我尝试编译项目时出现错误:

Error (12007): Top-level design entity "alt_ex_1" is undefined
4

4 回答 4

14

我的问题是关于verilog 代码编译器。但是当我搜索问题时,我总是看到这个问题。所以我决定也添加我的解决方案来指导其他人。我花了很多时间才找到解决方案。这是我为解决问题所做的。只需按照以下步骤操作(Quartus II 14.0.0);Assignments-> Settings-> Top-Level Entity->Select your module

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2014-11-20T11:29:27.393 回答
13

在本章Starting a New Project中,您被要求调用您的项目light。在我看来,您没有正确执行该步骤并命名您的项目alt_ex_1。这就是您收到 12007 错误的原因,因为编译器不知道您设计的顶级实体是什么。

要解决该问题,您可以:

  1. 更改 中的顶级实体分配Assignments -> Device -> General
  2. Project Navigator通过( Files -> Set as top-level entity)将您的模块设置为顶级实体。

顺便说一句1 , 2 , 3 , ... - 都是同一个问题。

于 2014-09-14T16:17:01.347 回答
2

Just put the pointer over the file name in the project navigator panel and click with right button and then push on (set as top-level entity). Done.

于 2015-04-30T23:30:35.767 回答
0

一个简短的回答

Error (12007): Top-level design entity "alt_ex_1" is undefined

错误消息远非微不足道,但它确实以一种迂回的方式告诉了问题所在。您(可能)正在使用alt_ex_1.vhd您的设计文件的名称。
在 Altera Quartus 中,文件名entity必须与 VHDL 设计代码中声明的(顶层)名称相同。
您需要做的是将文件名从 更改alt_ex_1.vhdlight.vhd.
为简单起见,创建一个名为light而不是alt_ex_1.

详细的答案

重现错误很简单。这就是我所做的。1

启动Quartus Prime Lite Edition后,单击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消息窗口显示错误:

12007 Top-level design entity "alt_ex_1" is undefined

要摆脱烦人的错误,请删除在工作目录中创建的所有文件,然后重新开始。按照上面的说明进行操作,但这次确保将每次出现的地方都替换alt_ex_1light

消息窗口中,期望看到如下内容:

Quartus Analysis & Synthesis was successful. 0 errors, 1 warning

作为最后几行之一。


1在 Windows 10 上使用 Altera / Intel Quartus Lite 18.1,但版本可能并不重要。

参考:

于 2021-03-29T15:10:04.333 回答