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

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

3天內不再提示

Xilinx FPGA重構技術介紹

FPGA開源工坊 ? 來源:胡狼FPGA ? 2023-02-12 10:33 ? 次閱讀

重構技術介紹

重構技術是一項非常實用的技術,從比特屬性上來分類可以分成全部重構和局部重構。全部重構即在重構時將配置整個FPGA器件的比特文件重新加載一次,對FPGA進行一次完整的編程配置;局部重構與全部重構有所不同,局部重構時加載的比特文件只是一個部分比特,該部分比特對特定區域進行重新配置。

針對Xilinx不同系列的器件,進行重構的方式會有所區別,對于非Zynq系列的器件,重構的實現需要借助FPGA器件之外的處理器來實現,重構接口為SelectMAP,非Zynq系列器件的重構框圖如圖1所示;Zynq系列的由于自身嵌入了ARM處理器,可以無需借助其他處理器而實現重構的功能,Zynq系列器件的PS側可以通過PCAP接口對PL側完成重構,但是Zynq7000和UltraScale+Mpsoc在具體實現時所使用的庫函數會有區別,兩者的重構實現不能互用。

f2222ea8-a97b-11ed-bfe3-dac502259ad0.png

圖1非Zynq系列器件的重構框圖

本文檔主要針對的器件為UltraScale+Mpsoc系列,通過PCAP接口對PL側進行重構,重構框圖如下所示:

f2418546-a97b-11ed-bfe3-dac502259ad0.png

圖2UltraScale+Mpsoc系列重構框圖

重構步驟

建立工程

詳細操作在此不做詳述,具體可以參考《Vivado Design Suite Tutorial Embedded Processor Hardware Design》,為了驗證需要,硬件允許的情況下可以編寫一段閃燈程序。

建立BlockDesign

詳細操作在此不做詳述,具體可以參考《Vivado Design Suite Tutorial Embedded Processor Hardware Design》,建立BlockDesign后,加入一個Zynq Mpsoc IP核,需要指出的是,為了能實現重構,需要在此IP核中使能SD卡,DDR以及UART(方便調試),并根據硬件的實際情況對它們的參數進行設置。根據需要添加其他IP。

編寫編譯代碼

完成前面的步驟之后就可以建立自己的用戶程序,主要是通過PS來實現對PL測邏輯的重構

驗證調試

在進行驗證調試前需要做好準備工作,如前所述,PL側可以通過兩個實現,生成兩個頻率不同的閃燈程序的bit文件,由于重構時只能使用bin文件,所以需要將bit文件轉換成bin文件,在Vivado中的Tcl Console中使用write_cfgmem指令可以將bit轉換成bin文件,具體指令如下:

write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0x0文件名.bit" "bin文件名"

生成好的bin文件需要拷貝到Memory中,通常都使用SD卡來存儲重構的bin文件。

以上準備工作就緒之后就可以Debug調試了,建議Debug調試時將啟動模式設置成Jtag模式。

演示Demo

本章節通過搭建演示環境和工程對重構的實現進行板級驗證。

演示環境

演示的軟件搭建包含兩個工程,一個用來采集和顯示攝像頭原圖,另外一個工程對攝像頭進來的數據做了處理,將像素點中的一個顏色分量置為0,最終顯示的圖像前景色為綠色。

演示的硬件包含一塊5ev的板子,一塊圖像顯示的板子,一臺HDMI接口的顯示器,一臺電腦、一個攝像頭,一根fakra接口線、一個Xilinx下載器和一根串口線(非必須,具體的演示環境框圖如下:

f254f996-a97b-11ed-bfe3-dac502259ad0.png

圖4演示環境框圖

演示結果

在SDK中下載程序后,在line280行打上斷點,如圖5所示,手動控制程序的運行,每運行一次F8,重構一次PL程序,可以看到顯示的圖像前景色會發生變化,具體運行結果如圖6、圖7所示,以作參考。

f286eaaa-a97b-11ed-bfe3-dac502259ad0.png

圖5調試斷點設置

f2dde1ac-a97b-11ed-bfe3-dac502259ad0.png

圖6Test1.bin運行結果截圖

f347d6ca-a97b-11ed-bfe3-dac502259ad0.png

圖7Test2.bin運行結果截圖






審核編輯:劉清

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

    關注

    6

    文章

    351

    瀏覽量

    41381
  • FPGA器件
    +關注

    關注

    1

    文章

    22

    瀏覽量

    11576
  • Zynq
    +關注

    關注

    9

    文章

    600

    瀏覽量

    46790
  • PCAP
    +關注

    關注

    0

    文章

    12

    瀏覽量

    12570

原文標題:Xilinx FPGA全部重構

文章出處:【微信號:FPGA開源工坊,微信公眾號:FPGA開源工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA重構設計的結構基礎

    ?! ?b class='flag-5'>FPGA器件的結構主要有兩種:一是基于反熔絲技術,二是基于SRAM或FLASH編程。用反熔絲開關作基本元件,具有非易失性,編程完成后,FPGA的配置數據不再變化,無法重構。而基于
    發表于 05-27 10:22

    FPGA重構方式

    FPGA都可實現靜態重構。后者則是指在系統實時運行中對FPGA芯片進行動態配置(即在改變電路功能的同時仍然保持電路的工作狀態),使其全部或部分邏輯資源實現在系統的高速的功能變換和時分復用。動態
    發表于 05-27 10:22

    支持重構FPGA器件

      近年來,隨著FPGA技術的發展,支持重構FPGA器件新品迭現。Xilinx、Altera、Lattice的
    發表于 05-27 10:23

    【懸賞100塊】如何實現FPGA重構計算(Android平臺)

    FPGA計算的計算任務的對應比特流 對FPGA進行重構以及利用FPGA進行計算。我的某一個最關鍵的問題是(當然我還有好多問題沒有解決):我已經根據
    發表于 05-20 20:03

    采用FPGA實現可重構計算應用

    重構計算技術概述隨著20世紀80年代中期Xilinx公司推出其第一款現場可編程門陣列(FPGA)以來,另一種實現手段——可重構計算
    發表于 07-29 06:26

    怎么實現基于FPGA重構智能儀器的設計?

    重構技術具有什么優點?怎么實現基于FPGA重構智能儀器的設計
    發表于 05-06 06:44

    Xilinx-FPGA-引腳功能詳細介紹

    FPGA學習資料教程之Xilinx-FPGA-引腳功能詳細介紹
    發表于 09-01 15:27 ?0次下載

    Virtex5 FPGA在ISE + Planahead上部分可重構功能的流程和技術要點

    部分可重構技術Xilinx FPGA的一項重要開發流程。本文結合Virtex5 FPGA,詳細講解在ISE + Planahead上完成部
    的頭像 發表于 07-04 02:17 ?3525次閱讀
    Virtex5 <b class='flag-5'>FPGA</b>在ISE + Planahead上部分可<b class='flag-5'>重構</b>功能的流程和<b class='flag-5'>技術</b>要點

    基于CPLD的FPGA快速動態重構設計

    隨著FPGA的廣泛應用, 其實現的功能也越來越多, FPGA 的動態重構設計就顯得愈發重要。在分析Xilinx Vertex II Pro系列FPG
    發表于 11-22 07:55 ?981次閱讀
    基于CPLD的<b class='flag-5'>FPGA</b>快速動態<b class='flag-5'>重構</b>設計

    站在FPGA的肩膀上 AI可重構芯片誕生

    在芯片架構設計領域中,可重構計算技術并非一項新的存在。20世紀60年代末,加利福尼亞大學的Geraid Estrin首次提出重構計算,后過去二十余年,Xilinx才基于這一原型系統推出
    發表于 12-03 10:09 ?1537次閱讀

    如何在FPGA動態局部可重構中進行TBUF總線宏設計

    FPGA 動態局部可重構技術中基于三態緩沖器( Tri2state Buffer ,TBUF) 總線宏結構的基礎上,采用Xilinx ISE FP
    發表于 12-14 14:27 ?3次下載
    如何在<b class='flag-5'>FPGA</b>動態局部可<b class='flag-5'>重構</b>中進行TBUF總線宏設計

    Xilinx FPGA的FMC介紹

    本文主要介紹Xilinx FPGA的FMC接口。
    的頭像 發表于 01-28 17:52 ?5356次閱讀

    FPGA動態可重構技術是什么,局部動態可重構的時序問題解決方案

    所謂FPGA動態可重構技術,就是要對基于SRAM編程技術FPGA實現全部或部分邏輯資源的動態功能變換。根據實現
    的頭像 發表于 07-05 15:41 ?2753次閱讀
    <b class='flag-5'>FPGA</b>動態可<b class='flag-5'>重構</b><b class='flag-5'>技術</b>是什么,局部動態可<b class='flag-5'>重構</b>的時序問題解決方案

    FPGA重構技術——FPGA芯片

    FPGA芯片本身就具有可以反復擦寫的特性,允許FPGA開發者編寫不同的代碼進行重復編程,而FPGA重構技術正是在這個特性之上,采用分時復用
    的頭像 發表于 04-26 10:38 ?2970次閱讀

    關于FPGA重構技術分析

    FPGA上的可重構技術根據FPGA芯片內部的不同結構可以分為兩種,分別是動態可重構和靜態可重構。
    發表于 11-03 20:09 ?804次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>