【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工程,即可实现按键消抖模块的功能,此时本工程中以及删除掉了按键消抖功能的全部代码,只有按键消抖模块的网表文件。
    以上就是网表文件封装的完整示例。
相关推荐
高速上的乌龟11 小时前
Lattice LFCPNX-100 HSB+Fpga开发详解:2.3 Hololink 顶层模块深度全解析
linux·fpga开发
Ricky055314 小时前
搭载实时 FPGA 处理系统的航天器上用于海上监视的超分辨率YOLO目标检测技术(意大利2026年研究)
yolo·目标检测·fpga开发
kaizq15 小时前
在线设计模仿平台StepFPGA应用实践
fpga开发·verilog编程·在线设计仿真·小脚丫stepfpga·图形化设计·risc-v_soc·ima-copilot-ds
cjie22119 小时前
图像缩放需要哪些参数和端口
计算机视觉·fpga开发
思尔芯S2C19 小时前
FPGA Prototyping That Creates Useful Pre-Silicon Evidence
fpga开发
啄缘之间20 小时前
10.【学习】SPI & UART 验证环境与测试用例
开发语言·经验分享·学习·fpga开发·测试用例·verilog
liuluyang5302 天前
SV中|-> 和 |=>的区别与关系
fpga开发·sva
A000—ic测试座(陈佳鑫)2 天前
大电流FPGA芯片测试:特性、应用、测试条件与FPGA芯片测试座案例
fpga开发·测试用例
Saniffer_SH2 天前
【每日一题】不只是点亮画面:UniGraf 如何把 HDMI/DP 接口问题拆成可定位、可复现、可自动化验证的测试流程?
运维·人工智能·测试工具·fpga开发·性能优化·自动化·压力测试
liuluyang5302 天前
SV中#和##的区别与用法
fpga开发·sva