Quartus中‘设为顶层实体’按钮置灰问题求助
解决Quartus中顶层实体未定义且无法设置顶层的问题
问题描述
我刚接触SystemVerilog硬件设计,写了一个简单的D触发器模块:
//examples of module declaration //here i will make a very simple d flip flop //declaring a new component that will contain some logic module dff(input d, input clk, input rstn, output reg q); always @ (posedge clk) begin if(!rstn) q <= 0; else q <= d; end endmodule
编译时触发错误:Error (12007): Top-level design entity "basics_of_verilog" is undefined。项目创建时指定的顶层实体名basics_of_verilog和模块名dff不符,但无法通过按钮将dff设为顶层实体(按钮呈灰色)。
原因分析
- 项目默认指定的顶层实体
basics_of_verilog不存在于当前项目的代码文件中,导致编译找不到顶层入口。 - 无法设置顶层实体的常见原因:代码文件未被添加到项目中、Quartus未扫描识别到
dff模块、或项目缓存存在异常。
解决办法
1. 确保代码文件已添加到项目
- 打开Quartus的Project Navigator面板,切换到Files标签页,检查你的D触发器代码文件是否在列表中。
- 如果没有,右键点击Files面板空白处,选择
Add/Remove Files in Project,选中你的.v或.sv代码文件添加到项目。
2. 手动指定顶层实体
- 点击菜单栏的
Assignments→Settings。 - 在左侧设置列表中选择
General→Top-level Entity。 - 在下拉选项中选择
dff(如果下拉菜单里没有dff,先执行Project→Clean Project,再执行Project→Analyze All Files,重新扫描项目文件)。 - 点击
OK保存设置,重新编译即可。
3. 检查模块名匹配
Verilog/SystemVerilog是大小写敏感的,确保代码中的模块名dff和你要设置的顶层实体名称完全一致,没有拼写错误。
4. 重置项目缓存(若以上步骤无效)
- 关闭Quartus软件。
- 找到项目目录,删除
db和incremental_db两个文件夹(这两个是Quartus的缓存目录)。 - 重新打开项目,重复步骤1和2,再次指定顶层实体。
内容的提问来源于stack exchange,提问作者GH051
相关产品推荐
相关产品推荐

