Vivado IP核的综合模式:Global以及Out of context的区别理解
提出问题
从接触FPGA生成第一个IP核开始,就遇到一个选择的问题,定制完成IP核后,最有一页会有一个选择综合模式的问题,有两个选择,一个是Global,另一个是Out of Context,是什么意思呢?
你可以不用管它,默认的选择是Out of Context是不会坑你的!默认的也是软件推荐的方式。
今天为了加深理解,来理解下这两种综合方式的区别。
问题解释
通俗解释
参考互联网上的多家之言,可以这么去理解;
Global:
从字面意思上看,Global可以翻译为全局的方式,也就是说,此IP核生成之后,和用户编辑的逻辑一起综合,且每次逻辑变动之后都要重新综合;这就是问题关键了,这样的操作的一个缺点就是我的IP核本身定制好了是不需要更改的,可是用户逻辑每次变动一次,重新综合的时候,连带我的IP核也要重新综合,这样岂不是白白浪费时间!确实如此,于是就可以选择另一种方式解决这个问题,Xilinx推荐使用的Out of Context综合方式。
Out of Context:
这样方式可以字母直译为每个IP脱离上下文,什么意思呢?就是非全局呗。
只要IP核不改动,那么我的IP在定制完成之后综合一次,以后无论你怎么变动用户逻辑,我的IP都不会重新综合。
由于不需要每次都重新综合,这样就会大大减小每次综合的时间,这对于FPGAer来说,是十分重要的。
更多理解
稍微了解Vivado编译过程的人都知道,在FPGA综合,实现的过程中都会生成dcp文件,从这个角度来看Out-Of-Context与Global synthesis之间的区别:
看下这张图:
可见,如果按照Global模式,如下图:
IP文件和顶层一起综合。
如果采用OOC模式,则会产生DCP文件:
它单独综合出一个网表文件和一个stub文件,在实现过程中,这个IP的网表和顶层文件产生的网表一起参与实现。
OOC模式下的输出文件为:
本文参考数据手册:ug896,随意翻阅,理解甚浅,抛砖引玉!
参考文献
generate output products - difference between ‘Global’ and ‘Out of context per IP’
Disadvantages of “Out Of Context” synthesis
文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。
原文链接:reborn.blog.csdn.net/article/details/108295992
- 点赞
- 收藏
- 关注作者
评论(0)