用于檢驗數(shù)字乘法器的方法和裝置制造方法
【專利摘要】本發(fā)明涉及用于檢驗數(shù)字乘法器的方法和裝置。公開了用于計算誤差信號的方法,其中誤差信號被確定為總對數(shù)和乘積對數(shù)的差值,乘積對數(shù)被確定為由第一乘法裝置所確定的乘積的絕對值的對數(shù),其特征在于,總對數(shù)被確定為第一指數(shù)和第二指數(shù)以及尾數(shù)對數(shù)的總和,尾數(shù)對數(shù)被確定為尾數(shù)乘積的絕對值的對數(shù),尾數(shù)乘積被確定為第一近似的標準化的尾數(shù)和第二近似的標準化的尾數(shù)的乘積,第一近似的標準化的尾數(shù)被確定為第一因數(shù)的浮點表示相對于底的標準化的尾數(shù)的近似,第一指數(shù)是在第一因數(shù)的浮點表示中屬于底的指數(shù),以及第二近似的標準化的尾數(shù)被確定為第二因數(shù)的浮點表示相對于底的近似的標準化的尾數(shù),第二指數(shù)是在第二因數(shù)的浮點表示中屬于底的指數(shù)。
【專利說明】用于檢驗數(shù)字乘法器的方法和裝置
【背景技術】
[0001]由于變得更小的ASIC結構和下降的運行電壓,數(shù)字電子設備中的瞬時錯誤是增加的挑戰(zhàn)。當在安全關鍵的系統(tǒng)中使用時,不僅瞬時錯誤而且永久錯誤必須被識別。數(shù)字乘法器或平方器是很多電子電路的組成部分并且因此必須進行兩類錯誤的檢驗。
[0002]為了使乘法器或平方器得到保障,多種方法是可能的。一種可能的方案基于冗余:多次(或者時間上連續(xù)地或者并行地在多個乘法機構上)執(zhí)行乘法運算并且相互比較結果。與此相應地,在這種方法情況下的硬件或時間花費是很高的。
[0003]另一可能的方案利用奇偶校驗或奇偶預測。從乘法的兩個操作數(shù)的奇偶性出發(fā),進行關于結果的奇偶性的預測。這種方法的缺點是,在結果字中有多重作用的各個錯誤并不是總是可檢測的。
[0004]另一可能的方案利用剩余碼校驗:與在基于“奇偶預測”的方案中類似地,從兩個操作數(shù)的特性(余數(shù))出發(fā)進行關于結果的余數(shù)的預測。所述余數(shù)是整數(shù)剩余,該整數(shù)剩余在一個數(shù)用另一個數(shù)(所謂的模數(shù))來整除時產(chǎn)生。
[0005]此外,其他 的方法也是可能的,諸如可以被用于監(jiān)控的Berger碼、雙軌或三軌編碼的使用。
【發(fā)明內(nèi)容】
[0006]另一種方法基于對數(shù)校驗的原理:在此利用對數(shù)的計算法則(log2在下文中表示以2為底的對數(shù),也作為二元對數(shù)(Logarithmus Dualis)已知):
log -(X' 少)=log.+ log 2(^;
為了使乘法器的結果得到保障,形成公式(I)的左側和右側的差值。該差值在無錯誤乘法的情況下和在精確地計算log2函數(shù)值的情況下等于O。因為在實踐中將近似方法用于計算log2函數(shù)值,所以該差值自然不精確地是0,而是在圍繞O的范圍內(nèi)移動。為了使乘法器得到保障,這意味著,只有當錯誤的結果超過或低于確定的按百分比計算的與正確結果有關的范圍時,才識別出這些錯誤的結果。這個范圍依賴于近似方法的準確度。
[0007]log2函數(shù)值的計算例如可以通過Mitchell近似來實現(xiàn)。Mitchell近似為右邊開放的區(qū)間[1,2)內(nèi)的實輸入值說明log2的近似:
log 2(1 + /) ?/ —11;中O S / < I(2)
因為每個數(shù)τ>=1可以表達為2的冪和區(qū)間[1,2)內(nèi)的一個實數(shù)的乘積,所以也可以在此將Mitchell近似用于log2 (T)的計算:
log2(F) = kygllf -O十 /)) -1012(21 ) + 1g2(l+/)
=*+_2? + /)小/,3|
存在有效的數(shù)字電路,這些數(shù)字電路使用上述的Mitchell近似來計算無符號數(shù)的log2函數(shù)值。[0008]從保障的該原理出發(fā)(該原理也類似地適用于其他底的對數(shù)),在本發(fā)明的第一方面中規(guī)定,提供用于計算誤差信號的方法,該方法能夠實現(xiàn)第一因數(shù)和第二因數(shù)的由第一乘法裝置所確定的乘積的正確性的診斷。即借助這個根據(jù)本發(fā)明所確定的誤差信號可以診斷第一乘法裝置的乘法是正確的還是有錯誤的。乘法的正確性在此意味著,乘法的結果位于圍繞真正的乘法值的確定的按百分比計算的界限之內(nèi)。
[0009]根據(jù)本發(fā)明在此規(guī)定,誤差信號借助差分裝置被確定為總對數(shù)(Su_en1garithmus)和乘積對數(shù)的差值。乘積對數(shù)在此借助第一取對數(shù)裝置被確定為由第一乘法裝置所確定的乘積的絕對值的對數(shù)。
[0010]此外規(guī)定,總對數(shù)由加法裝置確定為第一指數(shù)和第二指數(shù)以及尾數(shù)對數(shù)的總和。尾數(shù)對數(shù)在此借助第二取對數(shù)裝置被確定為尾數(shù)乘積的絕對值的對數(shù),其中尾數(shù)乘積借助第二乘法裝置被確定為第一近似的標準化的尾數(shù)和第二近似的標準化的尾數(shù)的乘積。
[0011]第一近似的標準化的尾數(shù)在此借助第一標準化裝置被確定為第一因數(shù)的浮點表示以b為底的標準化的尾數(shù)的近似,其中第一指數(shù)是在第一因數(shù)的該浮點表示中屬于這個底b的指數(shù)。即確定第一指數(shù)和標準化的尾數(shù),使得其(除符號之外)得出以b為底的第一因數(shù)的浮點表示。在此有利地選擇標準化的尾數(shù),使得I <標準化的尾數(shù)<b適用。
[0012]類似地,第二標準化的尾數(shù)借助第二標準化裝置被確定為第二因數(shù)的浮點表示以b為底的標準化的尾數(shù)的近似,其中第二指數(shù)是在第二因數(shù)的該浮點表示中屬于這個底b的指數(shù)。
[0013]如果利用這種方法確定誤差信號,那么這種方法有特別的優(yōu)點,即已經(jīng)能夠識別乘法結果的小的按百分比計算的失真。
[0014]在另一特別有利的方面中,第一近似的標準化的尾數(shù)被確定為第一因數(shù)的浮點表示的標準化的尾數(shù)的被限制在第一可預先給定的字寬內(nèi)的近似。即該近似規(guī)定,限定標準化的尾數(shù)的準確度。這使該方法特別有效。
[0015]在另一特別有利的方面中,第二近似的標準化的尾數(shù)類似地被確定為第二因數(shù)的浮點表示的標準化的尾數(shù)的被限制在第二可預先給定的字寬內(nèi)的近似,這同樣提高該方法的效率。也可以組合這兩種措施。
[0016]在一個特別有利的改進方案中規(guī)定,第一可預先給定的字寬小于第一因數(shù)的字寬。這進一步引起該方法的特別的效率。
[0017]類似地,可以以相同的優(yōu)點規(guī)定,第二可預先給定的字寬小于第二因數(shù)的字寬。
[0018]在一個特別有利的改進方案中可以規(guī)定,第一可預先給定的字寬等于第二可預先給定的字寬。這導致在第二乘法裝置的給定的大小的情況下特別準確的表示。
[0019]在另一特別有利的方面中,乘積對數(shù)被確定為第一乘法裝置的結果、即第一因數(shù)和第二因數(shù)的乘積的絕對值的二元對數(shù),尾數(shù)對數(shù)被確定為尾數(shù)乘積的絕對值的二元對數(shù),并且第一和第二因數(shù)的浮點表示的底b被選擇為2。因此該方法變得特別有效,因為例如用于確定尾數(shù)值所需的與底b的乘法或被底b除可以特別簡單地通過位移運算來實施。
[0020]在另一特別有利的方面中規(guī)定,第二取對數(shù)裝置通過已知的Mitchell近似確定尾數(shù)對數(shù),該Mitchell近似是用于計算二元對數(shù)的特別有效的近似方法。
[0021]類似地,可以在另一特別有利的方面中規(guī)定,第一取對數(shù)裝置通過Mitchell近似確定乘積對數(shù)。[0022]在本發(fā)明的另一特別有利的方面中設置有用于確定第一乘法裝置的錯誤的方法,在該方法中借助判定裝置依賴于根據(jù)上述權利要求之一所確定的誤差信號來確定,第一因數(shù)和第二因數(shù)的由第一乘法裝置所確定的乘積是否是正確的。
[0023]在此可以以特別簡單的方式判定,如果誤差信號小于可預先給定的下閾值或者如果誤差信號大于可預先給定的上閾值,那么乘積是不正確的。
[0024]根據(jù)本發(fā)明的方法如至今所描述的那樣還對第一因數(shù)或第二因數(shù)的符號不加考慮。在一個特別有利的改進方案中可以規(guī)定,確定第一因數(shù)的第一符號并且確定第二因數(shù)的第二符號并且確定由第一乘法單元所確定的乘積的第三符號,并且如果由第一符號和第二符號得到的乘積不對應于第三符號,則判定該乘積是不正確的。因此根據(jù)本發(fā)明的方法也可以檢驗由第一乘法單元所提供的符號的正確性。
[0025]第一符號和第二符號的這樣的乘法可以特別有效地通過第一符號和第二符號的XOR操作來實現(xiàn)。
[0026]在另一特別有利的實施方式中設置有可以執(zhí)行根據(jù)本發(fā)明的方法的裝置。
[0027]在第一實施方式中設置有用于執(zhí)行用于確定誤差信號的方法之一的所有步驟的裝置。這樣的裝置有利地包括第一標準化裝置、第二標準化裝置、第二乘法裝置、第一取對數(shù)裝置、第二取對數(shù)裝置、差分裝置和加法裝置。
[0028]在一個特別有利的改進方案中,這樣的裝置也包括第一乘法裝置并且因此是可特別好地診斷的乘法單元。
[0029]在本發(fā)明的另一有利的方面中設置有用于執(zhí)行用于診斷第一乘法裝置的所述方法之一的診斷裝置。該診斷裝置有利地包括第一標準化裝置、第二標準化裝置、第二乘法裝置、第一取對數(shù)裝置、第二取對數(shù)裝置、判定裝置、差分裝置和加法裝置。
[0030]在另一有利的改進方案中,這樣的裝置也包括第一乘法裝置并且因此是可以自己診斷錯誤的乘法單元。
[0031]這些裝置可以作為軟件或也可以作為硬件電路或作為軟件和硬件的混合形式來實現(xiàn)。
【專利附圖】
【附圖說明】
[0032]圖示出本發(fā)明的特別有利的實施方式。其中:
圖1示出闡明公式(I)如何能夠被用于檢驗的裝置;
圖2示出闡明根據(jù)本發(fā)明的方法的裝置。
【具體實施方式】
[0033]在圖1中示出了將公式(I)用于檢驗的裝置。示出了第一乘法單元100、第一取對數(shù)裝置103、第二取對數(shù)裝置101和第三取對數(shù)裝置102。第一因數(shù)X被輸送給第二取對數(shù)裝置101和第一乘法單元100的第一輸入端,第二因數(shù)Y被輸送給第三取對數(shù)裝置102和第一乘法單元100的第二輸入端。第一乘法單元在其輸出端上呈現(xiàn)施加在其兩個輸入端上的值的乘積Z = X.Y。這個乘積Z被輸送給第一取對數(shù)裝置103。
[0034]第二取對數(shù)裝置101和第三取對數(shù)裝置102的輸出被相加,從這些輸出中減去第一取對數(shù)裝置103的輸出并且因此得出輸出信號A。[0035]在無錯誤的情況下并且如果可以近似地精確地計算對數(shù),輸出信號A近似地等于
O。因為對數(shù)的近似精確的計算或者意味著很高的硬件花費或者也可以迭代地實現(xiàn),這在應用情況下不是所期望的,所以通常將花費少的近似、諸如Mitchell近似用于計算。
[0036]通過近似,在計算第二取對數(shù)裝置101、第三取對數(shù)裝置102和第一取對數(shù)裝置103的輸出時分別產(chǎn)生誤差。由于這個誤差,輸出信號A在無錯誤的情況下也可能不等于O。
[0037]輸出信號A因此在無錯誤的情況下在確定的、依賴于近似方法的、已知的界限之內(nèi)移動。這些界限相互靠得越近,就可以檢測乘積Z的越小的按百分比計算的失真。該保障方法的缺點是,第一因數(shù)X和第二因數(shù)Y的通過近似方法所計算的對數(shù)被相加。因為在兩個對數(shù)計算中分別產(chǎn)生誤差,因此這些誤差相加。這些誤差導致,如下值范圍是相對大的,輸出信號A在無錯誤的情況下在該值范圍內(nèi)移動。因為值范圍的大小決定結果的按百分比計算的偏差,從該偏差起可以檢測誤差,因此誤差識別從較大的按百分比計算的偏差起才變得可能。
[0038]圖2示出一個框圖,利用該框圖可以更好地識別所有誤差,這些誤差使結果超過已知的界限(按百分比計算地與結果有關地)而失真。
[0039]再次示出了第一乘法裝置100、例如數(shù)字乘法器,第一因數(shù)X和第二因數(shù)Y被輸送給第一乘法裝置的輸入端并且在該第一乘法裝置的輸出端上輸出乘積Z = X.Y。
[0040]在下文中考慮具有N位輸入字寬的無符號乘法器的保障。然而這不是限制,因為在有符號乘法器的情況下例如可以通過絕對值形成使第一因數(shù)X、第二因數(shù)Y和乘積Z為正的并且因此隨后同樣可以應用該保障方法。然而,有利地在這種情況下可以附加地檢查符號的正確性。
[0041]同樣,第一因數(shù)X的字寬和第二因數(shù)Y的字寬不必是同樣大的。例如第一因數(shù)的字寬可以為16位,第二因數(shù)的字寬可以為8位。
[0042]在下文中描述連續(xù)地以2為底的操作。然而,對于本領域技術人員來說完全明顯的是,所描述的操作可以如何推廣到每個其他的底、例如4或10。
[0043]本發(fā)明以如下認識為出發(fā)點,即每個無符號數(shù)K可以通過排除小于或等于K的最接近的2的冪而表達為兩個數(shù)的乘積。在此情況下一個因數(shù)是2的冪,另一個因數(shù)是區(qū)間[1,2)內(nèi)的小數(shù)(Ko_azahl),即K小數(shù)〈2適用。該小數(shù)也被稱為標準化的尾數(shù)。2的冪
用2、來表示,小數(shù)、即標準化的值用來表示。技術上來看,數(shù)的這種標準化的表示
例如可以通過以下方式來找到,即輸入字K 一直連續(xù)地除以2,直到結果在區(qū)間[1,2)內(nèi)移
動。于是說明用于標準化所需的被2除的次數(shù)。數(shù)或字被2除例如可以通過字的右
移運算來實現(xiàn)。N位無符號數(shù)K和標準化的表示之間的關系在公式(4)中被示出。
K = Ikx^s..l,ka]=憊、.—_ *2Λ.2ι = 2: 4.[0044]其中1 玄<2。
[0045]標準化的值最大可以占有N-1個小數(shù)點后位置??梢酝ㄟ^切去低位的小數(shù)點后位置來近似這個值,這對應于舍入。Kwafm謙通過在第(m-ι)個小數(shù)點后位置之后的切去而舍入的結果用Knotdi來表示并且相較于Κ_^?β具有減小的字寬、即m位(參見公式
(5))。
【權利要求】
1.用于計算誤差信號(e)的方法,所述方法能夠實現(xiàn)第一因數(shù)(X)和第二因數(shù)(Y)的由第一乘法裝置(100)所確定的乘積(Z)的正確性的診斷, 其中所述誤差信號(e)借助差分裝置(207)被確定為總對數(shù)(S)和乘積對數(shù)(P)的差值, 其中所述乘積對數(shù)(P)借助第一取對數(shù)裝置(205)被確定為由所述第一乘法裝置(100)所確定的乘積(Z)的絕對值的對數(shù), 其特征在于, 所述總對數(shù)(S)由加法裝置(208)被確定為第一指數(shù)(XShift)和第二指數(shù)(YShift)以及尾數(shù)對數(shù)(L)的總和, 其中所述尾數(shù)對數(shù)(L)借助第二取對數(shù)裝置(204)被確定為尾數(shù)乘積(W)的絕對值的對數(shù), 其中所述尾數(shù)乘積(W)借助第二乘法裝置(203)被確定為第一近似的標準化的尾數(shù)(XNorm)和第二近似的標準化的尾數(shù)(YNorm)的乘積, 其中所述第一近似的標準化的尾數(shù)(XNorm)借助第一標準化裝置(200)被確定為所述第一因數(shù)(X)的浮點表示相對于底(b)的標準化的尾數(shù)的近似,其中所述第一指數(shù)(XShift)是在所述第一因數(shù)(X)的所述浮點表示中屬于所述底(b)的指數(shù), 以及其中所述第二近似的標準化的尾數(shù)(YNorm)借助第二標準化裝置(201)被確定為所述第二因數(shù)(Y)的浮點表示相對于所述底(b)的近似的標準化的尾數(shù),其中所述第二指數(shù)(YShift)是在所述第二因數(shù)(Y)的所述浮點表示中屬于所述底(b)的指數(shù)。
2.根據(jù)權利要求1所述的方法,其特征在于,所述第一近似的標準化的尾數(shù)(XNorm)是所述第一因數(shù)(X)的浮點表示的標準化的尾數(shù)的、被限制在第一可預先給定的字寬(ml)內(nèi)的近似。
3.根據(jù)權利要求2所述的方法,其特征在于,所述第一可預先給定的字寬(ml)小于所述第一因數(shù)(X)的字寬。
4.根據(jù)權利要求1到3之一所述的方法,其特征在于,所述第二近似的標準化的尾數(shù)(YNorm)是所述第二因數(shù)(Y)的浮點表示的標準化的尾數(shù)的、被限制在第二可預先給定的字寬(m2)內(nèi)的近似。
5.根據(jù)權利要求4所述的方法,其特征在于,所述第二可預先給定的字寬(m2)小于所述第二因數(shù)(Y)的字寬。
6.根據(jù)權利要求2或4所述的方法,其特征在于,所述第一可預先給定的字寬(ml)等于所述第二可預先給定的字寬(m2)。
7.根據(jù)上述權利要求之一所述的方法,其特征在于,所述乘積對數(shù)(P)被確定為所述乘積(Z)的絕對值的二元對數(shù),所述尾數(shù)對數(shù)(L)被確定為所述尾數(shù)乘積(W)的絕對值的二元對數(shù),并且所述第一因數(shù)(X)和所述第二因數(shù)(Y)的浮點表示的底(b)被選擇為2。
8.根據(jù)上述權利要求之一所述的方法,其特征在于,所述第二取對數(shù)裝置(204)通過Mitchell近似來確定所述尾數(shù)對數(shù)(L)。
9.根據(jù)上述權利要求之一所述的方法,其特征在于,所述第一取對數(shù)裝置(205)通過Mitchell近似來確定所述乘積對數(shù)(L)。
10.用于確定第一乘法裝置(100)的錯誤的方法,在所述方法中借助判定裝置(206)依賴于根據(jù)上述權利要求之一所確定的誤差信號(e)來確定,所述第一因數(shù)(X)和所述第二因數(shù)(Y)的由所述第一乘法裝置(100)所確定的乘積(Z)是否是正確的。
11.根據(jù)權利要求10所述的方法,其特征在于,如果所述誤差信號(e)小于已知的可預先給定的下閾值或者如果所述誤差信號(e)大于已知的可預先給定的上閾值,那么判定所述乘積(Z)是不正確的。
12.根據(jù)權利要求10或11所述的方法,其特征在于,確定所述第一因數(shù)(X)的第一符號并且確定所述第二因數(shù)(Y)的第二符號以及確定所述乘積(Z)的第三符號,其中如果由所述第一符號和所述第二符號得到的乘積不對應于所述第三符號,那么判定所述乘積(Z)是不正確的。
13.用于執(zhí)行方法I到12之一的所有步驟的裝置,包括所述第一標準化裝置(200)、所述第二標準化裝置(201)、所述第二乘法裝置(203)、所述第一取對數(shù)裝置(205)、所述第二取對數(shù)裝置(204 )、所述差分裝置( 207 )和所述加法裝置(208 )。
14.用于執(zhí)行根據(jù)權利要求10到12的方法之一的所有步驟的裝置,包括所述第一標準化裝置(200)、所述第二標準化裝置(201)、所述第二乘法裝置(203)、所述第一取對數(shù)裝置(205)、所述第二取對數(shù)裝置(204)、所述判定裝置(206)、所述差分裝置(207)和所述加法裝置(208)。
【文檔編號】G06F7/483GK103984519SQ201410044902
【公開日】2014年8月13日 申請日期:2014年2月7日 優(yōu)先權日:2013年2月8日
【發(fā)明者】A.烏爾 申請人:羅伯特·博世有限公司