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

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

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

為多個(gè)Vivado工程復(fù)用遠(yuǎn)程IP高速緩存

OpenFPGA ? 來(lái)源:OpenFPGA ? 2023-12-01 09:14 ? 次閱讀

在設(shè)計(jì)周期中,您可保留多個(gè)版本的工程,這些工程使用相同的 IP 和相同的配置。重新運(yùn)行整個(gè)工程會(huì)導(dǎo)致每次都要重新生成 IP,很費(fèi)時(shí)間。

在 Vivado工程設(shè)置中,您的 IP 存儲(chǔ)庫(kù)允許您將自己的 IP 添加到 Vivado IP 目錄中,搭配遠(yuǎn)程 IP 高速緩存一起使用時(shí),即可顯著縮短編譯時(shí)間。這篇博文解釋了具體設(shè)置方法。

要求:

在閱讀本設(shè)計(jì)輸入之前,請(qǐng)確保您熟悉如何封裝 IP 核。如需了解相關(guān)信息,請(qǐng)參閱 UG1118 和 QuickTake 視頻。

在開(kāi)始下述步驟前,最好先創(chuàng)建格式化目錄結(jié)構(gòu):

bc454bce-8fe1-11ee-939d-92fbcf53809c.png

注釋:此結(jié)構(gòu)中應(yīng)有一個(gè)頂層的父目錄,例如,iprepo,然后是子目錄;每個(gè) IP 一個(gè)子目錄,還有一個(gè)子目錄對(duì)應(yīng)由 Vivado 創(chuàng)建的遠(yuǎn)程 IP 高速緩存。

此 IP 必須位于遠(yuǎn)程 IP 高速緩存的同級(jí)目錄內(nèi)。這是因?yàn)?Vivado 遇到 component.xml 文件時(shí),就會(huì)停止搜索 IP 高速緩存的目錄結(jié)構(gòu),而此文件始終與封裝的 IP 目錄一起生成。

第 1 步:將所有必需的源文件封裝為單個(gè) IP

一般,IP 封裝步驟包括以下 3 個(gè)步驟,并且封裝的 IP 文件一起接受管理。

1. 將 RTL 添加到 Vivado 工程中,并對(duì)其進(jìn)行綜合,驗(yàn)證其完整性 。


2. 使用 Vivado 中的“Tools”(工具)選項(xiàng)對(duì) RTL 進(jìn)行封裝:

bc5b563a-8fe1-11ee-939d-92fbcf53809c.png

3. 確?;?ip_repo 目錄中的 IP 名稱選擇一個(gè)目錄。

第 2 步:驗(yàn)證并生成所有遠(yuǎn)程高速緩存文件

在這一步中,您需要從已封裝的 IP 文件夾中例化已封裝的 IP,但不含任何邏輯連接。隨后,為存儲(chǔ)庫(kù)中的不同 IP 配置生成網(wǎng)表。


1. 通過(guò)工程設(shè)置將新創(chuàng)建的用戶 IP 存儲(chǔ)庫(kù)添加到 Vivado 工程中:

bc68ae70-8fe1-11ee-939d-92fbcf53809c.png

2. 將該 IP 添加到新創(chuàng)建的 IP integrator 塊設(shè)計(jì)中。 您可選中 IP 并按下 Ctrl-T 鍵,輕松將此 IP 的所有端口連接到外部端口。或者,您可將其添加到設(shè)計(jì)中。

3. 如果您的 IP 可配置,請(qǐng)?zhí)砑佣囗?xiàng)配置,以便在 IP 高速緩存中填充更多通用配置。

注釋:應(yīng)用此變通方法時(shí)存在諸多限制,只要與用戶 IP 設(shè)置存在任何不匹配,都可能導(dǎo)致重新生成已例化的 IP。

請(qǐng)確保軟件構(gòu)建相匹配

請(qǐng)確保 device part/speed_grade/board name 相匹配

確保 IP 設(shè)置與生成此 IP 時(shí)的 IP 緩存文件相匹配。鑒于有時(shí)參數(shù)傳播可能導(dǎo)致覆蓋用戶 IP 上的部分參數(shù),例如,從上游傳播的時(shí)鐘頻率會(huì)被覆蓋,因此應(yīng)執(zhí)行檢查。

4. 確認(rèn)設(shè)計(jì)并審查任何“Error”(錯(cuò)誤)和“Critical Warning”(嚴(yán)重警告)

5. 生成設(shè)計(jì)之前,在 IP Repository 目錄下指定遠(yuǎn)程 IP 存儲(chǔ)庫(kù),例如,/iprepo/ipcache:

bc75e02c-8fe1-11ee-939d-92fbcf53809c.png

6. 使用默認(rèn)“Out of context per IP”(非關(guān)聯(lián)按 IP)選項(xiàng)生成塊設(shè)計(jì):

bc85bba0-8fe1-11ee-939d-92fbcf53809c.png

7. 生成完成后,應(yīng)顯示已填充的遠(yuǎn)程 IP 高速緩存。

其中將生成新的目錄,并以散列代碼作為目錄名稱。

第 3 步:在正式設(shè)計(jì)中例化 IP,并復(fù)用遠(yuǎn)程 IP 存儲(chǔ)庫(kù)

在工程中使用用戶 IP 存儲(chǔ)庫(kù)和 IP 高速緩存:

1. 現(xiàn)在,您只需要指向頂層的 IP 存儲(chǔ)庫(kù)目錄,即可同時(shí)使用用戶 IP 和遠(yuǎn)程 IP 高速緩存。

bc68ae70-8fe1-11ee-939d-92fbcf53809c.png

2. 生成設(shè)計(jì)時(shí),如果使用的器件/開(kāi)發(fā)板和 IP 配置選項(xiàng)未更改,就不會(huì)發(fā)生重新綜合,并且 IP 運(yùn)行狀態(tài)將顯示“Using cached IP results”(使用緩存的 IP 結(jié)果):

bcbd3a62-8fe1-11ee-939d-92fbcf53809c.png

建議的版本管理:

請(qǐng)通過(guò)腳本封裝用戶 IP,或創(chuàng)建獨(dú)立工程來(lái)封裝 IP。

創(chuàng)建獨(dú)立工程來(lái)例化包含所有不同配置的用戶 IP,并生成此 IP,同時(shí)導(dǎo)出高速緩存。

在正式工程中采用此 IP,并遵循本文檔中的指南進(jìn)行操作。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • 高速緩存
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    11040
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    647

    瀏覽量

    32744
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    14795
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    803

    瀏覽量

    66143

原文標(biāo)題:節(jié)省編譯時(shí)間系列-為多個(gè) Vivado? 工程復(fù)用遠(yuǎn)程 IP 高速緩存

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    linux的高速緩存DNS怎么設(shè)置

    linux 高速緩存DNS
    發(fā)表于 08-12 12:06

    MRAM高速緩存的組成

    和DRAM的潛能。用MTJ存儲(chǔ)單元構(gòu)建的MRAM存儲(chǔ)器可以用作高速緩存。 高速緩存可以用與SRAM幾乎相同的方式來(lái)組建。MRAM與SRAM具有相似的電路結(jié)構(gòu)(見(jiàn)圖1)。 它們都由字線來(lái)選擇目標(biāo)操作單元,由位線
    發(fā)表于 11-06 14:17

    高速緩存/海量緩存的設(shè)計(jì)實(shí)現(xiàn)

    IS61LV25616-10T,容量256k16bit,訪問(wèn)速度10ns,使用兩片即可構(gòu)成256k32bit的高速緩存。當(dāng)一輪采樣開(kāi)始時(shí),DSP發(fā)出觸發(fā)信號(hào)給CPLD,后者對(duì)50MHz晶振時(shí)鐘二分
    發(fā)表于 12-04 15:59

    怎么利用異步FIFO和PLL結(jié)構(gòu)來(lái)實(shí)現(xiàn)高速緩存?

    結(jié)合高速嵌入式數(shù)據(jù)采集系統(tǒng),提出一種基于CvcloneⅢ FPGA實(shí)現(xiàn)的異步FIFO和鎖相環(huán)(PLL)結(jié)構(gòu)來(lái)實(shí)現(xiàn)高速緩存,該結(jié)構(gòu)可成倍提高數(shù)據(jù)流通速率,增加數(shù)據(jù)采集系統(tǒng)的實(shí)時(shí)性。采用FPGA設(shè)計(jì)高速緩存,能針對(duì)外部硬件系統(tǒng)的改變
    發(fā)表于 04-30 06:19

    怎樣去實(shí)現(xiàn)一種基于DSP和ADC技術(shù)高速緩存和海量緩存

    構(gòu)成高速緩存的方案有哪幾種?如何去實(shí)現(xiàn)一種海量緩存的設(shè)計(jì)?怎樣去實(shí)現(xiàn)一種基于DSP和ADC技術(shù)高速緩存和海量緩存?
    發(fā)表于 06-26 07:50

    高速緩存(cache)的工作原理是什么?高速緩存可分為哪幾類

    存儲(chǔ)器系統(tǒng)的層次架構(gòu)是如何構(gòu)成的?高速緩存(cache)的工作原理是什么?高速緩存可分為哪幾類?
    發(fā)表于 12-23 06:18

    高速緩存Cache介紹

    什么是高速緩存?? 高速存儲(chǔ)器塊,包含地址信息(通常稱作TAG)和相關(guān)聯(lián)的數(shù)據(jù)。? 目的是提高對(duì)存儲(chǔ)器的平均訪問(wèn)速度? 高速緩存的應(yīng)用基于下面兩個(gè)程序的局部性 :? 空間局部性:如果一個(gè)存儲(chǔ)器的位置
    發(fā)表于 09-07 08:22

    磁盤陣列的高速緩存

    磁盤陣列的高速緩存         
    發(fā)表于 01-09 09:59 ?2649次閱讀

    外置及共享硬盤的高速緩存

    外置及共享硬盤的高速緩存              緩存(Cache memory)是硬盤控制器上的一塊內(nèi)存芯片,具有極快的存取速度
    發(fā)表于 01-09 14:10 ?1938次閱讀

    高速緩存(Cache),高速緩存(Cache)原理是什么?

    高速緩存(Cache),高速緩存(Cache)原理是什么? 高速緩存Cache是位于CPU和主存儲(chǔ)器之間規(guī)模較小、存取速度快捷的靜態(tài)存儲(chǔ)器。Cache一般由
    發(fā)表于 03-26 10:49 ?6812次閱讀

    基于BCH算法的高速緩存糾檢錯(cuò)方案研究

    基于BCH算法的高速緩存糾檢錯(cuò)方案研究
    發(fā)表于 01-07 20:32 ?0次下載

    AN1600 - 在PIC32MZ器件上使用L1高速緩存

    本文檔提供了PIC32MZ器件系列中一級(jí)(Level 1,L1) CPU高速緩存實(shí)現(xiàn)的相關(guān)信息,并介紹了高速緩存系統(tǒng)的相關(guān)風(fēng)險(xiǎn)。此外還提供了解決這些風(fēng)險(xiǎn)的方法。對(duì)于高級(jí)用戶,還針對(duì)MPLAB@
    發(fā)表于 03-26 10:39 ?2次下載

    使用STM32高速緩存優(yōu)化性能和能效

    使用STM32高速緩存優(yōu)化性能和能效
    發(fā)表于 11-21 17:07 ?0次下載
    使用STM32<b class='flag-5'>高速緩存</b>優(yōu)化性能和能效

    使用MPLAB Harmony v3基于PIC32MZ MCU在運(yùn)行時(shí)使用高速緩存維護(hù)操作處理高速緩存一致性問(wèn)題

    電子發(fā)燒友網(wǎng)站提供《使用MPLAB Harmony v3基于PIC32MZ MCU在運(yùn)行時(shí)使用高速緩存維護(hù)操作處理高速緩存一致性問(wèn)題.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 16:28 ?0次下載
    使用MPLAB Harmony v3基于PIC32MZ MCU在運(yùn)行時(shí)使用<b class='flag-5'>高速緩存</b>維護(hù)操作處理<b class='flag-5'>高速緩存</b>一致性問(wèn)題

    多個(gè)Vivado?工程復(fù)用遠(yuǎn)程IP高速緩存

    在設(shè)計(jì)周期中,您可保留多個(gè)版本的工程,這些工程使用相同的 IP 和相同的配置。重新運(yùn)行整個(gè)工程會(huì)導(dǎo)致每次都要重新生成
    的頭像 發(fā)表于 09-22 09:39 ?710次閱讀
    <b class='flag-5'>為</b><b class='flag-5'>多個(gè)</b><b class='flag-5'>Vivado</b>?<b class='flag-5'>工程</b><b class='flag-5'>復(fù)用</b><b class='flag-5'>遠(yuǎn)程</b><b class='flag-5'>IP</b><b class='flag-5'>高速緩存</b>