本文转自:https://blog.csdn.net/u014586651/article/details/110653530
详解vivado网表文件DCP文件的封装生成、使用与注意事项
风中月隐 2020-12-04 16:12:37 107
已收藏 1
分类专栏: FPGA 文章标签: vivado dcp文件 FPGA 网表文件
版权
目录
1 概述
本文是用于记录vivado中当需要加密源代码时,封装生成DCP文件,与dcp文件的使用过程。
2 DCP文件简介
DCP文件是vivado独有的一种相当于fpga设计中的hdl源文件的加密压缩文件。其有两个作用:
-
加密,可以有效保护自己的知识产权,在不想共享源文件又不得不给运行demo时非常有效;
- 1
-
压缩,并不是每一个文件都需要单独生成一个DCP文件,一个工程生成1个即可,加载替换时很方便;
- 1
3 DCP文件的封装生成
首先建议将需要生成dcp的代码单独建立一个工程,保证代码的独立性,整洁性。然后按下面步骤进行:
第一步,在settings/synthesis/options/more Options*中,填写-mode out_of_context。然后点击ok进入下一步。如下图所示:
第二步,将需要生成的文件设置为顶层,然后点击综合,等待综合完成。如下图所示:
第3步,在工程文件的xx.runs/synth_1/文件夹下找到需要的xx.dcp文件。其名字和代码的顶层文件名字相同。如下图所示:
4 DCP文件的调用
DCP文件的调用与生成这个文件的源文件调用方式相同。即这个xx.dcp文件就是替换之前的xx.v或者xx.vhd文件。
比如这里的arinc818_rx_analysis_pkt.v文件生成的arinc818_rx_analysis_pkt.dcp文件的调用。就是用的调用arinc818_rx_analysis_pkt.v的形式。如下图所示:
5 DCP文件生成的注意事项
DCP的注意事项如下:
-
DCP文件不能传参,即不能通过parameter在顶层赋值常数,且想通过parameter来修改DCP中的参数;
-
DCP文件中尽量不要使用xilinx IP,若必须使用则注意修改名字,不要太常见。因为DCP是一个压缩文件,若里面调用了这个IP,外面也有地方调用IP,如IP设置的有点不同就会形成冲突;
-
网表文件不能包含需要带license验证的其他ip,如必须有则作为平行模块在更上层调用;因为vivado会识别到这个ip,然后就可能认为这个ip没有定义;