談到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瀏覽量
110187 -
vhdl
+關注
關注
30文章
817瀏覽量
128205 -
OOC
+關注
關注
0文章
4瀏覽量
4811
原文標題:Vivado BDC (Block Design Container)怎么用?
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論