Vivado BDC (Block Design Container)怎么用

描述

谈到BDC(Block DesignContainer)就不得不提IPI(IP Integrator)。IPI常被翻译为“IP集成器”,也是有道理的。它提供了一种“图形化+模块化”的设计方式。若用过Simulink或者System Generator,对此应该不会陌生,毕竟都是向设计中添加“Block”,故IPI设计的文件后缀为.bd。

这种方式最大的好处是直观,同时简化了互连操作。

Vivado早期版本IPI中的“Block”必须是来自于IP Catalog中的IP,所以对于用户的RTL代码就必须先用IP Packager封装为IP,然后才能添加到IPI中。这就带来了一个问题:封装IP的过程是严格的、耗时的,尽管它可以提升设计的可复用性。

为此,Vivado又增加了一个新特性:可以将RTL代码描述的模块直接添加到Block Design中。用户可以在打开的Block Design中点右键,选择Add Module,也可以在Sources窗口中找到相应的RTL代码文件,点右键选择Add Module to Block Design,还可以直接将RTL代码文件直接拖拽到打开的Block Design中。

同时,被引用的RTL代码可支持实例化绝大多数IPCatalog中的IP。另外,若RTL代码中声明了参数(VHDL:generic,或Verilog:parameter),当其被引用到Block Design中之后,这些参数也是可以重新定制的:双击模块,即可进入参数编辑状态。包含RTLReference Module的Block Design也可以被其他工程使用,从而实现设计复用。

需要注意的是在新工程中要先将RTL Reference Module对应的RTL代码文件添加到工程中,然后再添加相应的.bd文件。RTL Reference Module是有一些限制条件的,包括:RTL代码中不能以网表形式存在的子模块,也不能包含其他Block Design或者被设置为OOC综合的模块;目前仅支持VHDL和Verilog,还不支持SystemVerilog。对于包含RTL Reference Module的Block Design,Vivado无法再将其通过IP Packager封装为IP的。

编辑:jq

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分