详解vivado网表文件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进入下一步。如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EVf67eLJ-1607069217232)(file:///C:\Users\Lirensan\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPrPVN6D-1607069217236)(file:///C:\Users\Lirensan\AppData\Local\Temp\msohtmlclip1\01\clip_image004.jpg)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b03SMIb2-1607069217239)(file:///C:\Users\Lirensan\AppData\Local\Temp\msohtmlclip1\01\clip_image005.png)]

4 DCP文件的调用

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WULUmIE3-1607069217244)(file:///C:\Users\Lirensan\AppData\Local\Temp\msohtmlclip1\01\clip_image007.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQSrJv1Z-1607069217247)(file:///C:\Users\Lirensan\AppData\Local\Temp\msohtmlclip1\01\clip_image009.jpg)]

5 DCP文件生成的注意事项

DCP的注意事项如下:

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

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

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风中月隐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值