为了方便大家理解,以下将准备两个项目,分别为 [项目A] 和 [项目B]。我们需要在 [项目B] 中实现 [项目A] 中使用的低级别 entity。在这种情况下,器件型号和 Quartus Prime Pro Edition 环境如下表 (表1) 所示:
表1 器件型号和 Quartus Prime Pro Edition 环境
Pro Edition 的分区规格如下表 (表2) 所示两种,两者都将网表文件 qdb 导出到分区并在另一个项目中重复使用。接下来将为大家介绍使用 Quartus Prime Pro Edition 菜单并完成每个流程。
表2 Pro Edition 的分区规格
核心分区工作流程
下图为核心分区复用的过程流程图:
[项目A] 创建核心分区
① 在 Compilation Dashboard 上运行 Analysis & Synthesis 以执行设计的逻辑综合。
② 显示用于创建分区的 Design Partitions Window (Assignments 菜单)。
③ 在 Project Navigator 窗口,右键单击要为其创建分区的 entity,选择 Design Partition > Default (在 Type 下)。
验证指定实体是否已注册。
[项目A] 编译执行:在 Compilation Dashboard 中运行编译
[项目A] 导出 qdb
① 选择 Project 菜单 > 导出 Export Design Partition。
② 在 Export Design Partition 对话框中指定各项。
③ 完成以上设置后,单击 OK 按钮,在指定文件夹中生成所需 entity 的 qdb 文件。需要注意,如果在 Design Partitions Window 中将 .qdb 设置为 Post Synthesis Export File 或 Post Final Export File,那么每次执行编译时都可以自动生成指定的分区。
[项目A] 注册 black box 文件
接下来为要导出的实体创建 black box 文件,注意保存文件时不要将其注册到 [项目A]中。例:
module blinking_led (
output [3:0] value,
input clock
);
Endmodule
[项目B] 将 black box 文件注册到项目中
打开现有 [项目B],并使用 Project 中的 Add/Remove Files in Project (Project 菜单) 将步骤 4 中创建的 black box 文件注册到项目中。
[项目B] 执行 Hierarchy Elaboration
执行 Hierarchy Elaboration,以便 Quartus Prime 识别 [项目B]的 entity 结构。
创建 [项目B]分区
在 Project Navigator 窗口中,右键单击 black box entity 并选择 Design Partition > Default (在 Type 下)。
[项目B] 导入 qdb
① 显示 Design Partitions Window (Assignments 菜单)。
② 双击相关分区的分 Partition Database File 字段,使用浏览按钮选择 [项目A] 中生成的文件,指定 .qdb 文件。
[项目B] 编译执行
在 Compilation Dashboard 中运行编译。执行后,检查编译报告中的编译结果,确认所需的分区已成功应用到 [项目B],同时继承了 [项目A] 的布局布线,这样就完成了核心分区工作流程。
根分区工作流程
下图是根分区复用的过程流程图:
[项目A] 创建核心分区 (类型:Reserved Core)
① 运行 Analysis & Elaboration。
② 显示用于创建分区的 Design Partitions Window (Assignments 菜单)。
③ 在 Project Navigator 窗口中,右键单击要为其创建分区的 entity,然后选择 Design Partition > Reserved Core (在 Type 下)。
④ 为 Design Partitions Window 中的顶部 entity 生成 Post Synthesis Export File 或 Post Final Export File 指定 .qdb 文件。
如果要将 SDC 文件绑定到每个分区,这里不要指定 .qdb 文件,编译完成后,选择 Export Design Partition (Project菜单) 生成它。
[项目A] 设置 Logic Lock 区域
① 显示 Assignments 菜单 > Logic Lock Regions 窗口。
② 在 Project Navigator 窗口中,在核心分区上放置 Logic Lock 约束,右键单击 > Logic Lock Region > Create New Logic Lock Region。
③ 对区域进行以下设置:
・Origin:根据用户规格任意
・Width/Height:根据用户规格可选
・Reserved:On
・Core-Only:On
・Size/State:Fixed/Locked
・Routing Region:根据用户规格选择 Unconstrained 以外的设置
右键单击 Logic Lock Regions Window 中的分区 > Locate Node > Locate in Chip Planner。Chip Planner 将启动。
[项目A] 编译执行:在 Compilation Dashboard 中运行编译
[项目A] 导出 qdb
接下来验证 .qdb 文件是否已生成到项目文件夹中。如果在步骤 1.④ 中未指定 .qdb 文件,请在 Project 菜单 > Export Design Partition > Export Design Partition 对话框中指定每个项目,生成 .qdb 文件 (请参考核心分区工作流程操作 3)。
[项目B] 将 qdb 注册为根分区
① 打开现有 [项目B]。
② 显示 Design Partitions 窗口 (Assignments 菜单) 并双击 root_partition 的 Partition Database File 字段。使用浏览按钮指定 [项目A] 中生成的 .qdb 文件。
[项目B] 将 RTL 添加到 Reserved core 分区
Add/Remove Files in Project 中的文件 (Project 菜单) 以在项目中注册核心分区 RTL 和所有必需的 SDC 文件。
[项目B] 编译执行
在 Compilation Dashboard 中运行编译。执行完成后,在编译报告中查看编译结果,确保所需的分区仍然继承其在 [项目A] 中的布局布线,确认它已应用于 [项目B]。
总结
本文介绍如何将 Quartus Prime Pro Edition 中较低级别 entity 的布局约束应用于另一个项目。
-
文件
+关注
关注
1文章
560浏览量
24652 -
RTL
+关注
关注
1文章
385浏览量
59646 -
quartus
+关注
关注
16文章
170浏览量
74555 -
网表
+关注
关注
0文章
14浏览量
7623
原文标题:如何将布局受限的从属 entity 应用到另一个项目 (专业版)
文章出处:【微信号:骏龙电子,微信公众号:骏龙电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论