当前位置: 首页 > news >正文

【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工程,即可实现按键消抖模块的功能,此时本工程中以及删除掉了按键消抖功能的全部代码,只有按键消抖模块的网表文件。
    以上就是网表文件封装的完整示例。

相关文章:

  • 仪器器材企业网站搭建的作用是什么
  • 测试用例设计方法六脉神剑——第四剑:石破天惊,功能图法攻阵
  • 智能优化算法应用:基于鸽群算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 自定义Axure元件库及原型图泳道图的绘制(详细不同类的案例)
  • Springboot整合Redis实现消息发布订阅
  • 做数据分析为何要学统计学(2)——如何估计总体概率分布
  • 我们一起做过的SPA——Nuxt.js介绍
  • 类MS Word 的文档处理控件TX Text Control x32 新版本抢先看!
  • 【智能家居】八、监控摄像采集、人脸识别比对进行开门功能点
  • 「公主文学」八大热点内容数据洞察(小红书)
  • 80后喜欢的经典老歌歌单总结,你最爱的是哪一首?
  • OpenCV-Python15:图像阈值处理
  • ​flutter 代码混淆
  • 《从入门到精通:AJAX基础知识解析,前端开发中利器》基础篇
  • 值得收藏:一份完整的Mysql高性能优化规范建议
  • ES6指北【2】—— 箭头函数
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • @angular/forms 源码解析之双向绑定
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • css的样式优先级
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • idea + plantuml 画流程图
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js中的正则表达式入门
  • Less 日常用法
  • nfs客户端进程变D,延伸linux的lock
  • oschina
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • v-if和v-for连用出现的问题
  • 阿里云应用高可用服务公测发布
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 关于for循环的简单归纳
  • 两列自适应布局方案整理
  • 手机端车牌号码键盘的vue组件
  • 我看到的前端
  • 小程序测试方案初探
  • 正则与JS中的正则
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​什么是bug?bug的源头在哪里?
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (java)关于Thread的挂起和恢复
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (初研) Sentence-embedding fine-tune notebook
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (十五)使用Nexus创建Maven私服
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .Net Core缓存组件(MemoryCache)源码解析
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径