chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2021-07-05 15:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

在這里插入圖片描述

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

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計數(shù)。

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

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文件

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

write_checkpoint-cell

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

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

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

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

在這里插入圖片描述

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

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

在這里插入圖片描述

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

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

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

在這里插入圖片描述

選擇一個區(qū)域作為Pblock

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

在這里插入圖片描述

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

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

不能與其他的Pblock沖突

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

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

選中框之后,改一下框的屬性,將RESET_AFTER_RECONFIG的勾選中,意思是重新配置后,會復位這個Pblock里面的內(nèi)容;再將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的區(qū)別?選擇多個jobs能加快實現(xiàn)速度么?

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

在這里插入圖片描述

Generate Bitstream,OK

在這一步進行前,Vivado會自動執(zhí)行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把那一部分的內(nèi)容先清空,再下載*_partial.bit進行配置。

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

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

責任編輯:gt

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

    關注

    1650

    文章

    22204

    瀏覽量

    626714
  • 計數(shù)器
    +關注

    關注

    32

    文章

    2302

    瀏覽量

    97177

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    開疆智能CCLinkIE轉ModbusTCP網(wǎng)關連接測聯(lián)無紙記錄儀配置案例

    本案例是通過CCLinkIE轉ModbusTCP網(wǎng)關將記錄儀數(shù)據(jù)傳送到三菱PLC,具體操作過程如下。
    的頭像 發(fā)表于 06-28 14:04 ?513次閱讀
    開疆智能CCLinkIE轉ModbusTCP網(wǎng)關連接測聯(lián)無紙記錄儀<b class='flag-5'>配置</b>案例

    網(wǎng)關基本配置操作步驟-ModbusRTU

    電子發(fā)燒友網(wǎng)站提供《網(wǎng)關基本配置操作步驟-ModbusRTU.pdf》資料免費下載
    發(fā)表于 03-27 17:59 ?1次下載

    自動稱重配料設備PLC數(shù)據(jù)采集遠程監(jiān)控系統(tǒng)方案

    傳統(tǒng)的稱重配料方式,往往依賴大量人工操作。工人需要依次對各種原料進行稱重、配料,這一過程耗時費力。同時數(shù)據(jù)記錄也十分繁瑣,難以查找和整理。此外,稱重設備出現(xiàn)故障往往不能及時發(fā)現(xiàn),導致配料錯誤進行導致
    的頭像 發(fā)表于 03-21 14:31 ?572次閱讀

    為什么無法在RedHat中構建OpenVINO? 2022.2?

    嘗試使用 RedHat* (UBI 9) 構建OpenVINO? 2022.2 在 CMAKE 操作過程中遇到錯誤
    發(fā)表于 03-05 08:25

    接近開關操作時需要注意哪些安全事項BS-300H/2T

    接近開關在操作時的安全事項涵蓋了安裝布局、操作過程以及其他多個方面。只有嚴格遵守這些安全事項,才能確保接近開關的穩(wěn)定、準確工作,從而保障設備和人員的安全。
    的頭像 發(fā)表于 03-03 09:21 ?625次閱讀

    請問如何通過DLP471NE的HSSI來控制單個微鏡單元?

    請問如何通過DLP471NE的HSSI來控制單個微鏡單元。也就是不通過與其適配的DLPC7540來控制DLP471NE,想直接通過FPGA來直接控制。但是DLP471NE數(shù)據(jù)手冊上并沒有具體的操作過程。
    發(fā)表于 02-21 13:45

    SAR ADC的工作過程和關鍵指標

    ADC以其低功耗、高精度、小尺寸以及適中的速度和分辨率,在中等至高分辨率應用中占據(jù)主導地位。本文將詳細介紹SAR ADC的概念、工作過程、關鍵指標以及其在不同領域的應用。
    的頭像 發(fā)表于 02-02 13:57 ?1921次閱讀

    GUC65(A)礦用本安型位置傳感器制作過程

    礦用本安型位置傳感器的制作過程需要嚴格遵守相關的安全規(guī)范和標準,確保傳感器的安全性和可靠性。同時,在生產(chǎn)過程中還需要注意環(huán)境保護和節(jié)能減排等要求。具體的制作過程可能會因產(chǎn)品規(guī)格、制造商和生產(chǎn)工藝的不同而有所差異。
    的頭像 發(fā)表于 01-07 10:18 ?703次閱讀

    【AI實戰(zhàn)項目】基于OpenCV的“顏色識別項目”完整操作過程

    OpenCV是一個廣受歡迎且極為流行的計算機視覺庫,它因其強大的功能、靈活性和開源特性而在開發(fā)者和研究者中備受青睞。學習OpenCV主要就是學習里面的計算機視覺算法。要學習這些算法的原理,知道它們適用于哪些場景,然后通過Python編寫代碼來實現(xiàn)這些算法,并應用于實際項目中,實現(xiàn)圖像的檢測、識別、分類、定位、測量等目標。華清遠見【python+OpenCV圖
    的頭像 發(fā)表于 12-09 16:42 ?1742次閱讀
    【AI實戰(zhàn)項目】基于OpenCV的“顏色識別項目”完整<b class='flag-5'>操作過程</b>

    不進入halt狀態(tài)可以操作mcu的flash嗎

    模式): 在某些MCU中,為了確保對Flash的操作不被打斷,需要將CPU或主頻降低到最低或使CPU進入停止狀態(tài)。這可以避免發(fā)生意外的中斷,尤其是對于需要持續(xù)長時間寫入或擦除操作的情況。 禁止中斷: 即使沒有完全暫停CPU,通常也會禁止中斷和外部事件,以防止在Flash
    發(fā)表于 12-05 09:17

    FPGA中浮點四則運算的實現(xiàn)過程

    (減)法運算 基于FPGA 實現(xiàn)的浮點加法運算包括了一系列對尾數(shù)和指數(shù)部分操作:移位、交換、格式化、舍入和格式化等。如下圖所示,自定義浮點流水加法器實現(xiàn)結構主要分為兩部分:基本加法器
    的頭像 發(fā)表于 11-16 11:19 ?1752次閱讀
    <b class='flag-5'>FPGA</b>中浮點四則運算的實現(xiàn)<b class='flag-5'>過程</b>

    請問lmk04828-EP設置DCLKx的模擬延遲失敗,導致時鐘不穩(wěn)定的原因?怎么解決?

    操作過程中發(fā)現(xiàn)該寄存器不可寫,值固定為全0。) 5)DCLKy輸出配置為SYSREF,頻率配置為8MHz,脈沖模式。電平為LVDS。 麻煩大家?guī)兔纯?,器件時候支持調(diào)整DCLKx模擬延遲呢?如果支持我需要怎么
    發(fā)表于 11-12 06:35

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

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

    固化FPGA配置芯片的方式

    FPGA可以反復的重新配置,這就意味著設計者可以不斷的反復的下載設計的邏輯做驗證。如果出現(xiàn)錯誤或者需要升級,只需要修改設計,重新下載設計邏輯電路即可。FPGA雖然有重新配置的優(yōu)勢,帶來
    的頭像 發(fā)表于 10-24 18:13 ?1617次閱讀
    固化<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>芯片的方式

    一種簡單高效配置FPGA的方法

    本文描述了一種簡單高效配置FPGA的方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設備。這種方法減少了硬件組件、板空間和成本。
    的頭像 發(fā)表于 10-24 14:57 ?2036次閱讀
    一種簡單高效<b class='flag-5'>配置</b><b class='flag-5'>FPGA</b>的方法