如何将布局受限的从属entity应用到另一个项目

描述

工作环境及 Pro Edition 分区规格

为了方便大家理解,以下将准备两个项目,分别为 [项目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 的布局约束应用于另一个项目。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分