【FPGA】Quartus18.1打包封装网表文件(.qxp)详细教程

2023-12-14 18:01

本文主要是介绍【FPGA】Quartus18.1打包封装网表文件(.qxp)详细教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

当我们在做项目的过程中,编写的底层Verilog代码不想交给甲方时怎么办呢?此时可以将源代码打包封装成网表文件(.qxp)进行加密,并且在工程中进行调用。
Quartus II的.qxp文件为QuartusII Exported Partition,用于创建综合或者PAR之后的网表文件。

一、 .qxp文件打包封装步骤

  • 在QuartusII的Project Navigator中选中欲创建qxp的module文件,右击,选择“Design Partition > Set as Design Partition”。
  • 综合整个工程,想出PAR后的qxp就需要编译整个工程。
  • 点击菜单“Process”,选择“Start > Start Partition Merge”,以创建完整的module网表。
  • 点击菜单“Project”,选择“Export Design Partition”。
  • 在弹出窗口中选择想要的层次和网表选项,即可导出.qxp文件。

二、示例

下面以按键控制LED灯的简单工程为例,展示网表文件封装的详细过程。
本工程用户代码模块分为三部分:

  • key_filter.v:按键消抖模块代码
  • keyLED.v:顶层设计文件
  • led_control.v:LED灯控制模块
    在这里插入图片描述
    接下来将按键消抖模块key_filter.v封装为网表文件。
    1、在QuartusII的Project Navigator中选中欲创建qxp的module文件,右击,选择“Design Partition > Set as Design Partition”。
    在这里插入图片描述
    选择“Design Partition > Set as Design Partition”之后,该module文件右上角会有一个品字形图标,如下:
    在这里插入图片描述
    2、全编译整个工程
    3、点击菜单“Processing”,选择“Start > Start Partition Merge”,以创建完整的module网表。
    在这里插入图片描述
    4、点击菜单“Project”,选择“Export Design Partition”。
    在这里插入图片描述
    5、在弹出窗口中选择想要的层次和网表选项,即可导出.qxp文件。
    首先下拉选择要导出的模块,然后修改导出的文件名,点击OK完成导出,如下:
    在这里插入图片描述
    6、导出成功后,在工程目录下就会生成指定模块的一个.qxp文件,即网表文件
    在这里插入图片描述
    此时,将原本添加到此工程中的key_filter.v按键消抖模块删除,再将刚才封装好的.qxp网表文件添加进工程,实现网表文件导入。
    在这里插入图片描述
    在这里插入图片描述
    还有另外一种导入.qxp文件的方式,如下:
    点击菜单“Project”,选择“Import Design Partition”。
    在这里插入图片描述
    在弹出的窗口中选择要导入的Partition。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    点击OK退出后以下会显示该网表文件的详细信息:
    在这里插入图片描述
    点击OK完成网表文件导入此工程,最后全编译Quartus工程,即可实现按键消抖模块的功能,此时本工程中以及删除掉了按键消抖功能的全部代码,只有按键消抖模块的网表文件。
    以上就是网表文件封装的完整示例。

这篇关于【FPGA】Quartus18.1打包封装网表文件(.qxp)详细教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/493479

相关文章

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri