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

    文章

    29

    浏览量

    17190
  • Vivado
    +关注

    关注

    19

    文章

    803

    浏览量

    66180

原文标题:Vivado—DCP复用

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

收藏 人收藏

    评论

    相关推荐

    Vivado使用小技巧

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

    Vivado编辑器乱码问题

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

    Vivado 2024.1版本的新特性(2)

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

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式发布,今天我们就来看看新版本带来了哪些新特性。
    的头像 发表于 09-18 10:30 673次阅读
    <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 485次阅读

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

    光纤通信中通常使用的是波分复用(WDM),它是一种在光纤中利用不同波长的光信号来实现多信道复用的技术。
    的头像 发表于 05-12 15:22 1206次阅读

    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 2157次阅读

    如何禁止vivado自动生成 bufg

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

    Vivado时序问题分析

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

    VIVADO安装问题解决

    vivado出现安装问题刚开始还以为是安装路径包含中文空格了,重装的注意了一下,发现还是这个问题。。。。后来又一顿操作猛如虎,终于发现了问题。出这个问题的原因是vivado压缩包解压的路径包含中文了把解压文件放到不含中文的地方,再重新安装,安装路径也不能含中文。然后。。。
    发表于 12-22 10:56 0次下载

    VIVADO软件使用问题总结

    【关键问题!!!!重要!!!】VIVADO会在MESSAGE窗口出提示很多错误和警告信息!
    的头像 发表于 12-15 10:11 1701次阅读
    <b class='flag-5'>VIVADO</b>软件使用问题总结

    使用Vivado高层次综合(HLS)进行FPGA设计的简介

    电子发烧友网站提供《使用Vivado高层次综合(HLS)进行FPGA设计的简介.pdf》资料免费下载
    发表于 11-16 09:33 0次下载
    使用<b class='flag-5'>Vivado</b>高层次综合(HLS)进行FPGA设计的简介