揭秘DCP

=============================

在上一篇文章中我们介绍了Vivado采用了同一的数据库模型,即DCP(Design Checkpoint)。在综合和实现的各个子步骤(opt_design、place_design和route_design)之后都会生成相应的.dcp文件。那么它和我们传统意义的网表文件有什么差异呢。

以Vivado自带的例子工程wavegen为例。这个设计中有两个IP:char_fifo和clk_gen,两者均采用OOC的综合方式。我们可以通过7-zip软件将synth_design、opt_design,、place_design和route_design生成的.dcp文件解压。首先对比一下synth_design和opt_design生成的.dcp文件,如下图所示。

从该图中可以看到,相比于综合后的.dcp,opt_design生成的.dcp内部包含了约束文件,这意味着,如果需要对.dcp进行策略扫描,最好直接提供opt_design生成的.dcp,因为这样不必再单独提供约束文件。两者的共同之处:都包含.edf文件,这是标准的网表文件。尽管这两个.edf文件名相同,但内容是不同的。在Vivado Tcl模式下,执行如下两条命令(命令中的.dcp文件为综合后的.dcp文件):

open_checkpoint wave_gen.dcp

opt_design

opt_design失败,并会显示如下错误信息,可以看到char_fifo和clk_gen是黑盒子。

进一步,打开综合后.dcp解压生成的.edf文件,从中可以找到如下信息:

可以看到综合后生成的网表文件把采用OOC综合的IP当做黑盒子处理了。

对比opt_design、place_design和route_design生成的.dcp,其解压后的结果如下图所示。可以看到文件类型是一致的。

如果需要综合后生成的.dcp文件包含采用OOC综合的IP而不是把这些IP当做黑盒子处理,可以首先打开Vivado工程,再选择Open Synthesized Design,然后在Tcl console中执行write_checkpoint wavegen_syn.dcp即可。此时生成的.dcp也包含了相应的约束文件,解压后的文件类型与opt_design生成.dcp解压后的结果一致。

结论:

-综合后生成的.dcp文件会把以OOC方式综合的IP当作黑盒子处理

-如果希望综合后生成的.dcp包含以OOC方式综合的IP以及工程中使用的约束文件,可以打开综合后的设计,通过write_checkpoint命令重新生成.dcp即可

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180720G093LG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券