色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA應用中部分重配置的操作過程

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2021-07-05 15:28 ? 次閱讀

Partial Reconfiguration(部分重配置)在現在的FPGA應用中越來越常見,我們這次的教程以Project模式為例來說明部分重配置的操作過程。

這里我們使用的Vivado版本是2017.2,使用的例程是Vivado自帶的wavegen工程,并在工程中增加一個計數器模塊,如下圖所示

3bfd9fd4-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

這個模塊的代碼也很簡單,就是加1計數

modulecount_add( inputclk, inputrst, outputreg[7:0]res ); always@(posedgeclk)begin if(rst) res<=?8'b0; ????else? ????????res?<=?res?+?1'b1; ?end??????? endmodule

我們要把這個模塊當做Reconfiguration Module,把它替換成另外一個module: count_sub,就是每個周期減1計數。

modulecount_sub( inputclk, inputrst, outputreg[7:0]res ); always@(posedgeclk)begin if(rst) res<=?8'b0; ????else? ????????res?<=?res?-?1'b1; ?end??????? endmodule

下面開始進行Partial Reconfiguration的配置

首先打開工程,并將其中一個Reconfiguration Module添加到工程中即可,這里我們選擇將count_add添加到工程中,選擇Tools->Enable Partial Reconfiguration

3c11bd52-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

出現下面的對話框,點擊Convert。該對話框是指如果使能了Partial Reconfiguration模式,是不能返回到普通模式的。

3c23ca1a-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

此時在Flow Navigator的PROJECT MANAGER下面就會出現Partial Reconfiguration Wizard的選項
3c5207ae-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

右鍵要reconfiguration的模塊,即inst_count,并選擇Create Partition Definition

3c61cb08-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

此時,彈出對話框提示我們輸入創建的Partition的名字,我們起名為count_demo,點擊OK

3c957958-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

這時我們可以看到該模塊的圖標發生了變化,變成了黃色的棱形,如下圖所示

3ca58c12-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

在這一步我們需要提醒一下,通常我們需要進行PR的模塊都是比較復雜的模塊,里面很可能會包含IP Core,那樣的話我們就不能直接這樣操作,比如我們要對該工程中的clk_gen_i0模塊進行PR,可以看到,這個模塊中包含了clk_core_i0這個IP

3cb66730-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述
當我們在clk_gen_i0這個模塊上右鍵選擇Create Partition Definition時,會提示下面的對話框:
module with out-of-context child module cannot be made into partition definition

3cc3a526-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

這個意思是包含有ooc子模塊的模塊,是不能做成partiton的,Vivado中所有的IP Core都是ooc的模塊,因此我們需要把clk_gen_i0這個模塊導出成dcp后再使用,具體可以參考我的另一篇文章

Vivado中模塊封裝成edif和dcp

簡單來講,就是先將這個模塊設為top,綜合后導出dcp,使用的tcl腳本是

write_checkpoint-noxdef

有幾個需要RM(Reconfiguration Module)的模塊,就要綜合幾次,導出幾個dcp文件

我看網上也有的教程是直接對整個工程進行綜合,然后單獨導出RM模塊的dcp,使用下面的tcl

write_checkpoint-cell

這兩種導出dcp的方式是有區別的,把整個工程進行綜合,每個子模塊的接口很有可能會有所改變,可能是名字改了,也可能是增加或減少了一些接口。如果我們的幾個RM只是接口相同,功能不同的話,這樣帶有不同RM模塊的工程綜合的結果可能不一樣。因此推薦將RM模塊設為top,綜合后導出dcp。

另一點需要注意的是,如果使用了dcp文件,我們也添加一個wrapper.v到工程中,因此dcp文件是不能直接進行Create Partition Definition操作的。

選擇左側導航欄的Partial Reconfiguration Wizard,開始添加RM

3cd02850-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

這里,點擊+號按鈕,出現下面對話框,首先點擊Add Files,選擇count_sub.v;然后輸入Reconfiguration Module Name,由于我們只有一個模塊,因此top的name可以不填;如下圖,Next

3ce11444-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

在這一步如果我們使用dcp文件和wrapper文件的話,需要把它們都添加進來

編輯配置,點擊automatically create configurations,如果在這個界面沒看到這個auto…按鈕,就先返回到上一步,再next到這個界面,總會出現的;點擊后出現下面的界面:

3d07aa0a-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

我們修改配置的名字如下,next

3d360e9a-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

配置runs,也是先點擊automatically create configuration run

3d434934-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

3d5e3fc8-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

這個圖意思是工程中有兩個implention runs,第一個叫impl_1,這個里面跑的是包含有count_add模塊的程序;第一個叫child_0_impl_1,這個里面跑的是包含count_sub模塊的程序。Next到Finish。

開始綜合,完成后點擊Open Synthesized Design,并在Vivado右上角,切換到Floorplanning視圖

3d8c535e-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

郵件inst_count并點擊Draw Pblock

3d9a3d0c-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

選擇一個區域作為Pblock

3dab9b92-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

繪制Pblock是有講究的,其中最簡單的兩個規則就是:

Pblock區域中包含的資源能可以覆蓋我們模塊需要的資源

不能與其他的Pblock沖突

當然,還有很多其他的規則,這里就不一一介紹了,如果Pblock沒畫好,很可能導致后面的DRC和Implementation不過。

關于該更多Pblock的說明,可以參考UG909手冊UG909

選中框之后,改一下框的屬性,將RESET_AFTER_RECONFIG的勾選中,意思是重新配置后,會復位這個Pblock里面的內容;再將SNAPPING_MODE改為Routing(或者設為On),意思是如果我們的邊界選的不太好,Vivado會自動處理,選off的話,就是完全按照我們指定的邊界。

3ddaecbc-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

點擊Tools->Report->Report DRC

3e270e80-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

只選擇PR即可

3e3aa72e-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

如果提示No Violations Found,則說明上面的操作過程沒有問題。

Run Implementation,可以看到有兩個runs需要進行

補充小知識:Vivado中jobs和threads的區別?選擇多個jobs能加快實現速度么?

3e4b2586-dbac-11eb-9e57-12bb97331649.png

在這里插入圖片描述

Generate Bitstream,OK

在這一步進行前,Vivado會自動執行pr_verify,并生成_pr_verify.log文件。

對于7系列的FPGA,會在impl_1文件夾下生成兩個bit文件:
wave_gen.bit和inst_count_count_add_partial.bit,第一個bit文件是整個工程且包含count_add模塊的bit文件,第二個bit文件是當我們需要進行Partial Reconfiguration的時候需要下載的bit文件;在child_0_impl_1文件夾下會生成一個bit文件inst_count_count_sub_partial.bit,是當我們需要進行Partial Reconfiguration的時候需要下載的bit文件。

對于UltraScale系列的FPGA,會在生成*_partial.bit的同時多出來一個*_partial_clear.bit,意思是在進行Partial Reconfiguration的時候,先下載*_partial_clear.bit把那一部分的內容先清空,再下載*_partial.bit進行配置。

使用Project模式的好處就是比較簡單,敲的指令也比較少,如果是Non-Project模式,在這中間還需要很多操作,雖然麻煩,但對我們理解它的工作模塊很有幫助,有興趣的同學可以再用Non-Project模式下操作一遍。

文章出處:【微信公眾號:OpenFPGA】

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21794

    瀏覽量

    605129
  • 計數器
    +關注

    關注

    32

    文章

    2259

    瀏覽量

    94870

原文標題:Xilinx FPGA Partial Reconfiguration 部分重配置 詳細教程

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    通過DSP6455的MCBSP配置TLV320AIC20,如果想使用LINEI和LINEO,還需要哪些別的配置嗎?

    值為1V的信號輸入LINEI,可是發現讀到的數據和沒給信號時并未發生變化。由于操作過程是接收一段時間數據,然后發送一段時間數據,測量LINEO時,可以發現LINEO的輸出是斷斷續續的,說明輸出的數據通路應該是正常的。如果想使用LINEI和LINEO,還需要哪些別的配置嗎?
    發表于 11-04 07:45

    帶你分析電池分選機的操作技巧

    通過上述詳細的操作指南,相信您已經對電芯自動面墊機的操作流程有了透徹的掌握。在實際操作過程中,務必遵循操作規范和安全指南,以保障設備的穩定運作和產品的高質量輸出。此外,定期進行設備的檢
    的頭像 發表于 10-12 17:32 ?310次閱讀
    帶你分析電池分選機的<b class='flag-5'>操作</b>技巧

    極化整流器的作用和工作過程

    極化整流器作為電化學整流系統的重要組成部分,在電解槽的保護和穩定運行中發揮著關鍵作用。本文將詳細闡述極化整流器的定義、作用、工作過程以及其在電解槽中的應用。
    的頭像 發表于 10-11 10:27 ?749次閱讀

    可調電源電路穩壓工作過程是什么

    可調電源電路是一種電子設備,它可以提供可調節的電壓和電流輸出,廣泛應用于電子實驗、設備測試和維修等領域。穩壓工作過程是可調電源電路的核心功能之一,它確保輸出電壓在負載變化或輸入電壓波動時保持穩定
    的頭像 發表于 10-09 17:12 ?403次閱讀

    FPGA在圖像處理領域的優勢有哪些?

    語言編程的,因此可以根據圖像處理的實際需求,動態地調整硬件資源的使用。這使得FPGA在處理圖像時能夠實現更高的能效比,從而降低系統的功耗。這對于需要長時間運行的圖像處理系統尤為重要。 五、可重配置
    發表于 10-09 14:36

    FPGA配置模式有哪些?具體配置過程是怎樣的?

    與CPLD不同,FPGA是基于門陣列方式為用戶提供可編程資源的,其內部邏輯結構的形成是由配置數據決定的。那么是如何進行配置的呢?配置的模式又有那些?
    發表于 06-19 14:40

    ADC的SNR指標 ADC的工作過程介紹

    以前的文章有講過有講到,ADC的工作過程,可以看成采樣和量化兩個步驟。
    的頭像 發表于 05-28 18:18 ?1636次閱讀
    ADC的SNR指標 ADC的工<b class='flag-5'>作過程</b>介紹

    什么是物流agv叉車?操作簡單嗎?使用時需要注意什么?

    AGV物流叉車以其高度自動化和智能化特性簡化了操作過程,降低了對操作人員的技能要求。使用AGV叉車需掌握基本操作技能、導航系統、傳感器技術、安全規程、維護保養和軟件操作知識。同時,良好
    的頭像 發表于 05-10 16:28 ?590次閱讀
    什么是物流agv叉車?<b class='flag-5'>操作</b>簡單嗎?使用時需要注意什么?

    如何用加載分散法將軟件中部分變量從內部RAM轉移到外部RAM?

    如何用加載分散法將軟件中部分變量從內部RAM轉移到外部RAM, 加載分散法文件怎么設置?堆和棧需要設置嗎?
    發表于 05-10 07:52

    FPGA開發過程配置全局時鐘需要注意哪些問題

    FPGA開發過程中,配置全局時鐘是一個至關重要的步驟,它直接影響到整個系統的時序和性能。以下是配置全局時鐘時需要注意的一些關鍵問題: 時鐘抖動和延遲 :全局時鐘資源的設計目標是實現最
    發表于 04-28 09:43

    音箱制作過程圖解

    電子發燒友網站提供《音箱制作過程圖解.doc》資料免費下載
    發表于 04-28 09:27 ?11次下載

    什么是電源模塊低溫操作檢測?該如何測試?

    低溫操作測試主要是檢測低溫環境對電源操作過程中的結構、元件及整機電氣的影響,從而來判斷電源模塊結構設計以及零件選用的合理性。低溫操作測試需要注意:測試過程中及測試結束后,待測電源模塊的
    的頭像 發表于 03-05 14:26 ?399次閱讀

    電路板pcb制作過程

    電路板pcb制作過程
    的頭像 發表于 03-05 10:26 ?1320次閱讀

    光纖傳輸信息時的工作過程

    光電轉換工作過程如下: 變頻器主控芯片將驅動IGBT開關的信息由電信號信號轉換成光信號,請問這個轉換過程是通過什么電路完成的,而且傳輸驅動信息時是同一相的上下橋臂同時發送的,在發送端是怎么組合驅動
    發表于 02-03 11:33

    FPGA的內部結構工作過程

    可編程邏輯器件包含多個邏輯元件,例如觸發器以及可由用戶配置的AND和OR門,用戶可以在使用專用軟件應用程序完成的編程過程中修改內部邏輯和連接。
    發表于 02-02 14:06 ?706次閱讀
    <b class='flag-5'>FPGA</b>的內部結構工<b class='flag-5'>作過程</b>
    主站蜘蛛池模板: 好男人免费观看在线高清WWW| 亚洲日韩KKK444KKK聚色| jizz破处| 手机移动oa| 精品国产免费人成视频| 国产二级一片内射视频播放| 国精产品一区二区三区| 日本人69xxx| 87.6在线收听| 欧美在线视频一区| 亚洲欧美成人综合| 超碰最新网站| 美国一级大黄一片免费的网站| 我在厨房摸岳的乳HD在线观看| 97精品一区二区视频在线观看| 国内偷拍夫妻av| 午夜福利电影| 动漫人物差差差30分钟免费看| 97影院午夜午夜伦不卡| 国产午夜精品不卡观看| 桥本有菜黑丝| 2020最新国产自产精品| 娇妻在床上迎合男人| 无码免费视频AAAAAA片草莓| 超碰97超碰在线视频哦| 欧美美女性生活| 999久久狠狠免费精品| 妹妹的第一次有点紧| 日韩一区二区三区四区区区| 5566av资源| 美女被免费喷白浆视频| 中文字幕亚洲无线码在线| 久久久久久久久性潮| 伊人久久大香线蕉avapp下载| 国产午夜电影院| 亚洲成人免费在线观看| 国产一卡2卡3卡4卡孕妇网站| 息与子在线交尾中文字幕| 国产精品丰满人妻AV麻豆| 呻吟翘臀后进爆白浆| 国产精品JK白丝AV网站|