0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

骏龙电子 来源:骏龙电子 2024-08-22 16:42 次阅读

工作环境及 Pro Edition 分区规格

为了方便大家理解,以下将准备两个项目,分别为 [项目A] 和 [项目B]。我们需要在 [项目B] 中实现 [项目A] 中使用的低级别 entity。在这种情况下,器件型号和 Quartus Prime Pro Edition 环境如下表 (表1) 所示:

wKgaombG-lKAK9ziAAAwGjlOPg0113.jpg

表1 器件型号和 Quartus Prime Pro Edition 环境

Pro Edition 的分区规格如下表 (表2) 所示两种,两者都将网表文件 qdb 导出到分区并在另一个项目中重复使用。接下来将为大家介绍使用 Quartus Prime Pro Edition 菜单并完成每个流程。

wKgaombG-lKAYBOnAABlAmpbjn4956.jpg

表2 Pro Edition 的分区规格

核心分区工作流程

下图为核心分区复用的过程流程图:

wKgZombG-lOAfcnXAAB6Bi4ExCw236.jpg

[项目A] 创建核心分区

① 在 Compilation Dashboard 上运行 Analysis & Synthesis 以执行设计的逻辑综合。
② 显示用于创建分区的 Design Partitions Window (Assignments 菜单)。
③ 在 Project Navigator 窗口,右键单击要为其创建分区的 entity,选择 Design Partition > Default (在 Type 下)。

wKgZombG-lKAbtx5AAB3l-KOP4I153.jpg

验证指定实体是否已注册。

wKgaombG-lOAdkfbAACp3JjlRWw558.jpg

[项目A] 编译执行:在 Compilation Dashboard 中运行编译

[项目A] 导出 qdb

① 选择 Project 菜单 > 导出 Export Design Partition。
② 在 Export Design Partition 对话框中指定各项。

wKgaombG-lOAMEpBAABD07GoXdw218.jpg

wKgZombG-lOANJwvAADg-qZe7qg534.jpg

③ 完成以上设置后,单击 OK 按钮,在指定文件夹中生成所需 entity 的 qdb 文件。需要注意,如果在 Design Partitions Window 中将 .qdb 设置为 Post Synthesis Export File 或 Post Final Export File,那么每次执行编译时都可以自动生成指定的分区。

wKgaombG-lOAMlfZAABzIaQlbjo653.jpg

[项目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 结构。

wKgaombG-lKAZLWAAAAzQr7uXKw576.jpg

创建 [项目B]分区

在 Project Navigator 窗口中,右键单击 black box entity 并选择 Design Partition > Default (在 Type 下)。

wKgZombG-lKAbtx5AAB3l-KOP4I153.jpg

[项目B] 导入 qdb

① 显示 Design Partitions Window (Assignments 菜单)。
② 双击相关分区的分 Partition Database File 字段,使用浏览按钮选择 [项目A] 中生成的文件,指定 .qdb 文件。

wKgZombG-lKAQ_9nAAB6o5qAzQ4764.jpg

[项目B] 编译执行

在 Compilation Dashboard 中运行编译。执行后,检查编译报告中的编译结果,确认所需的分区已成功应用到 [项目B],同时继承了 [项目A] 的布局布线,这样就完成了核心分区工作流程。

根分区工作流程

下图是根分区复用的过程流程图:

wKgaombG-lOAXKDSAABzWumDsFY638.jpg

[项目A] 创建核心分区 (类型:Reserved Core)

① 运行 Analysis & Elaboration。
② 显示用于创建分区的 Design Partitions Window (Assignments 菜单)。
③ 在 Project Navigator 窗口中,右键单击要为其创建分区的 entity,然后选择 Design Partition > Reserved Core (在 Type 下)。

wKgaombG-lOAI_KAAACWKW_7MjU407.jpg

④ 为 Design Partitions Window 中的顶部 entity 生成 Post Synthesis Export File 或 Post Final Export File 指定 .qdb 文件。

wKgZombG-lOAB9eGAABw51nenIs323.jpg

如果要将 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 将启动。

wKgZombG-lOAD6ZkAABfALFmpI0219.jpgwKgZombG-lOAAja7AAAO2CdRSMA650.jpg

[项目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 文件。

wKgZombG-lOAF0tXAAAq5VTHch4593.jpg

[项目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
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59646
  • quartus
    +关注

    关注

    16

    文章

    170

    浏览量

    74555
  • 网表
    +关注

    关注

    0

    文章

    14

    浏览量

    7623

原文标题:如何将布局受限的从属 entity 应用到另一个项目 (专业版)

文章出处:【微信号:骏龙电子,微信公众号:骏龙电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    探讨如何将机器学习应用到物联网中

    项目探讨如何将机器学习(Machine learning)应用到物联网(IoT,Internet of Things)中。我们将使用 Android Things 作为我们的物联网平台,并且采用
    的头像 发表于 05-23 09:24 8946次阅读

    如何将PIC引脚的合成频率输出到另一个设备?

    执行数学来转换比率。我把输入的TMR1H,TMR1L值乘以1000,然后DIVID。E 24位的结果是1787。数字在LCD显示器上都OK,但是如何将另一个PIC引脚(0~111.88 88赫兹
    发表于 10-23 15:55

    怎么7系列收发器同步到另一个

    嗨,如何将7系列收发器转移到另一个7系列收发器?我正在使用12G SDI视频收发器,它在
    发表于 10-30 18:03

    如何将信号从示意页面到另一个

    如何将信号从示意页面到另一个?我知道我可以使纸张更大,但是我知道连接器的符号,所以我想知道如何使用它。肖恩 以上来自于百度翻译 以下为原文How do I take signa
    发表于 03-22 12:51

    如何将MHC设置从项目复制/传输到另一个项目

    我有三套PCB代码:生产、工厂测试和实验。这三套都应该有相同的MHC设置。我如何将MHC设置从项目复制/传输到另一个
    发表于 07-23 06:28

    如何将数据从SDI通道路由到另一个SDI通道

    嗨,KC705评估板中有4SDI通道。我想知道如何将通道上的SDI数据作为RX通过MGT收发器引脚路由到另一个SDI通道作为TX也通过
    发表于 05-20 14:52

    如何将Virtex 5 LVPECL_25连接到另一个设备的3.3v lvpecl?

    如何将Virtex 5 LVPECL_25连接到另一个设备的3.3v lvpecl?谢谢!
    发表于 06-12 09:07

    请问如何将Swift语言应用到MCU开发中?

    请问如何将Swift语言应用到MCU开发中?
    发表于 02-11 07:30

    如何将自定义容器从GFX项目导出到另一个GFX项目

    我想将自定义容器从 GFX 项目导出到另一个 GFX
    发表于 12-14 07:20

    可以TouchGFX项目之间的屏幕、对象和交互复制到另一个项目吗?

    您可以 TouchGFX 项目之间的屏幕、对象和交互复制到另一个项目吗?我尝试了 Ctrl
    发表于 01-10 06:08

    如何将MCU应用到FPGA中:关于FPGA(1)

    最近,我接手项目,这个项目不仅要求我使用FPGA,而且还要求我使用功能更强大的ARM。这都是我从未接触过的领域。在这个系列博客中,我
    发表于 05-08 15:41 3879次阅读

    如何将转换器设计指标应用到 Fly-Buck 电路设计中

    本博客共分两部分,第 1 部分我们探讨了使 Fly-Buck 设计稳定所需的重要设计指标。本文我们介绍如何将这些设计指标应用到 Fly-Buck 电路设计中,以及这会对转换器工作产
    的头像 发表于 01-28 09:24 1466次阅读
    <b class='flag-5'>如何将</b>转换器设计指标<b class='flag-5'>应用到</b> Fly-Buck 电路设计中

    数据从云迁移到另一个云的有效工具

    不需要导出Webmail账户的全部数据的完整数据。您可以获取筛选选项,通过这些选项可以防止把不需要的项目云账户转移到另一个云平台。
    的头像 发表于 01-30 16:24 1260次阅读

    如何将ChatGPT的能力蒸馏到另一个大模型

    如何将ChatGPT的能力蒸馏到另一个大模型,是当前许多大模型研发的研发范式。当前许多模型都是采用chatgpt来生成微调数据,如self instruct,然后加以微调,这其实也是种数据蒸馏
    的头像 发表于 06-12 15:06 807次阅读
    <b class='flag-5'>如何将</b>ChatGPT的能力蒸馏到<b class='flag-5'>另一个</b>大模型

    如何将大模型应用到效能评估系统中去

    如何将大模型应用到效能评估系统中去 智慧华盛恒辉效能评估系统大数据的应用效能评估系统及其评估方法,以应用基础数据和应用运行数据为基础,从数据开放集约能力、用户认可度、平安运行能力和运维保障支持四
    的头像 发表于 09-27 16:16 485次阅读