RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用Tcl腳本在Manage IP方式下實(shí)現(xiàn)對(duì)IP的高效管理

OpenFPGA ? 來(lái)源:OpenFPGA ? 2024-04-22 12:22 ? 次閱讀

在Vivado下,有兩種方式管理IP。一種是創(chuàng)建FPGA工程之后,在當(dāng)前工程中選中IP Catalog,生成所需IP,這時(shí)相應(yīng)的IP會(huì)被自動(dòng)添加到當(dāng)前工程中;另一種是利用Manage IP,創(chuàng)建獨(dú)立的IP工程,缺省情況下,IP工程的名字為magaged_ip_project。在這個(gè)工程中生成所需要的IP,之后把IP添加到FPGA工程中。Xilinx推薦使用第二種方法,尤其是設(shè)計(jì)中調(diào)用的IP較多時(shí)或者采用團(tuán)隊(duì)設(shè)計(jì)時(shí)。Tcl作為腳本語(yǔ)言,在FPGA設(shè)計(jì)中被越來(lái)越廣泛地使用。借助Tcl可以完成很多圖形界面操作所不能完成的工作,從而,可提高設(shè)計(jì)效率和設(shè)計(jì)自動(dòng)化程度。Vivado對(duì)Tcl具有很好的支持,專門設(shè)置了Tcl Shell(純腳本模式)和Tcl Console(圖形界面模式)用于Tcl腳本的輸入和執(zhí)行。本文介紹了如何利用Tcl腳本在Manage IP方式下實(shí)現(xiàn)對(duì)IP的高效管理。

Manage IP的特點(diǎn):

(1)Vivado在Manage IP模式下只顯示IP Catalog,便于直觀地定制IP;

(2)IP工程目錄獨(dú)立于FPGA工程目錄,可獨(dú)立管理并便于IP復(fù)用;

(3)對(duì)IP采用OOC(Out-of-Context)的綜合方式,生成相應(yīng)的DCP文件,添加到FPGA工程中,無(wú)需再次綜合;

與ISE Core Generator的不同之處:

(1)ISE Core Generator不同IP的生成文件會(huì)在同一目錄下,而Vivado下每個(gè)IP有獨(dú)立的文件夾,該文件夾下包含了IP所有相關(guān)文件,這為IP復(fù)用提供了便利;

(2)ISE Core Generator生成的IP定制文件為.xco,Vivado生成IP的定制文件為.xci;

(3)ISE Core Generator生成的網(wǎng)表文件為.ngc,Vivado生成的網(wǎng)表文件為.dcp,DCP不僅包含網(wǎng)表文件還包含約束文件;

(4)ISE Core Generator不支持Tcl腳本,Vivado則支持Tcl腳本;

Vivado下IP生成文件:

(1)用于綜合的RTL文件和約束文件;

(2)實(shí)例化模板文件;

(3)行為級(jí)仿真文件;

(4)綜合后的網(wǎng)表文件DCP;

(5)用于第三方綜合工具的Stub文件;

(6)例子工程;

生成文件是可以定制的,這可通過(guò)generate_target命令完成,同時(shí),生成的文件也可以通過(guò)reset_target被清除掉,如Tcl腳本 1所示。

981f2f60-0054-11ef-a297-92fbcf53809c.jpg

Vivado下每個(gè)對(duì)象都有自己的屬性,這些屬性可通過(guò)report_property顯示。managed_ip_project的屬性如圖 1所示。圖中綠色線條標(biāo)記了該工程所在目錄;紅色方框MANAGED_IP屬性值為1,表明該工程為IP工程;藍(lán)色方框是我們創(chuàng)建或修改IP工程設(shè)置時(shí)最常用的一些屬性。Tcl腳本 2中第1行語(yǔ)句用于顯示IP工程屬性,第2~4行語(yǔ)句用于設(shè)置仿真工具、目標(biāo)語(yǔ)言和芯片型號(hào)。set_property命令的第一個(gè)參數(shù)為屬性名,第二個(gè)參數(shù)為屬性值,第三個(gè)參數(shù)為屬性所屬對(duì)象。

9827f60e-0054-11ef-a297-92fbcf53809c.jpg

采用Vivado Manage IP創(chuàng)建IP工程后,可能會(huì)遇到以下情況:(1)軟件版本升級(jí),例如Vivado由2013.4升級(jí)至2014.2;(2)芯片型號(hào)改變,例如芯片型號(hào)由XC7K325TFFG676-2變?yōu)閄C7K160TFFG676-2;(3)A項(xiàng)目中的一些IP在B項(xiàng)目中也被使用,且這些IP參數(shù)配置完全相同。上述三種情況均可通過(guò)Tcl命令完成。

第一種情況:軟件版本升級(jí)

假如用Vivado 2013.4創(chuàng)建的IP工程,當(dāng)軟件版本升級(jí)至2014.2時(shí),需要將IP重新生成。此時(shí),若用Vivado 2014.2打開該工程會(huì)彈出如圖 2所示的對(duì)話框。選擇圖中藍(lán)色方框標(biāo)記的選項(xiàng)打開工程,通過(guò)report_ip_status命令顯示當(dāng)前IP狀況,如圖 3所示。

982f4d78-0054-11ef-a297-92fbcf53809c.jpg

圖 3中藍(lán)色方框顯示了IP處于鎖定狀態(tài),可通過(guò)get_property查看IS_LOCKED屬性確定;紅色方框顯示了IP當(dāng)前版本號(hào)和建議升級(jí)到的新版本號(hào)。相應(yīng)的Tcl腳本如Tcl腳本 3所示。對(duì)處于鎖定狀態(tài)的IP可選擇升級(jí),這可通過(guò)Tcl腳本 4完成指定IP的升級(jí)。Tcl腳本 4可內(nèi)嵌到Vivado中作為用戶常用命令。

983a43ae-0054-11ef-a297-92fbcf53809c.jpg

第二種情況:芯片型號(hào)改變

若芯片型號(hào)改變,首先要對(duì)舊型號(hào)芯片對(duì)應(yīng)的工程做備份處理,這可通過(guò)archive_project命令完成;然后修改芯片型號(hào)。相應(yīng)的Tcl腳本如Tcl腳本 5所示。完成這些操作之后,會(huì)發(fā)現(xiàn)IP處于鎖定狀態(tài),此時(shí)可通過(guò)Tcl腳本 4對(duì)IP升級(jí)。

984615c6-0054-11ef-a297-92fbcf53809c.jpg

第三種情況:A項(xiàng)目中的一些IP在B項(xiàng)目中也被使用,且這些IP參數(shù)配置完全相同

在這種情況下,可將A項(xiàng)目中的IP導(dǎo)入到B項(xiàng)目的IP工程中,這可通過(guò)import_ip命令完成,如Tcl腳本 6所示。Import_ip的第一個(gè)參數(shù)為原始IP所在目錄,第二個(gè)參數(shù)為該IP的新名字,缺省情況下與原始IP名一致。導(dǎo)入之后,可通過(guò)Tcl腳本 4重新生成IP。

如前所述,Vivado下生成的IP都有獨(dú)立的文件目錄,在添加IP到Vivado FPGA工程中時(shí),若采用圖形界面方式就需要一個(gè)一個(gè)地瀏覽到IP所在文件目錄,找到.xci文件,然后添加到工程中,如果調(diào)用的IP較多,顯然這種方式不夠高效。此時(shí)可用Tcl腳本 7所示的Tcl命令找到所有IP相關(guān)文件,文件類型可以是xci或dcp。該命令會(huì)返回完整的文件路徑,如Tcl腳本 6中的文件路徑。然后通過(guò)add_files命令將其添加到當(dāng)前工程中。


98510e72-0054-11ef-a297-92fbcf53809c.jpg

此外,有些IP會(huì)有例子工程,這些例子工程帶有完整的測(cè)試激勵(lì),可對(duì)IP進(jìn)行仿真,以理解IP的輸入/輸出時(shí)序,也可單獨(dú)生成bit文件??赏ㄟ^(guò)open_example_project命令打開例子工程,如Tcl腳本 8所示。

與ISE Core Generator相比,Vivado Manage IP對(duì)IP的管理更加便捷,加之Vivado對(duì)Tcl腳本的支持,利用Tcl腳本可實(shí)現(xiàn)對(duì)IP更高效的管理,進(jìn)一步加強(qiáng)FPGA設(shè)計(jì)自動(dòng)化的程度。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602968
  • TCL
    TCL
    +關(guān)注

    關(guān)注

    10

    文章

    1722

    瀏覽量

    88564
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    812

    瀏覽量

    66470

原文標(biāo)題:在Vivado下利用Tcl實(shí)現(xiàn)IP的高效管理

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用FPGA和IP Core實(shí)現(xiàn)定制緩沖管理

    如何使用FPGA和IP Core實(shí)現(xiàn)定制緩沖管理?
    發(fā)表于 04-29 06:01

    Vivado圖形化界面IDE中運(yùn)行和調(diào)試Tcl命令

    IP內(nèi)部的代碼。實(shí)現(xiàn)(Implementation)過(guò)程中,發(fā)現(xiàn)某資源占用過(guò)多,導(dǎo)致無(wú)法通過(guò),我們可以考慮使用tcl命令,remove多余的資源。下面的例子中,例化了兩個(gè)axi_ch
    發(fā)表于 06-17 14:52

    介紹IP數(shù)據(jù)報(bào)的格式及IP相關(guān)功能在Lwip中的實(shí)現(xiàn)方式

    。本文主要介紹IP數(shù)據(jù)報(bào)的格式,以及IP相關(guān)功能在Lwip中的實(shí)現(xiàn)方式,希望能對(duì)同樣在學(xué)習(xí)Lwip的小伙伴們有所幫助。IP基礎(chǔ)知識(shí)介紹
    發(fā)表于 08-23 17:38

    利用面向?qū)ο蠹夹g(shù)進(jìn)行可配置的FFT IP設(shè)計(jì)與實(shí)現(xiàn)

    利用面向?qū)ο蠹夹g(shù)進(jìn)行可配置的FFT IP 設(shè)計(jì)與實(shí)現(xiàn)摘要:為了縮短產(chǎn)品上市時(shí)間并降低設(shè)計(jì)成本,IP 復(fù)用已經(jīng)成為IC設(shè)計(jì)的重要手段。以往利用
    發(fā)表于 07-04 11:42 ?8次下載

    利用FFT IP Core實(shí)現(xiàn)FFT算法

    利用FFT IP Core實(shí)現(xiàn)FFT算法 摘要:結(jié)合工程實(shí)踐,介紹了一種利用FFT IP Core實(shí)現(xiàn)
    發(fā)表于 01-16 10:04 ?6912次閱讀
    <b class='flag-5'>利用</b>FFT <b class='flag-5'>IP</b> Core<b class='flag-5'>實(shí)現(xiàn)</b>FFT算法

    LabVIEW中利用TCP_IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信_(tái)labview程序案例

    程序案例 LabVIEW 中利用TCP_IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信
    發(fā)表于 01-12 15:45 ?679次下載

    LabWindowsCVI 中利用TCP_IP協(xié)議_labview程序案例

    程序案例 LabWindowsCVI 中利用TCP_IP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)通信
    發(fā)表于 01-12 15:45 ?25次下載

    Vivado利用Tcl腳本對(duì)綜合后的網(wǎng)表進(jìn)行編輯過(guò)程

    ISE,對(duì)綜合后的網(wǎng)表進(jìn)行編輯幾乎是不可能的事情,但在Vivado下成為可能。Vivado對(duì)Tcl的支持,使得Tcl腳本
    發(fā)表于 11-18 03:16 ?7526次閱讀
    <b class='flag-5'>在</b>Vivado<b class='flag-5'>下</b><b class='flag-5'>利用</b><b class='flag-5'>Tcl</b><b class='flag-5'>腳本</b>對(duì)綜合后的網(wǎng)表進(jìn)行編輯過(guò)程

    Vivado利用Tcl實(shí)現(xiàn)IP高效管理

    Vivado,有兩種方式管理IP。一種是創(chuàng)建FPGA工程之后,在當(dāng)前工程中選中IP Cata
    發(fā)表于 11-18 04:22 ?5807次閱讀

    網(wǎng)站總被攻擊?寫個(gè)自動(dòng)封禁IP腳本給你

    個(gè)人網(wǎng)站總被攻擊?寫個(gè)自動(dòng)封禁IP腳本給你!
    的頭像 發(fā)表于 01-29 11:44 ?1110次閱讀

    ip腳本進(jìn)化的解決辦法

    上次給大家分享過(guò)一個(gè)封IP腳本。我搞那個(gè)腳本的目的是為了把訪問(wèn)量太大的IP地址給封掉,然后每隔半小時(shí)解封。
    的頭像 發(fā)表于 06-11 17:03 ?684次閱讀
    封<b class='flag-5'>ip</b><b class='flag-5'>腳本</b>進(jìn)化的解決辦法

    IP 地址XSS中的利用與防范

    ?隨著互聯(lián)網(wǎng)的普及和Web應(yīng)用的廣泛使用,跨站腳本攻擊(XSS)成為了網(wǎng)絡(luò)安全領(lǐng)域中的一個(gè)重要威脅。XSS攻擊中,攻擊者常常會(huì)巧妙地利用各種元素,包括用戶的IP地址,來(lái)
    的頭像 發(fā)表于 08-07 16:43 ?246次閱讀

    高效管理代理IP,關(guān)鍵操作步驟與技巧來(lái)了!

    高效管理代理IP是提高網(wǎng)絡(luò)工作效率和安全性的重要環(huán)節(jié)
    的頭像 發(fā)表于 09-14 08:08 ?233次閱讀

    云計(jì)算環(huán)境IP地址分配方式

    之前我們聊過(guò)計(jì)算機(jī)環(huán)境IP地址的分配方式,但在云計(jì)算環(huán)境,IP地址的分配
    的頭像 發(fā)表于 12-19 14:02 ?92次閱讀
    RM新时代网站-首页