本發(fā)明涉及的是集成電路數(shù)字信號處理技術(shù)領(lǐng)域,具體涉及一種大量定點系數(shù)系統(tǒng)中積和的有效計算方法,尤其是對電路和在一個集成電路中計算SOP的方法。
背景技術(shù):
在許多數(shù)字信號處理(DSP)和機器學習應用中,固定系數(shù)的SOP經(jīng)常被使用。有時系數(shù)也許會非常多,這導致SOP的操作成為系統(tǒng)的瓶頸。分布式算法是一種不進行直接乘法而采用位串行計算SOP的方法。用查找表代替乘法是非常快速和有效的。然而,當系數(shù)的數(shù)量增加時,在DA中的查找表會呈指數(shù)增長。因此,在具有大量系數(shù)的系統(tǒng)中,克服使用DA時產(chǎn)生的大量內(nèi)存是非常必要的。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)上存在的不足,本發(fā)明目的是在于提供一種大量定點系數(shù)系統(tǒng)中積和的有效計算方法,通過約束系數(shù)為正定點數(shù),在使用分布式算法(DA)原理計算SOP之前,更多相同的系數(shù)首先被分解,通過使用DA原理在十進制領(lǐng)域提出一種關(guān)于有符號分數(shù)SOP的非常有效的計算方法,易于推廣使用。
為了實現(xiàn)上述目的,本發(fā)明是通過如下的技術(shù)方案來實現(xiàn):大量定點系數(shù)系統(tǒng)中積和的有效計算方法,其算法為:SOP的定義如下:
Ci是固定系數(shù),Xi是L比特位的擴展二進制補碼數(shù),|Xi|<1。然后,
其中xi,j是Xi的二進制表示。xi,0是符號位,xi,L-1是最低有效位(LSB)。
(a)首先把Ci轉(zhuǎn)為|Ci|,Xi則需要通過以下轉(zhuǎn)成X′i,
(b)將沒有共同絕對值系數(shù)的X′i分成一組。對于其余部分,它們被重新排列成P組,每個組具有相同的系數(shù)。最后,每組中的共同系數(shù)被最終分解。分組和分解的表示如下:
其中,有共同系數(shù)的輸入X′i被分為P組。對于各個P組,其共同系數(shù)|C′p|被分解。
(c)用DA的原理實現(xiàn)等式(3),
最后兩項預先計算并相加作為常數(shù),其中
(d)在等式(12)中令P=0表明第一組沒有共同的系數(shù)。令Qp等于每個p組中乘積項的個數(shù),x′p,q,j引用為在每個p組中第q個Xi項的第j個比特位。q∈[0,Qp-1]。xi,j轉(zhuǎn)為x′i,j后,每個p組里的比特需要相加。比特總和的表示為可以用adders或用修改的RAM來實現(xiàn)。
(e)等式(12)可由DA原理計算實現(xiàn):其輸入用預處理的方法轉(zhuǎn)換為x′i,j,然后,其他的p組中的比特x′p,q,j用位加法相加,得出的數(shù)量用來查找乘以|C′q|的結(jié)果,這里也可以不用查找表直接乘以|C′p|;所有查找表的結(jié)果相加然后儲存在鎖存器(D);第一次的比特x′p,q,j輸入是X′i的LSB(j=L-1)。第二次j=L-2也用同樣的方法,其結(jié)果和第一次的結(jié)果移右一位后相加直到最后的符號位(j=0);注意當符號位到來時,所有查找表的結(jié)果需要變?yōu)樨摂?shù);相加的結(jié)果和等式(12)預先計算的常數(shù)相加就是SOP的結(jié)果。
本發(fā)明的有益效果:通過約束系數(shù)為正定點數(shù),在使用分布式算法(DA)原理計算SOP之前,更多相同的系數(shù)首先被分解,通過使用DA原理在十進制領(lǐng)域提出一種關(guān)于有符號分數(shù)SOP的非常有效的計算方法,相較于傳統(tǒng)的運算方法速度大大提高。
附圖說明
下面結(jié)合附圖和具體實施方式來詳細說明本發(fā)明;
圖1為本發(fā)明預先處理輸入的結(jié)構(gòu)示意圖;
圖2為本發(fā)明使用修改后的內(nèi)存進行比特加法的結(jié)構(gòu)示意圖;
圖3為本發(fā)明使用DA原理計算SOP的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面結(jié)合具體實施方式,進一步闡述本發(fā)明。
參照圖1-3,本具體實施方式采用以下技術(shù)方案:大量定點系數(shù)系統(tǒng)中積和的有效計算方法,
SOP的定義如下:
Ci是固定系數(shù),Xi是L比特位的擴展二進制補碼數(shù),|Xi|<1。然后,
其中xi,j是Xi的二進制表示。xi,0是符號位,xi,L-1是最低有效位(LSB)。
使用DA原理,SOP的公式表示為:
xi,j∈[0,1].,是預先計算并以查找表的形式存儲在大小為2N的存儲器中。該內(nèi)存可以通過使用如下補償碼來進一步減少:
補償碼定義:
因此,
因為di,j∈[-1,1],使用DA預先計算并存儲在存儲器中。據(jù)觀察,預先計算的查找表呈反對稱因而內(nèi)存減少一半至2(N-1)。
DA通過使用LUT來減少乘法的次數(shù)但當系數(shù)數(shù)量增加時其內(nèi)存呈指數(shù)增加,這使得當系數(shù)個數(shù)N很大時問題變得很棘手。為了克服內(nèi)存問題,傳統(tǒng)的DA方法為將其分成M個小組,如下:
以這種方式,每個DA操作的內(nèi)存被限制到的存儲器空間中。等式的DA操作也適用于計算
對于固定比特長寬的大量的系數(shù)Ci來說,在SOP中存在相對多的重復系數(shù)。因此,將那些相同的系數(shù)分為同一組,而不是分成M個任意組。此外,重新制定計算系數(shù)Ci絕對值的SOP是為了增加系數(shù)分解的機會。因此,所提出的技術(shù)可以使得乘法次數(shù)顯著減少。
為了只計算正數(shù)部分的SOP,通過重新表示等式分離出正數(shù)SOP的操作方法如下:
其中,第一項是一個常數(shù),它可被預先計算,DA可以被應用在都是正數(shù)的第二項。然而,需要注意的是,附加電路需要計算每個ui,j其取決于3個變量:sign(Ci),di,j和xi,j。對于存在大量系數(shù)的系統(tǒng),這將產(chǎn)生顯著的開銷。在應用中,只需要Ci是正的,因此,提出了一個更有效的方法如下:
觀察到,當Ci≥0時,
Ci·Xj=|Ci|·Xj
當時,
其中,是Xi的二進制反碼,將Ci換成|Ci|,SOP變成為:
其中,
從式(6)到式(8)得出:
其中,x′i,j是X′i的二進制表示。注意到,最后兩項是常數(shù)可以預先計算。以查找表方式存儲。
相似的,從式(3)到式(8),可以得到:
以查找表格式存儲。最后兩項是常數(shù)可以預先計算。
為了計算發(fā)明中的SOP,通過Xi轉(zhuǎn)為X′i,所有系數(shù)被轉(zhuǎn)換成其絕對值。然后我們將沒有共同絕對值系數(shù)的X′i分成一組。對于其余部分,它們被重新排列成P組,每個組具有相同的系數(shù)。最后,每組中的共同系數(shù)被最終分解。分組和分解的表示如下:
其中,有共同系數(shù)的輸入X′i被分為P組。對于各個P組,其共同系數(shù)|C′p|被分解。使用DA原理將前兩項擴展得:
重新排列各項后:
最后兩項預先計算并相加作為常數(shù)。
注意到,位加法的結(jié)果要么是具有共同系數(shù)的|C′p|相乘而來,要么是可作為輸入去執(zhí)行查找表中的內(nèi)容的內(nèi)容以查找表的形式存儲來計算第一項,查找表見表1。
表1:查找表
通過修改體系架構(gòu)來利用并行計數(shù)操作,每一列的輸出直接反饋到每一列計數(shù)器的使能端(E)。在每一行時鐘,如果特定的單元為1,計數(shù)器將增加。所有字線進行評估之后,每個比特列計數(shù)器表示在存儲器矩陣的第jth比特位的總和。比特總和圖2的表示為因此使用每個jth比特計數(shù)器的值并將其送入查找表如圖3所示。計數(shù)器的結(jié)果存儲在鎖存器中,一旦所有的計數(shù)完成,即所有的字線被評估后,計數(shù)器的值可以每個周期通過一個多路轉(zhuǎn)換器由左鎖存器的輸出連接到右鎖存器的輸入來獲得,如圖3所示,圖3展示了使用修改后的內(nèi)存來計算位加法。
首先,用等式,把xi,j轉(zhuǎn)為x′i,j如圖1所示,在等式中令P=0表明第一組沒有共同的系數(shù)。令Qp等于每個p組中乘積項的個數(shù),x′p,q,j引用為在每個p組中第q個X′i項的第j個比特位。q∈[0,Qp-1]。
xi,j轉(zhuǎn)為x′i,j后,每個p組里的比特需要相加。比特總和的表示為可以用adders或用修改的RAM來實現(xiàn)如圖2所示.
等式可由圖3實現(xiàn):圖3的輸入全已經(jīng)用圖1的方法轉(zhuǎn)換為x′i,j。然后,除了查表0,其他的p組中的比特x′p,q,j用圖2的位加法相加。得出的數(shù)量用來查找乘以|C′p|的結(jié)果。這里也可以不用查找表直接乘以|C′p|。所有查找表的結(jié)果相加然后儲存在鎖存器(D)。第一次的比特x′p,q,j輸入是X′i的LSB(j=L-1),第二次j=L-2也用同樣的方法,其結(jié)果和第一次的結(jié)果移右一位后相加直到最后的符號位(j=0)。注意當符號位到來時,所有查找表的結(jié)果需要變?yōu)樨摂?shù),相加的結(jié)果和等式預先計算的常數(shù)相加就是SOP的結(jié)果。
實施例1:作為一個例子,假設我們要計算下面的4比特位的系數(shù)的SOP:
SOP=-0.5X0-0.375X1+0.25X2+0.5X3-0.75X4-0.5X5+0.5X6+0.875X7-0.25X8
用X′i代替Xi:
SOP=0.5X′0+0.375X′1+0.25X′2+0.5X′3+0.75X′4+0.5X5+0.5X′6+0.875X′7+0.25X′8+2-(4-1)(2.375)
第一組乘積項是沒有共同系數(shù)的,將其余的有共同系數(shù)的重新組合如下:
SOP=0.375X′1+0.75X′4+0.875X′7+0.5X′0+0.5X′3+0.5X′5+0.5X′6+0.25X′2+0.25X′8+0.296875
分解共同的系數(shù)得:
最后,根據(jù)式(12)我們可知DA是由位串行的方式執(zhí)行的。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術(shù)人員應該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權(quán)利要求書及其等效物界定。