RM新时代网站-首页

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

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

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

FPGA的重構(gòu)是什么,具有哪些要點(diǎn)

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2021-07-02 17:39 ? 次閱讀

“重構(gòu)”對(duì)于剛接觸FPGA的人來說,可謂十分神秘,對(duì)于已經(jīng)入門的人來說很“簡(jiǎn)單”,但是你真的了解FPGA的重構(gòu)嗎?

術(shù)語“重構(gòu)”是指FPGA已經(jīng)配置后的重新編程。FPGA的重構(gòu)有兩種類型:完全的和部分的。完全重構(gòu)將整個(gè)FPGA重新編程,而部分重構(gòu)只取代設(shè)計(jì)的一部分,設(shè)計(jì)的剩下部分仍正常工作。部分重構(gòu)不被視為完全重構(gòu)的特殊情況,因?yàn)閮烧呋鞠嗤?。?duì)FPGA執(zhí)行部分重構(gòu)通過使用與完全重構(gòu)(JTAG、CAP或SelectMAP接口)相同的方法來進(jìn)行,如上一節(jié)所述。比特流的結(jié)構(gòu)對(duì)于完全和部分重構(gòu)來說都是相同的。

FPGA重構(gòu)具有以下幾個(gè)優(yōu)點(diǎn)。它允許多個(gè)設(shè)計(jì)共享同一個(gè)FPGA架構(gòu),這反過來又降低了FPGA的面積、成本和系統(tǒng)復(fù)雜性。完全和部分重構(gòu)為許多FPGA的創(chuàng)新應(yīng)用程序提供了可能,否則,高昂的成本將影響應(yīng)用程序?qū)崿F(xiàn)。利用FPGA重構(gòu)優(yōu)勢(shì)的一些應(yīng)用如DSP音頻視頻處理器等,它們根據(jù)用戶輸人,由包括集成深度包檢測(cè)通信控制器修改處理算法,以改變基于協(xié)議的數(shù)據(jù)包處理器。很多工業(yè)和學(xué)術(shù)性的FPGA重構(gòu)方面的研究不斷產(chǎn)生有價(jià)值的應(yīng)用、研究論文和學(xué)位論文。

雖然部分重構(gòu)技術(shù)不是一項(xiàng)新功能,也不是主流的研究方向,但是設(shè)計(jì)和實(shí)現(xiàn)流程、工具支持甚至名詞術(shù)語都在不斷發(fā)展,用戶界面越來越友好。最終目標(biāo)是向FPGA開發(fā)者提供簡(jiǎn)單和透明的設(shè)計(jì)流程,無須詳細(xì)了解配置邏輯和比特流結(jié)構(gòu)。部分重構(gòu)是一項(xiàng)復(fù)雜過程,在設(shè)計(jì)實(shí)現(xiàn)、工具流程和重構(gòu)本身的過程中充斥著多重挑戰(zhàn)。面臨的一個(gè)挑戰(zhàn)是在FPGA配置的變化過程中,完成平滑切換而無須中斷剩余設(shè)計(jì)功能或損害其完整性。而在完全重構(gòu)過程中,F(xiàn)PGA架構(gòu)和10不能保持在復(fù)位。另一項(xiàng)挑戰(zhàn)是在改變過程中,防止設(shè)計(jì)的未改動(dòng)部分進(jìn)入無效狀態(tài)。設(shè)計(jì)者必須正確界定和約束未改動(dòng)和改動(dòng)部分之間的接口。這樣,F(xiàn)PGA物理實(shí)現(xiàn)工具才能進(jìn)行配置并使用完全相同的布線資源。

有三個(gè)部分重構(gòu)流程可用于Xilinx FPGA基于差異的(difference based)、基于分層的(partition based)及使用動(dòng)態(tài)重構(gòu)端口?;诓町惖牟糠种貥?gòu)基于差異的部分重構(gòu)[2]最適合用于將小型設(shè)計(jì)轉(zhuǎn)化為L(zhǎng)UT方程、IO特征和BRAM中的內(nèi)容。以下是一個(gè)簡(jiǎn)單的、基于差異的部分重構(gòu)代碼和流程舉例,它可以運(yùn)行在Xilinx開發(fā)板上。

//原始模塊:當(dāng)兩個(gè)按鈕都按下時(shí),點(diǎn)亮LED

module top(input btn0,btnl,output led); assign led=btn0&btnl;endmodule//top

//部分重構(gòu)模塊:當(dāng)兩個(gè)按鈕之一按下時(shí),點(diǎn)亮LEDbutton is pressed

module top_pr(input btn0,btn1,output led); assign led=btn0 | btn1;endmodule//top_pr

#約朿文件:對(duì)兩個(gè)設(shè)計(jì)都相同

NET “btnO” LOC= “A18” ;NET “btnl” LOC= “H17” ;NET “l(fā)ed” LOC= “AD21”;

#實(shí)現(xiàn)LED功能的LUT被鎖定到特定邏輯片中#對(duì)于原始設(shè)計(jì),LUT函數(shù)是btn0 & btn1#對(duì)于部分重構(gòu)設(shè)計(jì),LUT函數(shù)是btn0|btn1

INST “l(fā)ed” AREA_GROUP=“l(fā)ed”;AREA_GROUP “l(fā)ed” RANGE = SLICE_X65Y168:SLICE_X65Y168;

#bitgen命令用于產(chǎn)生部分重構(gòu)比特流#ActiveReconfig和Persist選項(xiàng)在配置變化期間置為全局復(fù)位

$bitgen -g ActiveReconfig:Yes -g Persist:Yes -r top_orig.bittop_pr.ncd top_pr.bittop_orig.bit:原始設(shè)計(jì)的比特流top_pr.ncd:部分重構(gòu)設(shè)計(jì)的布局布線后輸出top_pr.bit:得到的部分重構(gòu)比特流結(jié)果

上面例子中基于差異的部分重構(gòu)流程包括以下步驟:

(1)編譯top模塊。結(jié)果是比特流文件top_orig.bit。(2)編譯top_pr模塊。結(jié)果是布局布線后文件top_pr.ncd。(3)使用top.orig.bit比特流和top_pr.ncd,生成包含兩個(gè)設(shè)計(jì)之間LED LUT方程差異的比特流。

基于分層的部分重構(gòu)

與基于差異的重構(gòu)不同,基于分層的部分重構(gòu)流程支持重構(gòu)大型部件FPGA設(shè)計(jì)。PlanAhead工具它提供了用于配置、實(shí)現(xiàn)和使用分層管理部分重構(gòu)項(xiàng)目的集成環(huán)境。設(shè)計(jì)和實(shí)現(xiàn)流程的簡(jiǎn)要概述如下所示

:?FPGA開發(fā)者指定待配置的部分設(shè)計(jì)

?在FPGA芯片上包含所需邏輯、嵌入式存儲(chǔ)器、10和其他資源的區(qū)域。?開發(fā)者定義覆蓋該區(qū)域的所有可能設(shè)計(jì)變量。

?PlanAhead工具管理所有諸如編譯設(shè)計(jì)的細(xì)節(jié),包括管理多個(gè)網(wǎng)表、靜態(tài)的和可重構(gòu)的設(shè)計(jì)部分,執(zhí)行DRC,并產(chǎn)生合適的比特流。

Xilinx應(yīng)用提示XAPP883提供了使用部分重構(gòu)的示例,以允許嵌入式PCI Exress接口模塊的快速配置。

動(dòng)態(tài)重構(gòu)端口

改變Xilinx GTX收發(fā)器、混合模式時(shí)鐘管理器(MMCM)和System Monitor原語設(shè)置的另一種方法,是使用動(dòng)態(tài)重構(gòu)端口(DRP)DRP提供了一個(gè)簡(jiǎn)單的用戶邏輯接口,不需要更多地了解配置寄存器和比特流結(jié)構(gòu)。例如,DRP允許輸出時(shí)鐘頻率、相位和MMCM的占空比動(dòng)態(tài)變化。

文章出處:【微信公眾號(hào):OpenFPGA】

責(zé)任編輯:gt


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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602986
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177806
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8575

    瀏覽量

    151015

原文標(biāo)題:FPGA 的重構(gòu)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    重構(gòu):改善既有代碼的設(shè)計(jì)」實(shí)戰(zhàn)篇

    背景 在軟件開發(fā)的世界里,代碼重構(gòu)是提升項(xiàng)目質(zhì)量、適應(yīng)業(yè)務(wù)變化的關(guān)鍵步驟。最近,我重新翻閱了《重構(gòu):改善既有代碼的設(shè)計(jì) 第二版》,這本書不僅重新點(diǎn)燃了我對(duì)重構(gòu)的熱情,還深化了我的理解:重構(gòu)
    的頭像 發(fā)表于 08-14 10:42 ?248次閱讀
    「<b class='flag-5'>重構(gòu)</b>:改善既有代碼的設(shè)計(jì)」實(shí)戰(zhàn)篇

    FPGA和ASIC有什么不同之處

    FPGA是“可重構(gòu)邏輯”器件。先制造的芯片,再次設(shè)計(jì)時(shí)“重新配置”。
    的頭像 發(fā)表于 07-24 09:32 ?1012次閱讀
    <b class='flag-5'>FPGA</b>和ASIC有什么不同之處

    FPGA技術(shù)的主要應(yīng)用

    FPGA(Field-Programmable Gate Array)技術(shù),即現(xiàn)場(chǎng)可編程門陣列,是一種可編程邏輯設(shè)備,它允許設(shè)計(jì)人員根據(jù)具體需求進(jìn)行靈活的硬件配置和功能實(shí)現(xiàn)。由于其高度的可重構(gòu)
    的頭像 發(fā)表于 07-17 16:38 ?2591次閱讀

    基于FPGA的CCD工業(yè)相機(jī)系統(tǒng)設(shè)計(jì)

    基于FPGA的CCD工業(yè)相機(jī)系統(tǒng)設(shè)計(jì)是一個(gè)綜合性的項(xiàng)目,它結(jié)合了硬件電路設(shè)計(jì)、FPGA編程以及圖像處理技術(shù)。以下是一個(gè)詳細(xì)的系統(tǒng)設(shè)計(jì)方案,包括設(shè)計(jì)概述、硬件架構(gòu)、FPGA編程要點(diǎn)以及部
    的頭像 發(fā)表于 07-17 11:24 ?1140次閱讀

    如何快速入門FPGA

    電路。它允許用戶通過編程對(duì)內(nèi)部的邏輯模塊和I/O模塊進(jìn)行重新配置,以實(shí)現(xiàn)特定功能。FPGA具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性。 熟悉FPGA的基本結(jié)構(gòu),包括可編程輸入輸出單元、可
    發(fā)表于 04-28 09:06

    如何快速入門FPGA?

    電路。它允許用戶通過編程對(duì)內(nèi)部的邏輯模塊和I/O模塊進(jìn)行重新配置,以實(shí)現(xiàn)特定功能。FPGA具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性。 熟悉FPGA的基本結(jié)構(gòu),包括可編程輸入輸出單元、可
    發(fā)表于 04-28 08:54

    fpga和數(shù)字ic區(qū)別 fpga和plc區(qū)別

    fpga和數(shù)字ic區(qū)別 FPGA(現(xiàn)場(chǎng)可編程邏輯門陣列)和數(shù)字IC(集成電路)在設(shè)計(jì)、功能、應(yīng)用等方面存在顯著的區(qū)別。 FPGA和數(shù)字IC在設(shè)計(jì)上有不同的特點(diǎn)。FPGA是一種可以
    的頭像 發(fā)表于 03-14 18:08 ?2615次閱讀

    fpga芯片的主要特點(diǎn)包括 fpga芯片上市公司

    具有顯著優(yōu)勢(shì),特別適用于實(shí)時(shí)性要求高的應(yīng)用場(chǎng)景。 設(shè)計(jì)靈活與可重構(gòu)性:FPGA芯片屬于硬件可重構(gòu)的芯片結(jié)構(gòu),其內(nèi)部設(shè)置了數(shù)量豐富的輸入輸出單元引腳及觸發(fā)器。這種靈活性使得
    的頭像 發(fā)表于 03-14 16:46 ?1129次閱讀

    FPGA設(shè)計(jì)需要掌握的四大核心要點(diǎn)

    CPU core:分為2種,軟core和硬core.軟core是用邏輯代碼寫的CPU模塊,可以在任何資源足夠的FPGA中實(shí)現(xiàn),使用非常靈活。而且在大容量的FPGA中還可以集成多個(gè)軟core,實(shí)現(xiàn)多核并行處理。
    發(fā)表于 03-14 11:36 ?853次閱讀
    <b class='flag-5'>FPGA</b>設(shè)計(jì)需要掌握的四大核心<b class='flag-5'>要點(diǎn)</b>

    FPGA資源與AISC對(duì)應(yīng)關(guān)系

    情況下,FPGA可以被用作ASIC的原型驗(yàn)證平臺(tái),幫助設(shè)計(jì)師驗(yàn)證和優(yōu)化ASIC的設(shè)計(jì)。然而,由于FPGA的靈活性和可重構(gòu)性,它的資源使用效率通常低于專門為特定任務(wù)優(yōu)化的ASIC。
    發(fā)表于 02-22 09:52

    fpga是什么 fpga用什么編程語言

    FPGA(Field-Programmable Gate Array)是一種可編程邏輯技術(shù),它使用可重構(gòu)的硬件單元(如門陣列和查找表)來實(shí)現(xiàn)電路功能。相比傳統(tǒng)的專用集成電路(ASIC),FPGA
    的頭像 發(fā)表于 02-04 15:26 ?1656次閱讀

    電機(jī)的維修保養(yǎng) | 點(diǎn)檢要點(diǎn)

    電機(jī)的視覺點(diǎn)檢要點(diǎn) 要點(diǎn)一、電機(jī)的轉(zhuǎn)速是否正常,有無轉(zhuǎn)速抖動(dòng)、堵轉(zhuǎn)現(xiàn)象(可用轉(zhuǎn)速表檢查)。 要點(diǎn)二、電機(jī)的地腳螺栓是否松動(dòng),基礎(chǔ)是否完好,周圍有無雜物等。 要點(diǎn)三、電機(jī)的罩殼、聯(lián)軸器是
    的頭像 發(fā)表于 02-02 16:54 ?674次閱讀
    電機(jī)的維修保養(yǎng) | 點(diǎn)檢<b class='flag-5'>要點(diǎn)</b>

    FPGA分類

    FPGA :通常具有少于10,000個(gè)邏輯單元。這類FPGA適用于簡(jiǎn)單、低成本的設(shè)計(jì)。 中規(guī)模FPGA :通常具有10,000到100,00
    發(fā)表于 01-26 10:09

    rct設(shè)計(jì)方案的要點(diǎn)及主要內(nèi)容

    RCT(隨機(jī)對(duì)照試驗(yàn))是一種科學(xué)研究方法,用于評(píng)估某種干預(yù)措施的有效性。在設(shè)計(jì)RCT的方案時(shí),有幾個(gè)要點(diǎn)和內(nèi)容需要被詳細(xì)考慮和描述。本文將詳細(xì)介紹RCT設(shè)計(jì)方案的要點(diǎn)和主要內(nèi)容。 一、研究目的與研究
    的頭像 發(fā)表于 01-02 16:41 ?5624次閱讀

    FPGA與GPU的區(qū)別

    和GPU之間的區(qū)別。 架構(gòu): FPGA是一種可編程邏輯器件,它由一系列可編程的邏輯單元(LOOKUP表和寄存器)組成,并通過可編程的互連網(wǎng)絡(luò)進(jìn)行連接。這使得FPGA具有高度的靈活性和可重構(gòu)
    的頭像 發(fā)表于 12-25 15:28 ?1723次閱讀
    RM新时代网站-首页