術語“重構”是指FPGA已經(jīng)配置后的重新編程。FPGA的重構有兩種類型:完全的和部分的。完全重構將整個FPGA重新編程,而部分重構只取代設計的一部分,設計的剩下部分仍正常工作。部分重構不被視為完全重構的特殊情況,因為兩者基本相同。對FPGA執(zhí)行部分重構通過使用與完全重構(JTAG、ICAP、或SelectMAP接口)相同的方法來進行,比特流的結構對于完全和部分重構來說都是相同的。
FPGA重構具有以下幾個優(yōu)點。它允許多個設計共享同一個FPGA結構,這反過來又降低了FPGA的面積、成本和系統(tǒng)復雜性。完全和部分重構為許多FPGA的創(chuàng)新應用程序提供了可能,負責,高昂的成本將影響應用程序實現(xiàn)。利用FPGA重構優(yōu)勢的一些應用如DSP、音頻或視頻處理器等,他們根據(jù)用戶輸入,由包括集成深度包檢測的通信控制器修改處理算法,以改變基于協(xié)議的數(shù)據(jù)包處理器。
很多工業(yè)和學術性的FPGA重構方面的研究不斷產生有價值的應用、研究論文和學位論文。
雖然部分重構技術不是一項新功能,也不是主流的研究方向,但是設計和實現(xiàn)流程、工具支持甚至名詞術語都在不斷發(fā)展,用戶界面越來越友好。最終目標是向FPGA開發(fā)者提供簡單和透明的設計流程,無需詳細了解配置邏輯和比特流結構。
部分重構是一項復雜過程,在設計實現(xiàn)。工具流程和重構本身的過程中充斥著多重挑戰(zhàn)。面臨的一個挑戰(zhàn)是在FPGA配置的變化過程中,完成平滑切換而無須中斷剩余設計功能或損害其完整性。而在完全重構過程中,F(xiàn)PGA架構和IO不能保持在復位。另一項挑戰(zhàn)是在改變過程中,防止設計的未改動部分進入無效狀態(tài)。設計者必須正確界定和約束未改動和改動部分之間的接口,這樣,F(xiàn)PGA物理實現(xiàn)工具才能進行配置并使用完全相同的布線資源。
有三個部分重構流程可用于XIlinx FPGA;基于差異的(difference based)、基于分層的(partition based)及使用動態(tài)重構端口。
基于差異的部分重構
其于差異的部分重構2最活合用于將小型設計轉化為LUT方程、IO特征和BRAM中的內容。以下是一個簡單的、 基于差異的部分重構代碼和流程舉例,它可以運行在Xilinx的ML605 Virtex-6 開發(fā)板上。

上面例子中基于差異的部分重構流程包括以下步驟:
(1 )編譯top模塊。結果是比特流文件top_orig. bit。
(2)編譯top_pr模塊。結果是布局布線后文件top_pr. ned。
(3)使用top._orig.bit比特流和top_pr.ned,生成包含兩個設計之間LED LUT方程差異的比特流。
基于分層的部分重構
與基于差異的重構不同,基于分層的部分重構流程支持重構大型部件FPGA設計。PlanAhead工具只支持Xilinx Virtex-6系列(不支持Spartan-6 FPGA), 它提供了用于配置、實現(xiàn)和使用分層管理部分重構項目的集成環(huán)境。設計和實現(xiàn)流程的簡要概述如下所示:。
1.FPGA開發(fā)者指定待配置的部分設計。
2.在FPGA芯片上包含所需邏輯、嵌人式存儲器、IO和其他資源的區(qū)域。
3.開發(fā)者定義覆蓋該區(qū)域的所有可能設計變量。
4.PlanAhead工具管理所有諸如編譯設計的細節(jié),包括管理多個網(wǎng)表、靜態(tài)的和可重構的設計部分,執(zhí)行DRC,并產生合適的比特流。
Xilinx應用提示XAPP8833)提供了使用部分重構的示例,以允許嵌人式PCI Express接口模塊的快速配置。
動態(tài)重構端口
改變Xilinx GTX收發(fā)器、混合模式時鐘管理器(MMCM)和SystemMonior原語設置的另一種方法,是使用動態(tài)重構端口(DRP)。DRP提供了一個簡單的用戶邏輯接口,不需要更多地了解配置寄存器和比特流結構。例如,DRP允許輸出時鐘頻率、相位和MMCM4的占空比動態(tài)變化。
原文標題:FPGA知識匯集-FPGA的重構
文章出處:【微信公眾號:FPGA技術聯(lián)盟】歡迎添加關注!文章轉載請注明出處。
-
FPGA
+關注
關注
1655文章
22285瀏覽量
630295 -
控制器
+關注
關注
114文章
17638瀏覽量
190258 -
接口
+關注
關注
33文章
9444瀏覽量
156143 -
編程
+關注
關注
90文章
3707瀏覽量
96765
原文標題:FPGA知識匯集-FPGA的重構
文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術聯(lián)盟】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
FPGA可重構設計的結構基礎
FPGA的重構方式
支持重構的FPGA器件
基于FPGA的可重構系統(tǒng)結構分析
MPU+FPGA結構的可重構系統(tǒng)的結構特
有什么FPGA可重構方法可以對EPCS在線編程?
如何利用ARM與FPGA設計重構控制器?
如何去實現(xiàn)FPGA動態(tài)部分的重構?
怎么實現(xiàn)基于FPGA的動態(tài)可重構系統(tǒng)設計?
基于對EPCS在線編程的FPGA可重構方法
基于CPLD的FPGA快速動態(tài)重構設計

FPGA重構優(yōu)勢有哪些
評論