详解vivado网表文件DCP文件的封装生成、使用与注意事项

目录

  • 1 概述
  • 2 DCP文件简介
  • 3 DCP文件的封装生成
  • 4 DCP文件的调用
  • 5 DCP文件生成的注意事项

1 概述

本文是用于记录vivado中当需要加密源代码时,封装生成DCP文件,与dcp文件的使用过程。

2 DCP文件简介

DCP文件是vivado独有的一种相当于fpga设计中的hdl源文件的加密压缩文件。其有两个作用:

  1.    加密,可以有效保护自己的知识产权,在不想共享源文件又不得不给运行demo时非常有效;
    
  2.    压缩,并不是每一个文件都需要单独生成一个DCP文件,一个工程生成1个即可,加载替换时很方便;
    

3 DCP文件的封装生成

首先建议将需要生成dcp的代码单独建立一个工程,保证代码的独立性,整洁性。然后按下面步骤进行:

第一步,在settings/synthesis/options/more Options*中,填写-mode out_of_context。然后点击ok进入下一步。如下图所示:

详解vivado网表文件DCP文件的封装生成、使用与注意事项_第1张图片

​ 第二步,将需要生成的文件设置为顶层,然后点击综合,等待综合完成。如下图所示:

详解vivado网表文件DCP文件的封装生成、使用与注意事项_第2张图片

第3步,在工程文件的xx.runs/synth_1/文件夹下找到需要的xx.dcp文件。其名字和代码的顶层文件名字相同。如下图所示:

详解vivado网表文件DCP文件的封装生成、使用与注意事项_第3张图片

4 DCP文件的调用

DCP文件的调用与生成这个文件的源文件调用方式相同。即这个xx.dcp文件就是替换之前的xx.v或者xx.vhd文件。

比如这里的arinc818_rx_analysis_pkt.v文件生成的arinc818_rx_analysis_pkt.dcp文件的调用。就是用的调用arinc818_rx_analysis_pkt.v的形式。如下图所示:

详解vivado网表文件DCP文件的封装生成、使用与注意事项_第4张图片

详解vivado网表文件DCP文件的封装生成、使用与注意事项_第5张图片

5 DCP文件生成的注意事项

DCP的注意事项如下:

  1. DCP文件不能传参,即不能通过parameter在顶层赋值常数,且想通过parameter来修改DCP中的参数;

  2. DCP文件中尽量不要使用xilinx IP,若必须使用则注意修改名字,不要太常见。因为DCP是一个压缩文件,若里面调用了这个IP,外面也有地方调用IP,如IP设置的有点不同就会形成冲突;

  3. 网表文件不能包含需要带license验证的其他ip,如必须有则作为平行模块在更上层调用;因为vivado会识别到这个ip,然后就可能认为这个ip没有定义;

你可能感兴趣的:(FPGA,vivado,dcp文件,FPGA,网表文件)