一種基于時序復(fù)用的fpga資源優(yōu)化方案的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子信息技術(shù)領(lǐng)域,具體是指一種基于時序復(fù)用的FPGA資源優(yōu)化方案。
【背景技術(shù)】
[0002]一種基于FPGA實現(xiàn)多通道并行處理方法,即一種用于多路數(shù)據(jù)流的處理方法,以四輸入為例,描述一種用于多路數(shù)據(jù)流的處理,其輸入數(shù)據(jù)時序以及處理要求如下:
1.輸入數(shù)據(jù)時序:數(shù)據(jù)流a,b,c和d四路數(shù)據(jù)以一倍時鐘速率,用clk_lx表示,并行輸入data_l,data_2,data_3和data_4通道并持續(xù)更新,如附圖1所示,即在clk_lx的每個時鐘上升沿到達時,data_l,data_2,data_3和data_4都有新的輸入到達;即通道a,b,c和d都有新的輸入到達;
2.處理要求:在clk_lx的每個時鐘上升沿到達時,分別以a,b,c和d為參考,進行數(shù)據(jù)處理,即完成如圖2所示的序列轉(zhuǎn)換,其中每個單元格中的元素為參與處理的數(shù)據(jù),且每個單元格中的第一個元素表示作為當前處理數(shù)據(jù)的參考數(shù)據(jù);時刻與clk_lx時刻涵義相同。
[0003]針對上文所述的數(shù)據(jù)流時序和數(shù)據(jù)流處理要求,現(xiàn)有的處理過程主要有兩類:并行處理和串行處理,分別描述如下:
一、串行處理,其處理結(jié)構(gòu)如圖3,包括依次連接的數(shù)據(jù)采集器1,時隙分配模塊11,處理模塊2,其處理時序如圖4、5所示,以四倍時鐘,以4 clk_lx表示,作為一個大周期;每個大周期包括四個等分的相位,即每個相位為clk_lx,每一倍時鐘周期為一個相位。將每一路輸入數(shù)據(jù)按不同的相位取出,復(fù)制四份按時隙分配到圖4對應(yīng)的時序,輸入到四個相同的數(shù)據(jù)串行連接的處理模塊2,其處理時序工作狀態(tài)示意圖如圖5所示,第一個大周期的第一個相位時,時隙分配模塊11從入口讀入al,bl,Cl,dl,將其分配至處理模塊21進行以al為參考的數(shù)據(jù)處理;第一個大周期的第二個相位時,時隙分配模塊從入口讀入a2,b2, c2, d2,將其分配至處理模塊22進行以a2為參考的數(shù)據(jù)處理,同時模塊I進行以bl為參考的數(shù)據(jù)處理;第一個大周期的第三個相位時,時隙分配模塊從入口讀入a3,b3,c3,d3,將其分配至處理模塊23進行以a3為參考的處理,同時模塊I進行以Cl為參考的數(shù)據(jù)處理,模塊2進行以b2為參考的數(shù)據(jù)處理;第一個大周期的第四個相位時,時隙分配模塊從入口讀入a4,b4,c4,d4,將其分配至處理模塊24進行以a4為參考的處理,同時模塊I進行以dl為參考的數(shù)據(jù)處理,模塊2進行以c2為參考的數(shù)據(jù)處理,模塊3進行以b3為參考的數(shù)據(jù)處理;第二個大周期的第一個相位時,時隙分配模塊從入口讀入a5,b5,c5,d5將其分配至處理模塊21進行以a5為參考的數(shù)據(jù)處理;后續(xù)按照上述規(guī)律依次進行。該方案需要四個相同的計算模塊,即計算資源消耗四份,但其四路處理耗時為單路處理耗時的四倍;
二、并行處理:其處理結(jié)構(gòu)如圖6所示,包括依次連接的數(shù)據(jù)采集器I,處理模塊2,將每一路數(shù)據(jù)流復(fù)制為四路數(shù)據(jù)并調(diào)整連接順序,輸入到四個相同的數(shù)據(jù)并行的處理模塊2,其處理時序如圖7、8所示,以四輸入為例,每個clk_lx相位到來,處理模塊21的a,b,c和d四路數(shù)據(jù)讀入al,bl,Cl,dl,以al作為參考進行處理;處理模塊22讀入al,bl,cl,dl,以bl作為參考進行處理;處理模塊23讀入al,bl,cl,dl,以Cl作為參考進行處理;處理模塊24讀入al,bl,cl,dl,以dl作為參考進行處理;后續(xù)按此規(guī)律依次進行。該方法需要四個相同的計算模塊,即計算資源消耗四份,但其同時四路處理耗時與單路處理耗時相同,因此稱為并行處理,優(yōu)點在于相較串行處理而言縮短了四倍處理時間,但消耗的計算資源為四份。
[0004]上述串、并行處理均需要四個相同的計算模塊,即計算資源消耗四份。本申請人針對上述現(xiàn)有技術(shù)之缺失與不便之處,秉持著研究創(chuàng)新、精益求精之精神,利用其專業(yè)眼光和專業(yè)知識,研究出一種基于時序復(fù)用的FPGA資源優(yōu)化方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,從而提供一種同時支持降低上述數(shù)據(jù)處理的處理時資源消耗和處理延遲的資源優(yōu)化方案,即一種基于時序復(fù)用的FPGA資源優(yōu)化方案。
[0006]本發(fā)明的技術(shù)方案在于,包括數(shù)據(jù)采集器和處理模塊,所述數(shù)據(jù)采集器設(shè)置η路數(shù)據(jù)采集,
其特征是,還包括設(shè)置在數(shù)據(jù)采集器和處理模塊之間的采集與時隙分配模塊;
步驟1,采集與時隙分配模塊將η路數(shù)據(jù)合成串行數(shù)據(jù)輸入,生成與η路數(shù)據(jù)對應(yīng)的N個時鐘相位,
步驟2,再將此串行數(shù)據(jù)復(fù)制η份,η份串行數(shù)據(jù)按時隙分配到圖11所示的時序;
步驟3,采集與時隙分配模塊將FPGA的處理時鐘速度由clk_lx提高至clk_nx,并且將連續(xù)的η個clk_nx相位分別分配至運算模塊,進行串行或者并行的數(shù)據(jù)處理,其中第一個clk_nx相位進行以al為參考的數(shù)據(jù)處理;第二個clk_nx相位進行以bl為參考的數(shù)據(jù)處理;第三個clk_nx相位進行以Cl為參考的處理,第N個clk_nx相位進行以nl為參考的處理;
步驟4,后續(xù)的η路數(shù)據(jù),按照步驟3進行循環(huán)處理。
[0007]由以上說明可以得到如下結(jié)論:η路處理的資源消耗為一個計算模塊,η路處理的處理耗時與原方案的一路處理耗時相同。
[0008]本發(fā)明利用FPGA時序復(fù)用方法使多通道處理過程共用一套電路,通過采集與時隙分配,將FPGA的處理時鐘提高四倍,達到節(jié)省資源的目的。優(yōu)點在于:1、四路處理的資源消耗為一個計算模塊;即硬件資源只需要消耗一份,節(jié)約了資源的使用;2、四路處理的處理耗時與原方案的單路處理耗時相同,節(jié)省了時間的占用;3、既能支持并行處理模式,也能支持串行處理模式;4、各時間節(jié)點完全無縫銜接,不需要占用額外的緩存。
【附圖說明】
[0009]圖1為現(xiàn)有技術(shù)四輸入數(shù)據(jù)通道示意圖。
[0010]圖2為圖1數(shù)據(jù)處理示意圖。
[0011]圖3為串行處理過程結(jié)構(gòu)圖。
[0012]圖4為串彳丁處理時序圖。
[0013]圖5為串彳丁處理時序工作狀態(tài)不意圖。
[0014]圖6為并行處理過程結(jié)構(gòu)圖。
[0015]圖7為并行處理時序圖。
[0016]圖8為并行處理時序工作狀態(tài)示意圖。
[0017]圖9為本發(fā)明處理過程結(jié)構(gòu)圖。
[0018]圖10為本發(fā)明處理時序圖。
[0019]圖11為本發(fā)明處理時序工作狀態(tài)示意圖。
[0020]圖12為時隙分配原理圖。
【具體實施方式】
[0021]下面結(jié)合附圖9至12對本發(fā)明的優(yōu)選實施例作進一步說明,以四路數(shù)據(jù)采集為例,本發(fā)明包括數(shù)據(jù)采集器I和處理模塊2,所述數(shù)據(jù)采集器I設(shè)置四路數(shù)據(jù)采集,還包括設(shè)置在數(shù)據(jù)采集器I和處理模塊3之間的采集與時隙分配模塊3 ;
步驟1,采集與時隙分配模塊3將四路數(shù)據(jù)a,b,c,d合成串行數(shù)據(jù)輸入,參見附圖10至11的“data_in”,生成與四路數(shù)據(jù)對應(yīng)的O至3,共計四個時鐘相位,參見附圖10至11的 “cnt”,
步驟2,再將此串行數(shù)據(jù)復(fù)制四份,四份串行數(shù)據(jù)按時隙分配到圖11所示的時序;
步驟3,采集與時隙分配模塊3將FPGA的處理時鐘速度由clk_lx提高至clk_nx,并且將連續(xù)的四個clk_nx相位分別分配至運算模塊2,進行串行或者并行的數(shù)據(jù)處理,串行處理或并行處理模式的選擇為初始設(shè)定,其處理過程如圖9至12所示,其中第一個Clk_4x相位進行以al為參考的數(shù)據(jù)處理;第二個clk_4x相位進行以bl為參考的數(shù)據(jù)處理;第三個clk_4x相位進行以Cl為參考的處理,第四個clk_4x相位進行以dl為參考的處理;
步驟4,后續(xù)的四路數(shù)據(jù),按照步驟3進行循環(huán)處理。
[0022]特別地,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,例如,三路輸入,或者五路輸入,只需相應(yīng)地改變FPGA的處理時鐘速度為clk_3x或者clk_5x即可,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
[0023]由以上說明可以得到如下結(jié)論:四路處理的資源消耗為一個計算模塊,四路處理的處理耗時與現(xiàn)有技術(shù)中單路處理耗時相同,從而節(jié)省了。本發(fā)明的局限性在于,必須應(yīng)用于輸入時鐘速率相對較低的場景,即時鐘速率要求處理時鐘倍頻以后仍能滿足所選FPGA器件的時序要求。
【主權(quán)項】
1.一種基于時序復(fù)用的FPGA資源優(yōu)化方案,包括數(shù)據(jù)采集器(I)和處理模塊(2),所述數(shù)據(jù)采集器(I)設(shè)置η路數(shù)據(jù)采集, 其特征是,還包括設(shè)置在數(shù)據(jù)采集器(I)和處理模塊(2)之間的采集與分配模塊(3); 優(yōu)化方案包括: 步驟1,采集與時隙分配模塊(3)將η路數(shù)據(jù)合成串行數(shù)據(jù)輸入,生成與η路數(shù)據(jù)對應(yīng)的N個時鐘相位, 步驟2,再將此串行數(shù)據(jù)復(fù)制η份,η份串行數(shù)據(jù)按時隙分配時序; 步驟3,采集與時隙分配模塊(3)將FPGA的處理時鐘速度由clk_lx提高至clk_nx,并且將連續(xù)的η個clk_nx相位分別分配至運算模塊(2),其中第一個clk_nx相位進行以al為參考的數(shù)據(jù)處理;第二個clk_nx相位進行以bl為參考的數(shù)據(jù)處理;第三個clk_nx相位進行以cl為參考的處理,第N個clk_nx相位進行以nl為參考的處理; 步驟4,后續(xù)的η路數(shù)據(jù),按照步驟3進行循環(huán)處理。
【專利摘要】本發(fā)明涉及電子信息技術(shù)領(lǐng)域,具體是指一種基于時序復(fù)用的FPGA資源優(yōu)化方案,本發(fā)明的技術(shù)方案在于,包括數(shù)據(jù)采集器和處理模塊,所述數(shù)據(jù)采集器設(shè)置n路數(shù)據(jù)采集,還包括設(shè)置在數(shù)據(jù)采集器和處理模塊之間的采集與時隙分配模塊;本發(fā)明利用FPGA時序復(fù)用方法使多通道處理過程共用一套電路,通過采集與時隙分配,將FPGA的處理時鐘提高四倍,達到節(jié)省資源的目的。優(yōu)點在于:1、節(jié)約了資源的使用;2、節(jié)省了時間的占用;3、支持并行、串行處理模式;4、不需要占用額外的緩存。
【IPC分類】G06F9/50
【公開號】CN105335232
【申請?zhí)枴緾N201510601919
【發(fā)明人】吳天笑, 吳月輝
【申請人】湖南中森通信科技有限公司
【公開日】2016年2月17日
【申請日】2015年9月21日