赞
踩
前面一篇文章介绍了Xilinx FPGA平台下如何封装用户的源代码,形成网表文件的操作教程,具体见:
使用Vivado将包含Xilinx IP的用户模块封装成网表文件(也适用不包含Xilinx IP的用户模块)
今天就来讲一讲在Altera/Intel FPGA平台下如何封装用户的源代码,形成网表或加密文件并在其他工程中调用的具体实现。
本文共分为两部分,每部分各两小节,详细叙述Quartus17.0及之前版本的网表文件(.qxp文件)产生及调用过程、Quartus17.1及之后版本的网表文件(.qdb文件)产生及调用过程。
如果出于安全原因要保密设计文件,一种选择是使用Quartus®II导出分区文件(.qxp)来创建后合成或后拟合网表,而不包括任何源设计文件。这些增量编译功能需要完整的Quartus II订阅许可证(并且不包含在免费的网络版许可证中)。请参阅下面的“相关解决方案”,以获取其他替代方法和其他相关信息。
将设计作为附件发送的步骤。Quartus II手册的“基于层次和基于团队的设计的Quartus II增量编译 ”一章中的“使用导出的分区发送设计而不包含源文件”部分中记录了qxp文件,该文件包含在此处,以方便使用。
要导出完整的设计或设计的一部分以供其他人重复使用,请创建一个设计分区,将其导出,然后收件人将分区导入到一个新项目中。要使用增量流程的这一简单方面,您不必创建任何其他设计分区或为项目添加平面布置图分配。有关使用增量编译命令的更多详细信息,请参阅手册章节。
在Quartus II软件7.2 SP3和更早版本中,您必须发送一个空的黑匣子模块/实体定义,其中列出了设计模块的端口宽度和方向。从8.0版开始不需要这样的文件。
打开包含待封装模块的工程,并至少完成综合阶段,即至少完成下图中“1”所示过程,然后就可以看到整个工程的层级结构。
若待封装的模块就是该工程的顶层,那么直接进入步骤2.
否则按照序号顺序执行,其中假定“2”为待封装模块。完成“4”指示步骤后我们会看到在待封装模块的后面出现“6”指示的图标。然后需要再次执行综合过程,即至少完成下图中“1”所示过程。
当工程的顶层即为待封装模块时,按照下图所示,点击“Export Design Partition”,然后点击“OK”,网表文件.qxp将会在指定路径下生成。
当工程的顶层不是待封装模块时,按照下图所示,点击“Export Design Partition”,再弹出的对话框中选择要生成的网表模块,然后点击“OK”,网表文件.qxp将会在指定路径下生成。注意,top之外的层级只有在步骤1中设置了“Set as Design Partition”并执行综合阶段后才会在下拉列表中显示出来。
现在,您具有使用原始设计网表的完整设计,但不包括源设计文件。该项目包括导入的作业以及中包含的所有编译后信息.qxp文件。
当调用上述生成的网表文件时,只需提供.qxp即可,另外,在代码中调用时和一般情况一样。
将.qxp添加到工程中的方法:
打开工程的.qsf脚本,并在其中加入下述代码:
set_global_assignment -name QXP_FILE xxxxx.qxp
英特尔Quartus Prime专业版用户指南:基于块的设计 —英文版
相关内容:1.5. Design Block Reuse Flows
中文版 中文版 中文版 ----提醒三遍哦
Intel Quartus Prime Pro Edition用户指南: 设计编译 ----中文版
相关内容:1.6. 导出编译结果
使用Quartus将用户模块封装成网表文件:Quartus17.0及之前版本.qxp文件、Quartus17.1及之后版本.qdb文件(下)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。