【GAOPS034】dcp edif


https://blog.csdn.net/qijitao/article/details/51720794
https://zhuanlan.zhihu.com/p/137906616
https://blog.csdn.net/kkg89/article/details/105172978

Vivado的checkpoint,简称dcp
在project流程中,Vivado会自动保存dcp,同时对于大多数IP Core,Vivado也会自动生成dcp。
在non-project流程中,Vivado需要手动输入命令才能生成dcp。
dcp本身其实就是一个压缩文件,使用常用的zip,winrar压缩工具都可以打开该文件。
dcp文件中保存了设计中的所有信息。使用Vivado可以直接打开。
优点:
1.便于提交设计,ISE时代需要移交很多不同的文件,而Vivado只需要一个文件。
2.便于分析,独立的dcp文件包含了完整的设计信息,便于存档,及单独打开进行分析。
3.同一个工程如果需要进行不同的处分析,可以使用dcp进行,而不需要将整个工程复制多次,
  即拖慢了Vivado的加载速度,也消耗了多余的硬盘空间

我们完成Vivado的工程后,大部分情况不能把整个工程的源代码都直接给客户或者其他工程师,
需要我们先进行一些封装后再给他们,就像软件代码中会编译成dll后再Release给别人。
在Vivado中,常用的三种封装形式有三种:
IP
edif
dcp
这三种封装形式在使用上都是相似的,都是我们只提供模块的接口让用户去调用。
封装成edif
将需要封装的模块设置为顶层模块;
在综合选项中去掉IOBuffer,具体操作为在在综合设置窗口的Options下面最后一项More Options一栏写入-no_iobuf;
综合完成后,Open Synthesized Design,并在TCL Console中输入:

write_edif path/xx.edif
例化时,要保留一个跟edif同名的hdl文件,且文件中只保留module的接口。
封装成dcp
将需要封装的模块设置为顶层模块;
在综合选项中的Options下面最后一项More Options一栏写入-mode out_of_context;
综合完成后,Open Synthesized Design,并在TCL Console中输入:

write_checkpoint -noxdef path/test.dcp
例化时,保留dcp文件即可,如果该dcp文件的接口中有parameter,例化时应该将parameter去掉。
则例化方式如下,不能有包含parameter,否则会报错
封装成edif和dcp的区别
封装edif文件时,不能将XIlinx的IP Core封装在文件中,但dcp文件可以;
例化时的区别,edif是网表文件,例化时需要增加同名的hdl文件,但dcp文件其实就是个压缩文件,例化时只使用dcp文件即可,不需要再加入同名的hdl文件。
封装dcp文件时的注意事项

在将文件设为顶层文件时,接口中的parameter一定记得要修改成实际值。这是因为我们都习惯于在hdl中例化模块时指定parameter的参数,这往往跟模块中的参数值是不一样的;
输入的接口例化时不能悬空,有的接口赋0即可,但有的接口赋0后在Implementation时会报error;
需要额外注意inout接口,很多工程师在使用inout接口时,习惯于自己用hdl来处理,比如I2C的inout接口我们经常会这么写:
assign scl_in = i2c_scl;
assign i2c_scl = i2c_scl_oe ? i2c_scl_o : 1'bz
但这么写的话,生成的dcp在Implementation时会报error,我们要使用Xilinx的IOBUF的原语来处理,改成下面的写法:

IOBUF #( .DRIVE(12), .IBUF_LOW_PWR("TRUE"), .SLEW("SLOW") ) SCL_inst (.O(scl_in),.IO(i2c_scl), .I(i2c_scl_o),.T(~(enable & ~scl_out)));
4. 在我们把文件设为顶层文件后,需要将工程中的约束文件先Disable掉,因此dcp文件中会带有当前工程的约束信息,如果没有Disable掉,那么在例化生成的dcp时会引入新的约束文件

edif需要额外添加一个.v例化文件
dcp文件加载方法和.v文件一样
 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_1615549892

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

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

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

打赏作者

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

抵扣说明:

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

余额充值