admin 发表于 2020-7-6 10:35:14

12007 Top-level design entity "mux2 " is undefined

新手在学习FPGA的时候,做第一个实验,因为没有经验,会遇到这个问题。具体的报错截图如下所示:


这是什么原因呢,看报错的意思,说的是顶层实体(文件)mux2没有定义。这个顶层默认就是你创建工程时候的工程名称。

当工程创建完成后,会创建一个verilog文件,教程讲的是将这个verilog文件保存命名为和工程名称一样的mux2,但是很多学习者在第一次学习的时候没经验,忘了改名字,就会保存为Verilog1.v这样的默认名字,或者是没有注意区分大小写,本来应该是mux2的全小写,但是他写成了MUX2,或者Mux2这种大小写的模式,与mux2不一致,所以也会导致这种情况。如下图所示,该学员就是大小写写错了。



在上图中,您必须保证顶层实体、文件名称、模块名称完全一致,才能直接编译通过。否则就会报开头所说的错误。


如何修改呢?
最简单的方式,如果是文件名写错了,就把这个文件从工程中移除,然后重新建立重新正确保存,如下图所示:



当然,如果你的文件名和模块名一致,只是和你创建的工程顶层名称不一致,也可通过另外的方式解决。例如你的工程名称叫mux2,而文件名和模块名都叫led_test,也可以将led_test.v这个文件设置为工程顶层,也就是说,工程顶层实体的名称是可以修改的,创建工程时候默认是与工程名称一致,但是我们后期可以修改,修改的方法很简单,选中led.v文件,然后设置为工程顶层就可以了,如下图所示。


页: [1]
查看完整版本: 12007 Top-level design entity "mux2 " is undefined