談到BDC(Block DesignContainer)就不得不提IPI(IP Integrator)。IPI常被翻譯為“IP集成器”,也是有道理的。它提供了一種“圖形化+模塊化”的設(shè)計(jì)方式。若用過Simulink或者System Generator,對(duì)此應(yīng)該不會(huì)陌生,畢竟都是向設(shè)計(jì)中添加“Block”,故IPI設(shè)計(jì)的文件后綴為.bd。
這種方式最大的好處是直觀,同時(shí)簡(jiǎn)化了互連操作。
Vivado早期版本IPI中的“Block”必須是來自于IP Catalog中的IP,所以對(duì)于用戶的RTL代碼就必須先用IP Packager封裝為IP,然后才能添加到IPI中。這就帶來了一個(gè)問題:封裝IP的過程是嚴(yán)格的、耗時(shí)的,盡管它可以提升設(shè)計(jì)的可復(fù)用性。
為此,Vivado又增加了一個(gè)新特性:可以將RTL代碼描述的模塊直接添加到Block Design中。用戶可以在打開的Block Design中點(diǎn)右鍵,選擇Add Module,也可以在Sources窗口中找到相應(yīng)的RTL代碼文件,點(diǎn)右鍵選擇Add Module to Block Design,還可以直接將RTL代碼文件直接拖拽到打開的Block Design中。
同時(shí),被引用的RTL代碼可支持實(shí)例化絕大多數(shù)IPCatalog中的IP。另外,若RTL代碼中聲明了參數(shù)(VHDL:generic,或Verilog:parameter),當(dāng)其被引用到Block Design中之后,這些參數(shù)也是可以重新定制的:雙擊模塊,即可進(jìn)入?yún)?shù)編輯狀態(tài)。包含RTLReference Module的Block Design也可以被其他工程使用,從而實(shí)現(xiàn)設(shè)計(jì)復(fù)用。
需要注意的是在新工程中要先將RTL Reference Module對(duì)應(yīng)的RTL代碼文件添加到工程中,然后再添加相應(yīng)的.bd文件。RTL Reference Module是有一些限制條件的,包括:RTL代碼中不能以網(wǎng)表形式存在的子模塊,也不能包含其他Block Design或者被設(shè)置為OOC綜合的模塊;目前僅支持VHDL和Verilog,還不支持SystemVerilog。對(duì)于包含RTL Reference Module的Block Design,Vivado無法再將其通過IP Packager封裝為IP的。
編輯:jq
-
Verilog
+關(guān)注
關(guān)注
28文章
1345瀏覽量
109989 -
vhdl
+關(guān)注
關(guān)注
30文章
816瀏覽量
128081 -
OOC
+關(guān)注
關(guān)注
0文章
4瀏覽量
4782
原文標(biāo)題:Vivado BDC (Block Design Container)怎么用?
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論