Fpga動態(tài)部分可重構(gòu)區(qū)域的配置方法
【專利摘要】本發(fā)明提出一種FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,包括以下步驟:根據(jù)多個功能模塊的運行信息生成執(zhí)行表;根據(jù)執(zhí)行表生成多個功能模塊的互斥圖;根據(jù)互斥圖生成交集圖;計算多個交集圖節(jié)點的權(quán)值,并將滿足非并發(fā)約束的交集節(jié)點組合成多組候選重構(gòu)集;計算每組候選重構(gòu)集的權(quán)值之和以及占用面積與未在候選重構(gòu)集中的功能模塊的占用面積之和;將權(quán)值之和最大且占用面積小于調(diào)度區(qū)間總面積的候選重構(gòu)集所對應(yīng)的功能模塊配置到FPGA動態(tài)部分可重構(gòu)區(qū)域。根據(jù)本發(fā)明實施例的方法,通過計算交集圖節(jié)點的權(quán)值最優(yōu)且占用面積滿足條件的功能模塊配置到重構(gòu)區(qū)域,可有效地利用片上的資源,降低重構(gòu)時延,提高可重構(gòu)系統(tǒng)的處理速度和效率。
【專利說明】FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及現(xiàn)場可編程門陣列【技術(shù)領(lǐng)域】,特別涉及一種FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法。
【背景技術(shù)】
[0002]現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)技術(shù)具有現(xiàn)場編程(On-site Programming)和可重編程(Re-programming)的靈活性,它通過加載完整的配置文件實現(xiàn)對芯片整體功能的重構(gòu),使得在保證芯片運行速度的基礎(chǔ)上避免了舊芯片的浪費。
[0003]當(dāng)前主流動態(tài)重構(gòu)設(shè)計已完成了邏輯綜合,并且隨著物理網(wǎng)表文件的生成,系統(tǒng)模塊的詳細調(diào)度也可相應(yīng)的確定。由于動態(tài)模塊是以分時的形式共享重構(gòu)區(qū)域,使共享動態(tài)區(qū)域的幾個動態(tài)模塊在運行時間上不能有重疊。如果產(chǎn)生重疊,一旦系統(tǒng)運行到需要分時共享一個動態(tài)區(qū)域的多個動態(tài)模塊同時運行的時候,必然存在不能被及時裝入芯片的動態(tài)模塊,系統(tǒng)也就不能夠正確地執(zhí)行下去。另外,也有部分學(xué)者提出將同時完成劃分、調(diào)度以及任務(wù)在可重構(gòu)區(qū)域上的線性(Linear)布局。這種方式是在每個任務(wù)需要占據(jù)若干片上完整的資源列的條件下成立,然而隨著動態(tài)部分可重構(gòu)技術(shù)的發(fā)展已不滿足該條件。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的旨在至少解決上述的技術(shù)缺陷之一。
[0005]為此,本發(fā)明需要提供一種FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法。該配置方法可以解決功能模塊在時間片上的不能疊加且數(shù)據(jù)處理速度和效率低的問題。
[0006]有鑒于此,本發(fā)明的實施例提出一種FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,包括以下步驟:執(zhí)行表生成步驟,根據(jù)調(diào)度區(qū)間中多個功能模塊的運行信息,生成表示所述調(diào)度區(qū)間的每個時間片上的功能模塊運行狀態(tài)的執(zhí)行表;互斥圖生成步驟,根據(jù)所述執(zhí)行表生成所述多個功能模塊的互斥圖,所述互斥圖描述所述多個功能模塊在時間上的非并發(fā)關(guān)系;交集圖生成步驟,根據(jù)所述多個功能模塊在時間上的非并發(fā)關(guān)系,選取滿足非并發(fā)約束的多個功能模塊的集合作為交集圖節(jié)點,生成交集圖;候選重構(gòu)集組合步驟,計算多個交集圖節(jié)點的權(quán)值,并將所述多個交集圖節(jié)點中滿足非并發(fā)約束的交集節(jié)點組合成多組候選重構(gòu)集;權(quán)值計算步驟,計算每組所述候選重構(gòu)集的權(quán)值之和;面積計算步驟,計算每組所述候選重構(gòu)集的占用面積與未在候選重構(gòu)集中的功能模塊的占用面積之和;可重構(gòu)模塊確定步驟,按照所述權(quán)值之和最大且所述占用面積小于所述調(diào)度區(qū)間總面積的方式確定候選重構(gòu)集,將對應(yīng)的功能模塊配置到所述FPGA動態(tài)部分可重構(gòu)區(qū)域。
[0007]根據(jù)本發(fā)明實施例的方法,通過計算交集圖節(jié)點的重構(gòu)權(quán)值最大且占用面積滿足條件的功能模塊配置到重構(gòu)區(qū)域,可有效地利用片上的資源,降低重構(gòu)時延,提高可重構(gòu)系統(tǒng)的處理速度和效率。
[0008]在本發(fā)明的一個實施例中,所述交集圖生成步驟中,所選取的滿足非并發(fā)約束的多個功能模塊的集合中,如果其中包含的多個功能模塊之間的資源請求差異超過了預(yù)設(shè)的閾值,則不選取為交集圖節(jié)點。
[0009]在本發(fā)明的一個實施例中,所述候選重構(gòu)集組合步驟具體為,在所述多個交集圖節(jié)點中選取滿足所述非并發(fā)約束的至少兩個交集圖節(jié)點構(gòu)成一組候選重構(gòu)集,通過對所述多個交集圖節(jié)點中滿足所述非并發(fā)約束的所有交集圖節(jié)點進行組合得到所述多組候選重構(gòu)集。
[0010]在本發(fā)明的一個實施例中,所述權(quán)值計算步驟具體包括:計算所述每組候選重構(gòu)集中所述交集圖節(jié)點的配置幀數(shù)量;根據(jù)所述配置幀數(shù)量和配置端口的最大帶寬分別得到所述每組候選重構(gòu)集中對應(yīng)交集圖節(jié)點的權(quán)值;以及將對應(yīng)候選重構(gòu)集中的多個交集圖節(jié)點的權(quán)值相加得到所述每組候選重構(gòu)集的權(quán)值之和。
[0011]在本發(fā)明的一個實施例中,所述配置幀數(shù)量通過如下公式獲得,所述公式為,
【權(quán)利要求】
1.一種FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,其特征在于,包括以下步驟:執(zhí)行表生成步驟,根據(jù)調(diào)度區(qū)間中多個功能模塊的運行信息,生成表示所述調(diào)度區(qū)間的每個時間片上的功能模塊運行狀態(tài)的執(zhí)行表;互斥圖生成步驟,根據(jù)所述執(zhí)行表生成所述多個功能模塊的互斥圖,所述互斥圖描述所述多個功能模塊在時間上的非并發(fā)關(guān)系;交集圖生成步驟,根據(jù)所述多個功能模塊在時間上的非并發(fā)關(guān)系,選取滿足非并發(fā)約束的多個功能模塊的集合作為交集圖節(jié)點,生成交集圖;候選重構(gòu)集組合步驟,計算多個交集圖節(jié)點的權(quán)值,并將所述多個交集圖節(jié)點中滿足非并發(fā)約束的交集節(jié)點組合成多組候選重構(gòu)集;權(quán)值計算步驟,計算每組所述候選重構(gòu)集的權(quán)值之和;面積計算步驟,計算每組所述候選重構(gòu)集的占用面積與未在所述候選重構(gòu)集中的功能模塊的占用面積之和;可重構(gòu)模塊確定步驟,按照所述權(quán)值之和最大且所述占用面積小于所述調(diào)度區(qū)間總面積的方式確定候選重構(gòu)集,將對應(yīng)的功能模塊配置到所述FPGA動態(tài)部分可重構(gòu)區(qū)域。
2.如權(quán)利要求1所述的FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,其特征在于,所述交集圖生成步驟中,所選取的滿足非并發(fā)約束的多個功能模塊的集合中,如果其中包含的多個功能模塊之間的資源請求差`異超過了預(yù)設(shè)的閾值,則不選取為交集圖節(jié)點。
3.如權(quán)利要求1所述的FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,所述候選重構(gòu)集組合步驟具體為,`在所述多個交集圖節(jié)點中選取滿足所述非并發(fā)約束的至少兩個交集圖節(jié)點構(gòu)成一組候選重構(gòu)集,通過對所述多個交集圖節(jié)點中滿足所述非并發(fā)約束的所有交集圖節(jié)點進行組合得到所述多組候選重構(gòu)集。
4.如權(quán)利要求1所述的FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,其特征在于,所述權(quán)值計算步驟具體包括:計算所述每組候選重構(gòu)集中所述交集圖節(jié)點的配置幀數(shù)量;根據(jù)所述配置幀數(shù)量和配置端口的最大帶寬分別得到所述每組候選重構(gòu)集中對應(yīng)交集圖節(jié)點的權(quán)值;以及將對應(yīng)候選重構(gòu)集中的多個交集圖節(jié)點的權(quán)值相加得到所述每組候選重構(gòu)集的權(quán)值之和。
5.如權(quán)利要求4所述的FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,其特征在于,所述配置幀數(shù)量通過如下公式獲得,所述公式為,
6.如權(quán)利要求4所述的FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,其特征在于,所述每個交集圖節(jié)點的權(quán)值通過如下公式獲得,所述公式為,RD_PRRj=cfjXWf/Rs,其中,RD_PR&為交集圖中節(jié)點i的權(quán)值,cfj為交集圖中節(jié)點i的配置幀數(shù)量,Wf為每個配置幀的大小,Rs為配置端口的最大帶寬。
7.如權(quán)利要求1所述的FPGA動態(tài)部分可重構(gòu)區(qū)域的配置方法,其特征在于,所述候選重構(gòu)集對應(yīng)方案的占用面積通過如下公式獲得,所述公式為,
【文檔編號】G06F9/44GK103677837SQ201310693431
【公開日】2014年3月26日 申請日期:2013年12月17日 優(yōu)先權(quán)日:2013年12月17日
【發(fā)明者】馬昱春, 何瑞寧, 張超 申請人:清華大學(xué)