谈到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
-
Verilog
+关注
关注
28文章
1351浏览量
110085 -
vhdl
+关注
关注
30文章
817浏览量
128129 -
OOC
+关注
关注
0文章
4浏览量
4793
原文标题:Vivado BDC (Block Design Container)怎么用?
文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论