Vivado提供了三種封裝IP的方式:(1)將當(dāng)前工程封裝為IP;(2)將當(dāng)前工程中的BD(IPI 設(shè)計(jì))封裝為IP;(3)將指定的文件目錄封裝為IP。
IP Packager支持的輸入文件HDL綜合文件;HDL仿真文件;說明文檔;HDL測(cè)試平臺(tái);例子工程;約束文件;驅(qū)動(dòng);GUI定制文件;BD文件可以看到這里沒有.dcp文件,所以設(shè)計(jì)中如果包含.dcp文件,那么是無法封裝為IP的。
IP Packager輸出文件component.xml文件;用于定制IP界面的.tcl文件(位于封裝IP指定目錄下的xgui文件夾下);其他在封裝IP時(shí)用戶指定包含的文件。
IP Packager對(duì)頂層文件的要求IP Packager要求設(shè)計(jì)頂層必須是VHDL或Verilog文件。如果當(dāng)前設(shè)計(jì)頂層為SystemVerilog,要先將其封裝為Verilog或VHDL文件。 IP Packager對(duì)約束的要求IP Packager支持三種約束文件:
(1)用于綜合和布局布線階段的.xdc;
(2)僅用于布局布線階段的.xdc;
(3)僅用于OOC(Out-of-context)綜合的.xdc 默認(rèn)情形下,。
創(chuàng)建工程后調(diào)用IP,然后對(duì)IP采用OOC的綜合方式,此時(shí)就會(huì)用到僅用于OOC綜合的.xdc。在這個(gè)約束文件里,通常會(huì)包含時(shí)鐘周期約束(create_clock創(chuàng)建的約束)。建議在封裝IP時(shí),要提供此約束文件??蓪⑽募浴皒x_ooc.xdc”的方式命名,同時(shí)設(shè)置其USED_IN的屬性值為out_of_context。其實(shí),Vivado IPCatalog自帶的IP在生成時(shí)都會(huì)看到一個(gè)《ip_name》_ooc.xdc的約束文件。
如果設(shè)計(jì)中有其他約束依賴于create_clock創(chuàng)建的約束,如下圖所示,set_max_delay創(chuàng)建約束時(shí)需要用到時(shí)鐘周期PERIOD,此時(shí)應(yīng)將這類約束單獨(dú)寫在一個(gè).xdc文件里,并將其PROCESSING_ORDER值設(shè)置為L(zhǎng)ATE。這將表明該約束文件里的約束依賴于外部約束,其實(shí)就是頂層約束文件。
編輯:jq
-
IP
+關(guān)注
關(guān)注
5文章
1716瀏覽量
149822 -
vhdl
+關(guān)注
關(guān)注
30文章
817瀏覽量
128266 -
GUI
+關(guān)注
關(guān)注
3文章
662瀏覽量
39827
原文標(biāo)題:Vivado下封裝IP基本知識(shí)
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論