0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vivado—DCP复用

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-07-04 09:37 次阅读

先看一个简单的example project,里面包含两个verilog文件:

84fb2484-fb2e-11ec-ba43-dac502259ad0.png

858547b8-fb2e-11ec-ba43-dac502259ad0.png

在顶层top里,我们例化了一个adder模块,adder为一个简单的加法器。当我们把这两个文件导入VIvado后即可进行正常的布局布线。

那么问题来了,假设adder是我的一个核心设计(加法器代表一下哈),当其他人想使用我这个adder IP时我不想交付给对方源代码,那么我应该如何做呢?

交付DCP!

何为DCP

在Vivado的设计流程各个阶段里,采用统一的数据模型:DCP(design checkpoint),在Vivado的设计流程里,无论是综合还是布局布线的各个阶段,工具都会生成DCP文件,每一步的执行设计输入均为上一阶段的DCP文件(综合阶段除外)。那么当我们想把adder以网表形式进行交付时,我们就可以生成对应的综合后的DCP文件,随后将DCP文件交付给合作方即可。

甲方:DCP制作流程

在我们的设计中,我们把adder这个模块作为设计的顶层:

85b07cb2-fb2e-11ec-ba43-dac502259ad0.png

随后进行综合,当完成后,我们会在对应的目录下看到生成了adder的DCP文件:

85ddcef6-fb2e-11ec-ba43-dac502259ad0.png

同时,我们准备一个我们adder对应的设计顶层:

85feebd6-fb2e-11ec-ba43-dac502259ad0.png

这里的adder模块不包含任何设计代码,仅包含端口声明。同时我们将这个模块声明为“black_box”

随后,我们就可以把这个DCP文件和black box文件交付给别人使用了,而不用担心我们的源代码泄漏。

乙方:DCP的使用

当我们拿到别人的DCP文件和black box端口声明文件后,我们还需要准备一个tcl文件:

861c70ca-fb2e-11ec-ba43-dac502259ad0.png

tcl文件中制定了adder.dcp的读取位置。

随后,我们将balck box文件和tcl文件导入到我们的设计中,top.v文件保持不变:

8631a198-fb2e-11ec-ba43-dac502259ad0.png

随后我们在Implement Setting中的opt_Desing中的tcl.pre中关联导入的balck.tcl文件:

864a4b26-fb2e-11ec-ba43-dac502259ad0.png

Finally,我们就可以进行正常的综合及布局布线了,布局布线完成后我们得到的网表和正常工程一模一样。

867a4e16-fb2e-11ec-ba43-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DCP
    DCP
    +关注

    关注

    0

    文章

    30

    浏览量

    17229
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66478

原文标题:Vivado—DCP复用

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Xilinx_Vivado_SDK的安装教程

    I Agree,然后点击 Next: 选择 Vivado HL System Edition(一般选择这个设计套件比较完整,它比 Vivado HL Design Edition 多了一个 System Generator for DSP with Mat
    的头像 发表于 11-16 09:53 818次阅读
    Xilinx_<b class='flag-5'>Vivado</b>_SDK的安装教程

    每次Vivado编译的结果都一样吗

    很多FPGA工程师都有这种困惑,Vivado每次编译的结果都一样吗? 在AMD官网上,有这样一个帖子: Are Vivado results repeatable for identical
    的头像 发表于 11-11 11:23 317次阅读
    每次<b class='flag-5'>Vivado</b>编译的结果都一样吗

    Vivado使用小技巧

    有时我们对时序约束进行了一些调整,希望能够快速看到对应的时序报告,而又不希望重新布局布线。这时,我们可以打开布线后的dcp,直接在Vivado Tcl Console里输入更新后的时序约束。如果调整
    的头像 发表于 10-24 15:08 307次阅读
    <b class='flag-5'>Vivado</b>使用小技巧

    Vivado编辑器乱码问题

    ,但是在Vivado里面打开用sublime写的代码之后,经常出现中文乱码,让人很不舒服。究其原因就是一般来说第三方的编辑器是采用utf8的编码方式,而vivado的text editor不是这种方式。
    的头像 发表于 10-15 17:24 726次阅读
    <b class='flag-5'>Vivado</b>编辑器乱码问题

    Vivado 2024.1版本的新特性(2)

    从综合角度看,Vivado 2024.1对SystemVerilog和VHDL-2019的一些特性开始支持。先看SystemVerilog。
    的头像 发表于 09-18 10:34 856次阅读
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(2)

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式发布,今天我们就来看看新版本带来了哪些新特性。
    的头像 发表于 09-18 10:30 1307次阅读
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(1)

    数字式程序调节器DCP31使用说明书

    电子发烧友网站提供《数字式程序调节器DCP31使用说明书.pdf》资料免费下载
    发表于 09-04 11:22 0次下载

    密集波分复用和稀疏波分复用的区别

    密集波分复用(DWDM, Dense Wavelength Division Multiplexing)和稀疏波分复用(CWDM, Coarse Wavelength Division
    的头像 发表于 08-09 11:18 681次阅读

    光纤是波分复用还是频分复用?波分复用和频分复用有什么不同?

    光纤通信中通常使用的是波分复用(WDM),它是一种在光纤中利用不同波长的光信号来实现多信道复用的威廉希尔官方网站 。
    的头像 发表于 05-12 15:22 1578次阅读

    CWDM(粗波分复用)和DWDM(密集波分复用)有什么区别?

    波分复用(WDM),包括CWDM(粗波分复用)和DWDM(密集波分复用)等。是指将多个不同波长的信号耦合在一条光纤上同时传输。
    的头像 发表于 05-01 16:30 3442次阅读
    CWDM(粗波分<b class='flag-5'>复用</b>)和DWDM(密集波分<b class='flag-5'>复用</b>)有什么区别?

    Vivado 使用Simulink设计FIR滤波器

    ,用户可直接在simulink下综合出网表和约束文件,打包至.dcp文件中,用户可在vivado下直接加载dcp文件调用模型。 4、直接在vivado中添加模型文件(推荐)。
    发表于 04-17 17:29

    使用P4和Vivado工具简化数据包处理设计

    电子发烧友网站提供《使用P4和Vivado工具简化数据包处理设计.pdf》资料免费下载
    发表于 01-26 17:49 0次下载
    使用P4和<b class='flag-5'>Vivado</b>工具简化数据包处理设计

    什么是时分复用TDM?时分复用类型 时分复用优劣势

    什么是时分复用TDM?时分复用类型 时分复用优劣势  时分复用TDM是一种常见的多路复用威廉希尔官方网站 ,用于将多个低速信号合并成一个高速信号在传输线路
    的头像 发表于 01-16 16:03 2699次阅读

    如何禁止vivado自动生成 bufg

    Vivado中禁止自动生成BUFG(Buffered Clock Gate)可以通过以下步骤实现。 首先,让我们简要了解一下什么是BUFG。BUFG是一个时钟缓冲器,用于缓冲输入时钟信号,使其更稳
    的头像 发表于 01-05 14:31 2167次阅读

    Vivado时序问题分析

    有些时候在写完代码之后呢,Vivado时序报红,Timing一栏有很多时序问题。
    的头像 发表于 01-05 10:18 2121次阅读