專利名稱:可縮放大規(guī)模二維卷積電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式計(jì)算機(jī)高速協(xié)處理部件,涉及一種可縮放大規(guī)模二維卷積電路,用于大幅提高嵌入式計(jì)算機(jī)在進(jìn)行圖像匹配時(shí)的計(jì)算速度。
背景技術(shù):
現(xiàn)有技術(shù)在進(jìn)行圖像匹配計(jì)算時(shí),都是用微處理器(包括DSP微處理器)進(jìn)行的,由于計(jì)算量大,單個(gè)微處理器(DSP)達(dá)不到實(shí)時(shí)性要求,為加快計(jì)算速度,用多個(gè)微處理器(DSP)來(lái)并行計(jì)算,但這增加了體積、功耗,也降低了可靠性,滿足不了嵌入式應(yīng)用要求。
發(fā)明內(nèi)容
針對(duì)上述現(xiàn)有技術(shù)存在的缺陷與不足,本發(fā)明的目的在于,提供一種可縮放大規(guī)模二維卷積電路,該電路在嵌入式條件下,能夠大幅提高處理速度,既提高了實(shí)時(shí)性,又確??煽啃?,而且具有較廣的應(yīng)用范圍。
為了實(shí)現(xiàn)上述任務(wù),本發(fā)明采取如下的技術(shù)解決方案一種可縮放大規(guī)模二維卷積電路,其特征在于面向算法設(shè)計(jì),充分挖掘算法中的并行性特點(diǎn),應(yīng)用資源重復(fù)與時(shí)間重疊技術(shù),用硬件電路直接完成計(jì)算;同時(shí)可根據(jù)計(jì)算環(huán)境的變化,縮放計(jì)算規(guī)模。電路包括一個(gè)基準(zhǔn)圖像素寄存器Y,數(shù)據(jù)寬度為8位;一個(gè)實(shí)時(shí)圖像素寄存器組X,數(shù)據(jù)寬度為8位,由128個(gè)8位寄存器x0~x127構(gòu)成移位寄存器,其寄存器x0的輸出接至片外,以備級(jí)連時(shí)連接,X值以串行方式移入寄存器組;乘法器組,由128個(gè)的陣列乘法器M0,M1,.....M127組成,每一個(gè)乘法器Mi的兩個(gè)輸入,來(lái)自基準(zhǔn)圖像素寄存器Y和對(duì)應(yīng)的實(shí)時(shí)圖像素寄存器xi;
乘積寄存器組,由128個(gè)寄存器p0,p1,....p127組成,數(shù)據(jù)寬度為16位,寄存器pi輸入接相應(yīng)乘法器Mi輸出;加法器組,由128個(gè)加法器A0,A1,......A127構(gòu)成,每個(gè)加法器Ai的兩個(gè)輸入來(lái)自相應(yīng)的乘積寄存器pi和中間結(jié)果寄存器Si-1;中間結(jié)果寄存器組,由128個(gè)寄存器S0,S1,.....S127組成,數(shù)據(jù)寬度16~26位,每個(gè)中間結(jié)果寄存器Si用于暫存相應(yīng)加法器Ai的和;一個(gè)輸出電路,用于計(jì)算結(jié)果的三態(tài)輸出,以便與CPU的總線相連;一個(gè)控制電路,用于產(chǎn)生時(shí)鐘、讀寫(xiě)、片選以及清除信號(hào)。
本發(fā)明的可縮放大規(guī)模二維卷積電路,可在一個(gè)時(shí)鐘周期同時(shí)實(shí)現(xiàn)128對(duì)像素值的乘累加,即完成計(jì)算R=Σi=07Σj=015xijyij,]]>若用微處理器計(jì)算,需要進(jìn)行128次乘操作和127次加操作,共255次操作,但用本發(fā)明的卷積電路計(jì)算時(shí),當(dāng)流水建立后,只要一次操作就可完成。本發(fā)明的可縮放大規(guī)模二維卷積器電路,在計(jì)算時(shí),算法中運(yùn)算量大、規(guī)則性強(qiáng)的計(jì)算由卷積電路完成,微處理器負(fù)責(zé)存儲(chǔ)采集的圖像數(shù)據(jù),并運(yùn)算其他并行性較差、無(wú)規(guī)則的計(jì)算,把微處理器的靈活性與硬件電路的高速性有機(jī)的結(jié)合起來(lái),達(dá)到靈活、高適應(yīng)性和高實(shí)時(shí)性的效果。
圖1是本發(fā)明的大規(guī)模二維卷積器電路結(jié)構(gòu)圖;圖2是卷積單元電路圖;圖3是編程控制圖;圖4是卷積器用于信號(hào)處理的信號(hào)處理單元結(jié)構(gòu)。
以下結(jié)合附圖和發(fā)明人給出的實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
具體實(shí)施例方式
在圖像匹配等圖像處理算法中,經(jīng)常要計(jì)算如下的公式
R=Σi=0M-1Σj=0N-1xijyij]]>當(dāng)M和N很大時(shí),計(jì)算量很大,但由于圖像匹配等圖像處理算法具有規(guī)則性強(qiáng)、并行性好等特點(diǎn),可用硬件電路直接實(shí)現(xiàn),省去用微處理器計(jì)算時(shí)程序執(zhí)行時(shí)間的約束,從而提高處理速度。
卷積電路充分挖掘算法中的流水和并行特性,充分運(yùn)用時(shí)間重疊和資源重復(fù)技術(shù),使電路具有流水和并行計(jì)算能力,同時(shí)為了擴(kuò)大運(yùn)用范圍,能進(jìn)行平滑、濾波等計(jì)算,使電路可通過(guò)編程控制,實(shí)現(xiàn)規(guī)模可縮放。
(1)、電路結(jié)構(gòu)電路結(jié)構(gòu)如圖1所示,其組成為a、一個(gè)基準(zhǔn)圖像素寄存器Y,數(shù)據(jù)寬度為8位;b、一個(gè)實(shí)時(shí)圖像素寄存器組X,數(shù)據(jù)寬度為8位。由128個(gè)8位寄存器x0~x127構(gòu)成移位寄存器。其寄存器x0的輸出接至片外,以備級(jí)連時(shí)連接。X值以串行方式移入寄存器組;c、乘法器組由128個(gè)的陣列乘法器組成M0,M1,.....M127,每一個(gè)乘法器Mi的兩個(gè)輸入,來(lái)自基準(zhǔn)圖像素寄存器Y和對(duì)應(yīng)的實(shí)時(shí)圖像素寄存器xid、乘積寄存器組,由128個(gè)寄存器組成p0,p1....p127,數(shù)據(jù)寬度為16位,寄存器pi輸入接相應(yīng)乘法器Mi輸出;e、加法器組由128個(gè)加法器構(gòu)成A0,A1......A127,每個(gè)加法器Ai的兩個(gè)輸入來(lái)自相應(yīng)的乘積寄存器pi和中間結(jié)果寄存器Si-1;f、中間結(jié)果寄存器組,由128個(gè)寄存器組成S0S1.....S128。數(shù)據(jù)寬度16~26位,每個(gè)中間結(jié)果寄存器Si用于暫存相應(yīng)加法器Ai的和;g、輸出電路三態(tài)輸出;h、控制電路產(chǎn)生時(shí)鐘(CLK),讀寫(xiě)(R/W),和片選(CS)以及清除(RESET)信號(hào)。
由電路結(jié)構(gòu)可看出,整個(gè)電路實(shí)質(zhì)上是由一個(gè)個(gè)基本卷積單元串連構(gòu)成的?;揪矸e單元由一個(gè)實(shí)時(shí)圖寄存器、一個(gè)像素對(duì)乘法器、一個(gè)像素對(duì)乘寄存器、一個(gè)加法器和一個(gè)中間結(jié)果寄存器構(gòu)成。如圖2所示,每一基本單元實(shí)現(xiàn)Si-1+xiyi,128點(diǎn)卷積電路是由128個(gè)基本單元直接串連起來(lái),再連接Y寄存器,控制電路和三態(tài)門(mén)。整個(gè)電路結(jié)構(gòu)規(guī)整,簡(jiǎn)單、易于設(shè)計(jì)實(shí)現(xiàn)。
(2)、電路工作過(guò)程1)、將所有寄存器復(fù)位;2)、先將128個(gè)X值x0~x127串行移入X寄存器組,然后將Y值依次移入Y寄存器;3)、移入第一個(gè)Y值后,第130個(gè)脈沖將第一個(gè)卷積結(jié)果置入S127。實(shí)現(xiàn)s127=Σi=0127xiyi+u]]>u=0,1,…,m此后,每移入一個(gè)Y值,S127中置入一個(gè)卷積結(jié)果,即每個(gè)時(shí)鐘周期獲得一個(gè)128對(duì)像素值的乘累加結(jié)果,這些結(jié)果按順序分別對(duì)應(yīng)u=0,1,…,m。
(3)、電路特點(diǎn)1)、結(jié)構(gòu)規(guī)整由一個(gè)個(gè)基本單元串聯(lián)而成,便于設(shè)計(jì)和實(shí)現(xiàn);2)、級(jí)連方便靈活可根據(jù)需要級(jí)連,增大計(jì)算規(guī)模,提高計(jì)算速度;3)、卷積規(guī)模大,計(jì)算速度快;4)、電路采用了多種并行技術(shù)
資源重復(fù)技術(shù)128個(gè)相同的乘法器,128個(gè)相同的加法器,128個(gè)乘積寄存器和128個(gè)中間結(jié)果寄存器同時(shí)工作。
時(shí)間重疊技術(shù)乘和加及多級(jí)加之間采用時(shí)間重疊,流水操作。
(4)計(jì)算規(guī)??删幊绦詾槭闺娐芬?guī)??煽s放,從而適應(yīng)計(jì)算環(huán)境的變化,可通過(guò)級(jí)連來(lái)擴(kuò)大計(jì)算規(guī)模,通過(guò)編程來(lái)控制計(jì)算規(guī)模的變化,如在濾波、平滑等的3×3、5×5、7×7模板等,編程控制如圖3所示。
編碼與計(jì)算規(guī)模對(duì)應(yīng)關(guān)系如下
(5)實(shí)現(xiàn)方案設(shè)計(jì)成IP核,用FPGA實(shí)現(xiàn)。
發(fā)明帶來(lái)的技術(shù)效果是1、可在一個(gè)時(shí)鐘周期同時(shí)實(shí)現(xiàn)128對(duì)像素值的乘累加,即完成計(jì)算R=Σi=07Σj=015xijyij,]]>若用微處理器計(jì)算,需要進(jìn)行128次乘操作和127次加操作,共255次操作,但用本發(fā)明的卷積器計(jì)算時(shí),當(dāng)流水建立后,只要一次操作就完成了。
2、用DSP做主處理器,可縮放大規(guī)模二維卷積器做快速協(xié)助處理部件的信號(hào)處理單元處理速度估計(jì)信號(hào)處理單元由DSPTMS320C6701和算法硬件構(gòu)成。因?yàn)閳D像匹配的計(jì)算量很大。用進(jìn)行圖像匹配計(jì)算來(lái)估算信號(hào)處理單元的處理速度。圖像匹配計(jì)算中乘累加運(yùn)算占總計(jì)算量的80%以上,可以用乘累加運(yùn)算來(lái)估算。以128對(duì)象素值的乘加運(yùn)算為例來(lái)說(shuō)明。
128對(duì)象素值的乘累加運(yùn)算要進(jìn)行128次乘操作和127次加操作。共255次操作。用TMS320C6701估算時(shí),每次操作平均要用到四條指令,所以完成全部計(jì)算,DSP要執(zhí)行的指令數(shù)為L(zhǎng)1=255×4=1020條指令。
信號(hào)處理單元計(jì)算時(shí),在DSP的控制下,由算法硬件卷積器來(lái)計(jì)算。當(dāng)流水建立后,由DSP發(fā)讀信號(hào)從基準(zhǔn)圖存儲(chǔ)器中將一個(gè)象素值置入Y寄存器,同時(shí),讀出一個(gè)128對(duì)象素值的乘累加結(jié)果,并保存起來(lái),如此循環(huán),因此只需要讀、寫(xiě)、條件轉(zhuǎn)移三條指令,但在訪問(wèn)存儲(chǔ)器時(shí)要等待一個(gè)周期,所以三條指令要占用6個(gè)指令周期,相當(dāng)于6條單周期指令,用L2表示。
故信號(hào)處理單元進(jìn)行乘累加運(yùn)算時(shí)的處理速度比單用TMS320C6701計(jì)算時(shí)的處理大大提高了。提高的倍數(shù)為M=L1L2=10206=170]]>TMS320C6701的平均處理速度約600MIPS,因此信號(hào)處理單元在進(jìn)行乘累加運(yùn)算時(shí)的處理速度為V1=170×600MIPS=102000MIPS。
以乘累加運(yùn)算占整個(gè)匹配計(jì)算工作量的80%折算,信號(hào)處理單元在進(jìn)行圖像匹配計(jì)算時(shí)的處理能力為V=V1×80%=81600MIPS。
實(shí)施例信號(hào)處理單元采用DSP+卷積器的結(jié)構(gòu),如圖4所示。在此結(jié)構(gòu)中,用FPGA實(shí)現(xiàn)的卷積器掛在DSP總線上,接受DSP的驅(qū)動(dòng)控制,作為DSP的高速協(xié)處理部件,減輕DSP的負(fù)擔(dān),加快運(yùn)行速度。算法中運(yùn)算量大,規(guī)則性高的計(jì)算(如平滑、濾波、匹配計(jì)算等)由卷積器完成。DSP負(fù)責(zé)存儲(chǔ)采集的圖像數(shù)據(jù),并運(yùn)行其它并行性較差,無(wú)規(guī)則的計(jì)算(如求直方圖、校正、擬合等),并對(duì)卷積器的計(jì)算結(jié)果進(jìn)行綜合判斷,輸出控制參數(shù),這樣就把DSP的靈活性和算法硬件電路的高速、高效性有機(jī)結(jié)合起來(lái),達(dá)到高靈活性、高適應(yīng)性和高實(shí)時(shí)性的效果。
為了提高計(jì)算速度,充分發(fā)揮卷積器的并行計(jì)算效率,在進(jìn)行卷積計(jì)算時(shí),當(dāng)流水建立后,向卷積器的Y寄存器(見(jiàn)圖1)寫(xiě)入數(shù)據(jù)和從卷積器讀出結(jié)果是同時(shí)進(jìn)行的,這樣就會(huì)使寫(xiě)入數(shù)據(jù)和讀出數(shù)據(jù)發(fā)生沖突。為了解決此問(wèn)題,用了一個(gè)隔離電路,其作用是當(dāng)DSP向存儲(chǔ)器寫(xiě)入圖像數(shù)據(jù)時(shí)隔離器打開(kāi),DSP通過(guò)數(shù)據(jù)總線將數(shù)據(jù)寫(xiě)入基準(zhǔn)圖存儲(chǔ)器。當(dāng)進(jìn)行卷積計(jì)算時(shí),隔離器關(guān)閉,斷開(kāi)DSP數(shù)據(jù)總線與存儲(chǔ)器數(shù)據(jù)總線的通路,由存儲(chǔ)器置入卷積器的數(shù)據(jù)與由卷積器讀出的數(shù)據(jù)相隔離,從而不會(huì)發(fā)生沖突,可以做到向Y置入數(shù)據(jù)與讀出計(jì)算結(jié)果同時(shí)進(jìn)行,充分發(fā)揮卷積電路流水和并行計(jì)算的特點(diǎn),提高了計(jì)算速度。
權(quán)利要求
1.一種可縮放大規(guī)模二維卷積電路,其特征在于,該電路包括一個(gè)基準(zhǔn)圖像素寄存器Y,數(shù)據(jù)寬度為8位;一個(gè)實(shí)時(shí)圖像素寄存器組X,數(shù)據(jù)寬度為8位,由128個(gè)8位寄存器x0~x127構(gòu)成移位寄存器,其寄存器x0的輸出接至片外,以備級(jí)連時(shí)連接,X值以串行方式移入寄存器組;乘法器組,由128個(gè)的陣列乘法器M0,M1,.....M127組成,每一個(gè)乘法器Mi的兩個(gè)輸入,來(lái)自基準(zhǔn)圖像素寄存器Y和對(duì)應(yīng)的實(shí)時(shí)圖像素寄存器xi;乘積寄存器組,由128個(gè)寄存器p0,p1,....p127組成,數(shù)據(jù)寬度為16位,寄存器pi輸入接相應(yīng)乘法器Mi輸出;加法器組,由128個(gè)加法器A0,A1,......A127構(gòu)成,每個(gè)加法器Ai的兩個(gè)輸入來(lái)自相應(yīng)的乘積寄存器pi和中間結(jié)果寄存器Si-1;中間結(jié)果寄存器組,由128個(gè)寄存器S0,S1,.....S127組成,數(shù)據(jù)寬度16~26位,每個(gè)中間結(jié)果寄存器Si用于暫存相應(yīng)加法器Ai的和;一個(gè)輸出電路,用于計(jì)算結(jié)果的三態(tài)輸出,以便與CPU的總線相連;一個(gè)控制電路,用于產(chǎn)生時(shí)鐘、讀寫(xiě)、片選以及清除信號(hào)。
全文摘要
本發(fā)明公開(kāi)了一種可縮放大規(guī)模二維卷積電路,該電路包括一個(gè)基準(zhǔn)圖像素寄存器Y,一個(gè)實(shí)時(shí)圖像素寄存器組X,由128個(gè)的陣列乘法器M
文檔編號(hào)G06T1/20GK1916959SQ20061010506
公開(kāi)日2007年2月21日 申請(qǐng)日期2006年8月29日 優(yōu)先權(quán)日2006年8月29日
發(fā)明者黃士坦, 劉紅俠 申請(qǐng)人:中國(guó)航天時(shí)代電子公司第七七一研究所