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