Low-Error and Area-Efficient Fixed-Width Multiplier by Using Minor
Input Correction Vector with Fixed Compensation Circuit
魏一勤(I-Chyn Wey), 廖峰裕(Feng-Yu Liao)
Department of Electrical Engineering, Graduate Institute of Electrical Engineering, and Green Technology Research Center, Chang Gung University, Taiwan, ROC.
Email: [email protected] 摘要 (Abstract) 本論文提出一個新的誤差補償方法來設 計高精準度且低面積的固定寬度乘法器。精 準度提昇方面,我們針對次輸入補償部分乘 積項,根據機率統計計算分析部份乘積權重 關係,由較高權重搭配較低權重做進位判別, 提高補償的精準度。面積化簡方面,我們以 狄摩根定理來簡化補償電路達到面積節省, 且補償電路由固定式輸入取代先前文獻延展 性架構,使電路複雜度不隨位元增加而增長。 本論文所提出的固定寬度乘法器在 8 8 位元 下,可較截斷固定乘法器之誤差改善 80%, 對於標準乘法器可節省42%面積。 關鍵字─誤差補償、固定寬度乘法器。 I. 簡介 (Introduction) 乘法器常應用在許多數位訊號處理上, 如數位濾波…等;為了獲得更高的速度,低 誤差、小面積和高速乘法器不斷的被提出。 在某些數位訊號處理(DSP),由於精確度可適 度犧牲,乘法器便可採用節省面積的固定寬 度乘法器(Fixed-Width Multipliers)。在實際硬 體電路中,有時希望乘法運算能產生固定寬 度的乘積以防止寬度無限增長,在 n 位元時 將產生兩倍位元之乘積。但在一些實際應用 當中,卻只希望產生n 位元乘積,截掉較低 n 個位元,只保留較高的 n 位元以避免乘法位 元數持續增加。所以刪除傳統乘法器硬體中 的一半加法電路來產生固定寬度乘積,以降 低電路面積及功率消耗。但這將產生乘積誤 差,如何縮小兩者之間的誤差變成為我們所 要探討的重點。 一個 n 位元輸入乘數 X 和被乘數 Y 的乘 法器乘積如圖1 所示,其式如下 1 1 0 0 2 2 n n i i i i i i X x Y y
(1) 乘法器部份乘積x yi i權重總P X Y 如式(2) 2 1 1 1 0 0 0 2 ( 2 ) n n n i i j i i j i i j P p x y
(2) 1 2 1 0 1 2 . . . . . . . n n n n x x x x y y 1 0 1 0 2 0 1 0 0 0 1 1 2 1 . . . . . . . . n n n n y y x y x y x y x y x y x y . . . 0 1 . . . . . . . . x y 1 2 2 2 1 2 0 2 1 1 1 1 1 0 1 2 1 2 2 1 . . . . . . . . . . . n n n n n n n n n n n n n n n n x y x y x y x y x y x y x y x y P P P P . . . P1 P0 圖1.完整乘法器乘積陣列 圖 1 我們將乘積分成兩大部分:較高權 重部分(most significant part, MSP)以及較低權 重部分(less significant part, LSP)。而較低權重 部分(less significant part, LSP)包含輸入補償 (input correction vector, IC) 與 次 輸 入 補 償 (minor input correction vector, MIC)部分,此部 分為本論文所提及之誤差補償。一個固定寬 度乘法器的乘法器輸出為 P2n-1,...,Pn,為了降部分,並由每個進位輸入來獲得電路 MSP。 許多所提出的技術利用固定寬度的特性來降 低硬體複雜度。
截斷固定寬度乘法器(Trun-FWM)電路架 構可由式(2)乘積P表示成式(3)兩部分:較高權 重部分(most significant part, MSP)和較低權重 部分(less significant part, LSP)。xi,yi,與Pi
表示x,y,和P的第i項位元。圖2為截斷固定 寬度乘法器(Trun-FWM),由一個固定進位來 達成誤差補償功能。 2 1 1 0 2 2 n n i i i i i n i P MSP LSP P P
. (3) 圖2. 截斷固定寬度乘法器(Trun-FWM)架構 在所提論文中,使用一個新的方法設計 高準確度固定寬度乘法器。此乘法器誤差補 償架構以過去所提文獻[1],[4]為基礎,考慮次 輸入補償部分乘積關係做固定寬度乘法器誤 差補償情形。利用機率統計方式計算分析權 重關係,將分為較高權重與較低權重兩個部 份來做進位判別。除了經由權重的分析得知 權重高低將影響進位的機率外,較低權重部 分雖不像較高權重直接影響進位的機率,但 較低權重總和部分將影響較高權重部分的進 位機率,兩者搭配有利於提升進位機率因而 達到誤差補償。電路架構上將以多輸入補償 架構,外加補償電路技術來達此誤差補償, 其目的在限制誤差補償條件以提高進位之情 形發生。 所提出架構優點除了有較高精準度外, 因輸入位元為固定項,故不會因位元數增加 而導致輸入位元隨之增加,取代原先文獻[4] 所提之誤差補償電路有延展性之問題,使架 構比文獻[4]來的小。我們將利用狄摩根定理 化簡以減少硬體複雜度,進一步達到面積節 省與高精準度的固定寬度乘法器。 接 下 來 我 們 在 第 II 節 將 回 顧 先 前 文 獻 [1]-[4]所提之固定寬度乘法組織架構,介紹目 前固定寬度乘法器的發展現況。第III節,我 們藉由文獻[1],[4]演算法及權重分析,推導出 較精準的誤差補償方法與相對應較節省面積 的誤差補償電路。第IV節為誤差補償效果與 面積的比較。最後,第V節總結本論文貢獻。II. 乘法器設計回顧 (Review Design of the Multipliers)
文 獻 常 見 幾 種 不 同 固 定 寬 度 乘 法 器 (fixed-width multiplier)架構,其中 Shyh-Jye Jou 等人[2]所提出之誤差補償,使用統計分析 和線性復原分析,在輸入補償(IC)總和直接加 入補償。其優點主要在於速度更快,使用較 少邏輯閘數,且面積不會隨著輸入位元增加 而增大。但因輸入補償為固定值,使得誤差 率降低幅度小。 F. Curticapean等人[3]使用多重輸入誤差 補償(multiple-input error-compensation)技術, 以固定寬度乘法器架構為基礎,達到降低錯 誤率,如式(4) 1 1 1 1 0 2 1 1 2 0 1 2 2 ( , , , ) n n j i t j i j i n j n n n n P y x f x y x y x y x y
(4) 式(4)中(IC)為誤差補償 1 0 2 1 1 2 0 1 ( n , n ,,..., n , n ) IC x y x y x y x y 因漣波(ripple)架構關係,故有運算速度較慢 以及耗電較高的缺點存在。 Antonio-G.M.Strollo 等人[4]基於多重輸入誤差補償(multiple-input error-compensation) 結構[3],發展出一個新的誤差補償,可以降 低最大絕對誤差與均方誤差。所提出的誤差 補償比之前文獻[1]-[3]有更好的精準度,而且 只需一個樹狀結構來實現。為了進行高精準 度電路設計,進一步降低誤差值,所提出的P 值如式(4),函數 f 是用來降低誤差並考慮到 IC 之間的相互關係和 LSP 部分乘積總數。 在 上 述 幾 種 不 同 固 定 寬 度 乘 法 器 (fixed-width multiplier)架構中,文獻[4]所提出 之樹狀補償架構,改善先前文獻[1]-[3]之誤差 率。我們所提出的補償架構即是藉由文獻[4] 所提之(TypeII)架構為基礎,並更進一步分析 誤差補償限制情形,輔以外加補償電路方式 來提高準確率,達到精確誤差補償的目的。 因此接下來我們將進一步將概述J. M. Jou[1] 與 Antonio-G.M.Strollo[4]所提之誤差補償方 法與權重分析,作為往後所提出誤差補償方 法與架構上的基礎。 Jer-Min Jou[1]等人設計一個低誤差固定 寬度乘法器,利用機率統計計算誤差值實際 實現於乘法器電路中。他們首先由MSP 分析 錯誤產生源,然後取得誤差補償電路 (Error compensation circuit, EC)提供 MSP 每個進位 輸入以減少誤差。隨位元數增加而使的所補 償誤差增大。補償電路使用漣波(ripple)架構 進行誤差補償,雖有效降低固定寬度乘法器 的誤差,但將運算速度較慢且補償效果較有 限。我們令SLSP為LSP 進位產生的部份乘積 總和如式(5) 1 0 2 1 1 2 0 1 2 0 3 1 1 3 0 2 3 0 4 1 1 4 0 3 1 0 0 1 1 1 S = ... + 2 1 ... + 4 1 ... + 8 1 ... 2 LSP n n n n n n n n n n n n n x y x y x y x y x y x y x y x y x y x y x y x y x y x y (5) 根據權重關係,將 LSP 權重最重之項數 總和1/2 設為 β 即 i+j=n-1 行,較低權重 LSP 總和設為λ。為了簡化符號,我們重寫(5)為(6) ,β 和 λ 定義為式(7)和(8)。 1 2 LSP S (6) 1 1 0 2 1 0 1 ... i j i j n n n n x y x y x y x y
(7) 2 0 3 1 1 1 0 1 0 1 1 1 1 1 ... 4xn y 4xn y 2n x y 2n x y (8) 假設每個輸入位元等於 1 的機率是 0.5, 乘法器的位元乘積 xiyj 等於 1 機率表示為 p1(xiyj)。對於 i+j=n-1 的β項位元乘積xiyj為1, 而i+j=n-1 的 n-β項位元乘積xiyj等於0。則輸 入位元乘積等於 1 的項次最多為 n+β,最少 為 2β 項乘積為 1。所以輸入位元平均為 1 的 機率為: 2 / ) 3 ( 2 / ] 2 ) [(n n 因此輸入2n 位元等於1的機率為: n n n n 3 )/2]/2 ( 3 )/4 [( 即xiyj等於1 的機率為: 2 2 1( ) [( 3 ) / 4 ]*[( 3 ) / 4 ] ( 3 ) /16 / i j p x y n n n n n n n (9) 根據式(9),可重新定義式(8)為式(10) 2 0 3 1 1 0 0 1 1 1 1 1 1 1 1( ) 1( ) ... 4 4 1 1 1( ) 1( ) 2 2 1 1 1 1 1( ) ( ) 4 4 2 2 n n n n i j n n p x y p x y p x y p x y p x y (10) 式子(9)中,p1(xiyj) β/ n。因此 λ 可表示為 2 n (11) 將式(11)結果帶入式(6)得 2 2 1 2 1 ( 3 ) ( 1) 2 16 2 LSP S n n n n (12) 因β≤n,若 β=0 則[/n]0;若β>0 則1 ] / [ n ,所以可以得到以下關係: 0, 0 1, 0 LSP if S if (13) 在文獻[1]中,以機率統計方式設計一個 誤差補償電路EC,對於 LSP 權重最重 β 部分 乘積做補償。式(13)中,當 β=0 時並無對 LSP 做補償。β>0 時,將進行 β-1 固定補償。透過 式(12)計算乘積總和 SLSP 值可分析出在 n=6 位元下之SLSP和β 關係曲線。當 β≤2 時,SLSP 接近β 直線,β≥3 時,SLSP為貼近β-1。由定 義之關係,由此可看出SLSP曲線之分佈介於β 與β-1 之間。 在 n=6、n=8 及 n=12 不同的位元下,SLSP 曲線對於 β 及 β-1 的分佈皆為 β≤2 時,SLSP 接近β 直線,β≥3 時,SLSP為貼近β-1 等相同 情形。然而在n=16 時曲線分佈則變為 β≤3, SLSP接近β 直線,β≥4 時,SLSP為貼近β-1 等 不同情形發生,因此須隨位元做調整。依此 來做誤差補償將能提升誤差的改善。 A. 誤差補償權重關係 在完整乘法器中,為計算固定寬度法器 的精確度,由(2)和(4)我們定義誤差 ε: 1 0 1 0 ( , , ; , , ) ( , ) t n n P P S x x y y f IC MIC (14) P 為完整乘法器乘積,Pt為固定寬度乘法器乘 積 , 而 S x( n1,, ;x y0 n1,,y0)S X Y( ; )為 LSP 包含 IC 和 MIC 部分乘積的總和。 f(IC,MIC)為次輸入誤差補償,加入此誤差補 償以提升準確度。其中,S 定義為: 1 1 0 0 2 2 n j n j i j i j i S y x
(15) 透過式(14)我們可以得到固定寬度乘法 器之誤差修正。式(16)-(18)說明平均絕對誤差 (Average absolute error, εavg) 、 均 方 誤 差 (Mean-Square Error, εms)和變動誤差(Variance of error, υ),其定義為: (| |) / avg Avg LSB (16)
2 2 / ms Avg LSB (17)
2
( avg) Avg (18) Avg{}為平均值,LSB2n是乘法器LSP 輸出的權重。由式(16)-(18)可了解所補償誤差 ε 之關係。我們令 favg和fms兩個誤差補償函數 誤差 εavg和 εms。為了獲得favg和fms,輸入補 償IC 的每一個值 IC0由不同的X 和 Y 構成。 令Ω(IC0)為 X 和 Y 值的集合 IC=IC0,N(IC0) 是在Ω(IC0)集合中元素的個數。以 n=8 位元 的例子來說明: IC0=( x0y7,x1y6,x2y5,x3y4,x4y3,x5y2,x6y1,x7y0) = (0,1,1,1,1,1,1,1) 可得到三種不同(X;Y)值: (X;Y)=(0,1,1,1,1,1,1,1;1,1,1,1,1,1,1,0), (X;Y)=(1,1,1,1,1,1,1,1;1,1,1,1,1,1,1,0), (X;Y)=(0,1,1,1,1,1,1,1;1,1,1,1,1,1,1,1), 以上三種不同值即屬於 Ω(IC0)的集合, N(IC0)的個數為三。給定一個輸入補償 IC0, X 和 Y 屬於 Ω(IC0)。計算 S(X,Y)的平均值, 以求得IC0之權重關係如式(19)。 0 0 ( , ) ( ) 0 1 ( ) ( , ) ( ) avg X Y IC S IC S X Y N IC
(19) 所定義 favg和 fms兩個誤差補償函數誤差 εavg和 εms。當 X 和 Y 屬於 Ω(IC0)集合,則 εavg(IC0)和 εms (IC0)如式(20)和(21)0 0 0 ( ; ) ( ) 0 1 ( ) ( ( ; ) ( )) ( ) avg avg X Y IC IC S X Y f IC N IC
(20) 0 2 0 0 ( ; ) ( ) 0 1 ( ) ( ( ; ) ( )) ( ) ms X Y IC IC S X Y f IC N IC
(21) 式(20)和(21)絕對平均誤差及均方誤差之 總和εavg(IC0)與εms(IC0)值,透過favg和fms的選擇 將得到理想誤差補償εavg和εms 0 0 0 2 ( ) ( ) 2 avg avg n IC N IC IC
(22) 0 0 0 2 ( ) ( ) 2 ms ms n IC N IC IC
(23)式(22)和(23)顯示εavg和εms的實際個數總 和εavg(IC0)與εms(IC0),利用代數簡化εavg和εms, 來達到誤差補償之情形。式(22)與(23)可重寫 成
0 0 0
( ) ( ) ( )
avg IC Savg IC favg IC
(24) 0 2 0 0 0 2 0 ( , ) ( ) 0 ( ) [ ( ) ( )] 1 ( ; ) ( ) ( ) ms avg avg X Y IC IC S IC f IC S X Y S IC N IC
(25) 從式(24)和(25)看出降低εavg和εms之因素 為將favg和fms近似Savg總和,並將Savg及f(IC0)標 準化如(26) 0 0 0 ( ) ( ) ( ) avg ms n avg f IC f IC Round S IC (26) III. 所 提 出 之 固 定 寬 度 乘 法 器 設 計(Proposed design of fixed-width multipliers) 先前文獻[1]-[4]中,已提出對於 IC 誤差 補償的固定寬度乘法器,但並無進一步分析 MIC 進位來達成誤差補償。我們藉由文獻[1] 的機率統計方法將文獻[4]的誤差補償限制條 件做修正以降低誤差補償誤差;且我們進一 步提出固定式補償電路取代延展性的補償電 路架構,使補償電路的複雜度在任何位元數 的乘法運算情形下都是固定的,不隨乘法位 元數增加而成長。 A. 誤差補償項權重分析 我們分析文獻[4]之權重關係在 n=8 位元 不 同 補 償 IC0 下 , 根 據 式(19) 和 (26) 可 得 Savg(IC0)和 fms(IC0)之權重與進位值之間的關
係,整理如表 1;其中,Savg(IC0)為補償項之
進位平均值,fms(IC0)則為實際補償值。當
IC0=(x0y7,x1y6,x2y5,x3y4,x4y3,x5y2,x6y1,x7y0) 所 有的部分乘積全為0,亦即 IC0=(0,0,0,0,0,0,0,0) 時,Savg(IC0)的權重為 0.334LSB;favg(IC0)為
經 0.334 捨位之結果,此情況,IC 並不做任 何的誤差補償動作。從表 1 中顯示乘積權重 有對稱的情形,也就是說第 2 列與第 9 列的 Savg(IC0)相對稱,皆為 0.944;第 3 列與第 8 列的 Savg(IC0)相對稱,皆為 0.999。而且,中 間的部分乘積進位權重值較高,進位機率較 大;像是第11 列進位平均值為 1.514LSB,比 第 10 列進位平均值(1.232LSB)高;第 5 列進 位平均值為1.035LSB,比第 4 列進位平均值 (1.025LSB)高。我們可根據此些特性設計較精 準之誤差補償電路;但補償項越多電路複雜 度會隨指數成長[4]。因此,文獻[4]先根據進 位補償的權重將誤差補償電路分成兩群,分 別是權重較重的 inner partial product terms and 權重較輕的 outer partial product terms。 再藉由權重調整,讓較重權重的補償項可以 得到較精準的補償結果。Inner partial product terms 之補償演算法,我們依據文獻[4]的方式 進行補償,惟我們提出新的固定式補償電路 取代原本文獻[4]延展性的補償電路架構,使 補償電路的複雜度在任何位元數的乘法運算 情形下都是固定的,不隨乘法位元數增加而 成長。 表 1. 文獻[4]不同補償 IC0下 Savg (IC0)和 fms (IC0)值
Row IC0 Savg(IC0) fms(IC0)
1 (0,0,0,0,0,0,0,0) 0.334 0 2 (1,0,0,0,0,0,0,0) 0.944 1 3 (0,1,0,0,0,0,0,0) 0.999 1 4 (0,0,1,0,0,0,0,0) 1.025 1 5 (0,0,0,1,0,0,0,0) 1.035 1 6 (0,0,0,0,1,0,0,0) 1.035 1 7 (0,0,0,0,0,1,0,0) 1.025 1 8 (0,0,0,0,0,0,1,0) 0.999 1 9 (0,0,0,0,0,0,0,1) 0.944 1 10 (1,0,0,0,0,0,0,1) 1.566 2 11 (0,0,0,1,1,0,0,0) 1.848 2 12 (0,0,1,1,1,1,0,0) 3.591 4
權重較輕的 outer partial product terms 進 位補償部分,文獻[4]的誤差補償情形如表 2。 欄位中補償條件(Compensation terms)為頭尾各
兩項的部分乘積(xn-1y0,xn-2y1,x1yn-2,x0yn-1)相加 所得的值,以 β 表示。進位(Carry)為誤差補 償電路輸出 C1、C2、Cn-1 相加的總和。當 β 等於 0 或 1 時,SLSP為 β 進位;而 β 等於 2 或3 時,SLSP為β-1 進位。在β等於4 時,SLSP 為β-2 進位,然而這種誤差補償情況和第二節 機率統計分析得知 SLSP曲線之分佈介於 β 與 β-1 之間,違背上述 做 -13 的修正。因此 本 論 文 主 要 針 對 權 重 較 輕 的 outer partial product terms 進位補償部分做進一步誤差分 析,搭配次輸入補償項協助進行更精準之誤 差補償。
表2. 文獻[4]的outer partial product terms進位 誤差補償情形
Compensation terms Carry Relation
xn-1y0+xn-2y1+x1yn-2+x0yn-1=0 0 β xn-1y0+xn-2y1+x1yn-2+x0yn-1=1 1 β xn-1y0+xn-2y1+x1yn-2+x0yn-1=2 1 β-1 xn-1y0+xn-2y1+x1yn-2+x0yn-1=3 2 β-1 xn-1y0+xn-2y1+x1yn-2+x0yn-1=4 2 β-2 B. 次輸入補償項協助誤差補償之分析 我們分別對表 2 補償條件 β 等於 0 到 4, 五種情況下所做六位元誤差值分析,如圖 3 到圖7。X 軸為在六位元 4096 種情況下各補 償條件的取樣數,Y 軸為標準乘積減掉文獻[4] 補償部分所產生的誤差值。由圖3、圖 5、圖 6 與圖 7 可看出所修正的誤差值以正值居多, 分別佔總取樣數的70%、95%、75%與 100%。 而圖 4 修正的誤差值則以負值為居多,佔總 取樣數 81%。當誤差值多數為正時,我們可 以只針對正值ε>2n-1的誤差部份進行修正,因 IC 誤差補償電路輸入補償的權重為 2n,多補 償一位元相當於增加 2n,將可縮小正值誤差 為|ε|<2n-1,得到較大幅度的誤差改善。加上只 單純修正正值誤差,使電路結構在設計上較 為簡單。圖 8 為針對正負值所做平均誤差分 析,說明當補償條件 β=2 和 β=4 與其他補償 條件相比,所佔的正值平均誤差較高。因此, 針對 β=2 和 β=4 進行補償改善,將得到較好 的補償效果。 經由計算平均誤差的結果得知 β=2 和 β=4 時誤差值分別為 29.48 與 65 如圖 9 所示, 相較於其它補償條件來的高。因此,我們針 對這兩個條件項進行修正,可以得到比其它 補償條件更好的補償改進效果。 圖3. 補償條件 β=0 情況下之誤差值分析圖 圖4. 補償條件 β=1 情況下之誤差值分析圖 圖5. 補償條件 β=2 情況下之誤差值分析圖
圖6. 補償條件 β=3 情況下之誤差值分析圖 圖7. 補償條件 β=4 情況下之誤差值分析圖 圖8. 在每個補償條件下針對正負值所做平均 誤差分析圖 圖9. 每個補償條件項之絕對平均誤差圖 由以上的推論,所提出之設計將對表2兩 項補償條件進行修正。第一在補償條件β=2時 將β-1修正為β,其主要在於提高進位之機率以 提升補償之效果。第二將對補償條件β=4所造 成之補償不足情形β-2做β-1修正補償。修正後 的outer partial product terms進位誤差補償情 形如表3所示。
表3. 本論文提出的outer partial product terms 進位誤差補償情形
Compensation terms Carry Relation
xn-1y0+xn-2y1+x1yn-2+x0yn-1=0 0 β xn-1y0+xn-2y1+x1yn-2+x0yn-1=1 1 β xn-1y0+xn-2y1+x1yn-2+x0yn-1=2 1 β-1 xn-1y0+xn-2y1+x1yn-2+x0yn-1=3 2 β-1 xn-1y0+xn-2y1+x1yn-2+x0yn-1=4 2 β-2 除了輸入補償(IC)的分析外,我們將進一 步分析次輸入補償(MIC)。次輸入補償定義 (Minor Input Correction vector, MIC)如圖 10 所
示。由IC 之權重關係,所定義之 MIC 乘積補 償架構可分為較高權重與較低權重兩個部份: 較高權重為內部(Inner)乘積部分,而較低權重 為外部(Outer)乘積部分。為了確保 MIC 的部 份乘積總和可以做有效進位補償,我們由表1 的對稱關係得知部分乘積兩端進位機率相同, 因此以對稱方式選擇MIC 部分乘積總和做進 位 補 償 。 所 選 擇 之 內 部(Inner)乘積和外部 (Outer)乘積的總和 SOuter和SInner表示如下:
SOuter= x0yn-2 +xn-2y0 (27) SInner= x1yn-3+x[(n/2)-1]y[(n/2)-1]+ xn-3y1 (28) 當式(27)與(28)大於 0 時,即代表進位成 立。較高權重與較低權重搭配除了提升進位 機率外,由固定輸入補償項取代先前文獻的 延伸式輸入補償項,則補償項的數目在任何 位元輸入的乘法器都是固定的,不會隨位元 增加而使輸入補償項增加。由於補償電路的 架構也是固定的,所以電路複雜度不隨位元 增加而成長。 圖10. 所定義之 MIC 乘積補償架構 C. 誤差補償電路設計 藉由上述分析IC與MIC部分乘積不同權 重關係的分析結果來提出誤差補償架構EC。 所提誤差補償架構將以文獻[4](TypeII)為基 礎。文獻[4]所提出的誤差補償架構(TypeII), 如 圖 11 。 標 準 (Standard) 部 分 設 定 為 {xn-1y0,xn-2y1,x1yn-2,x0yn-1},修正(Modified)部分 為(xn-3y2 ,…, x2yn-3),C1、C2至Cn-1代表每個加 法器之進位值。標準(Standard)部份分別為全 加器FA(full adders)及半加器HA(half adders) 所組成,用於較低權重部分乘積。其中,加 法 器 乘 積 權 重 為LSB/2 , 進 位 的 權 重 則 為 LSB(2n)。 文獻[4]之架構針對輸入補償IC部份乘積 權重做誤差修正,分別使用兩個部份做誤差 補償設計。比起先前所提出之文獻[1]-[3]有快 速,低耗能及保持線性複雜度近似favg和fms的 優點。修正(Modified)部分使用AO半加器說明 在[1]-[2],[4]。考慮到部分乘積較高權重,其 硬體電路使用一個及閘(AND Gate)和一個或 閘(OR Gate)實現修正(Modified)部分電路。修 正部份(Modified)AO架構的誤差補償設計由 AO的真值表如圖12,得知在兩個位元輸入為 高位元1時才有進位情形發生,使的AO電路 可由直接輸入補償來取代。 圖11. 文獻[4]所提之 TypeII 固定寬度乘法器 誤差補償架構 圖12. 文獻[4]所提之架構 AO 圖 前一節所描述之文獻[4]分析設計,其誤 差補償IC 比起其他文獻能有效降低誤差,加 上架構因少量電晶體而使面積在不同位元下 增長速度緩慢等優點。本文所提架構同樣以 Antonio G. M. Strollo[4]為基礎,經由機率統 計與權重關係,針對次輸入補償(MIC)進行誤 差補償。根據較高權重搭配較低權重做進位 判別來說明整個架構誤差補償設計情形,達 到精準的誤差補償。 圖13 為我們於本論文中所提出的固定寬 度乘法器架構方塊圖。我們跟文獻[4]一樣, 都是以多輸入誤差補償架構來實現EC,改良 的部分在於我們使用IC 搭配 MIC 來建構整個 EC 的電路,可較有效率的補償誤差,且因為 我們使用固定式的補償方式,所以電路面積 也會比較小。如圖13 所示,完整的部分乘積
(PP) 是由簡單的及閘(AND Gate)所建構的 MSP、IC 和 MIC 部份所共同組成。輸入補償 乘積部份需誤差補償方塊來求出誤差補償函 數,輸出為n-1 位元: c1,...,cm。其中,誤差補 償IC 方塊所有權重為 LSB= 2n;誤差補償MIC 方塊所有權重則為LSB=2n-1。 圖 13. 所提固定寬度乘法器之多輸入誤差補 償架構 本論文所提出的固定寬度乘法器架構如 圖14,我們以輸入 8 位元固定寬度乘法器做 說明。此架構可分為(A)和(B)兩個部分,(A) 部分進行IC 補償條件限制,在或閘(OR Gate) 分別輸入 C1 及 C2 作進位判別,當進位 C1 或進位 C2 其中有進位或同時都有進位之情 形時即做輸出補償。當C1 或 C2 有進位之情 形時,Sum_HA 則為 0 即 Cn-1未進位狀態, 所以我們於Sum_HA 上加入反閘(NOT Gate),
以限制進位輸出為 1。並在反閘(NOT Gate) 輸出後由及閘(AND Gate)做 β=2 或 β=4 修正 之條件限制。 部分(B),或閘 2(OR Gate)外部乘積部分 由兩輸入 xn-2y0及 x0yn-2組成,判別至少有一 項部份乘積為一。或閘 3(OR Gate)內部乘積 部份由xn-3y1、x[(n/2)-1]y[(n/2)-1]及x1yn-3組成,值 得注意的是,這三項輸入值並不是將MIC 中 間部分全接,僅針對MIC 內部乘積兩端及中 間部分設計。內部乘積兩端由表一對稱關係 得知部份乘積兩端進位機率相同,所以我們 選擇以或閘(OR Gate)來判別 xn-3y1及x1yn-3當 部分乘積其中一項為一時即輸出為一以利進 位。中間部分權重值x[(n/2)-1]y[(n/2)-1]比其他來的 高,其進位為一的機率為MIC 乘積中最高, 能較有效提升進位率。當外部乘積其中一項 乘積為一時,將進行進位。或閘2(OR Gate 2) 與或閘3(OR Gate 3)一併輸入及閘(AND Gate) 對補償不足的誤差加以補償。 為了降低電晶體數目來進一步縮小面積 我們透過狄摩根化簡,MOS 電晶體組成或閘 (OR)與及閘(AND)時需由反或閘(NOR)或反 及閘(NAND)再加上反相閘(NOT)。經由化簡 將 或 閘(OR) 與 及 閘 (AND) 轉 換 成 反 或 閘 (NOR),如此一來可以減少不必要的反相閘 (NOT),如圖 15。 圖14. 所提之誤差補償電路架構 圖 15. 所提誤差補償經簡化之電路架構
IV. 誤 差 修 正 效 果 比 較 (Error Performance Comparison)
為了證明所提出之補償電路能有效降低 誤差,分別模擬計算出在不同位元下之平均 絕對誤差(Average absolute error, εavg,%)、均方 誤 差(Mean-Square Error, εms,%) 、 變 動 誤 差 (Variance of error, υ%)。對於誤差修正固定寬 度乘法器MSP,誤差分別定義如下: ,% max( ) 100% avg avg MSP (29) ,% ( ) 100% ms ms ms MSP (30) % ( ) 100% MSP (31) 當εavg,%與εms,%及υ%越小,代表固定寬度 乘法器更為準確。透過式(29)-(31)計算分別顯 示模擬結果在表4-6。由表 4-6 誤差補償結果 顯示出所提出之固定寬度乘法器比文獻[1]-[4] 更準確,並有效降低截斷誤差,無論在平均 絕對誤差(Average absolute error, εavg,%)比較結 果、相對均方誤差(Mean-Square Error, εms,%) 比較結果、或是相對變動誤差(Variance of error, υ%)比較結果,我們所設計的固定寬度乘 法器都擁有最佳的誤差補償效能表現。其中, 表中文獻[4]我們將與所提之(TypeII)架構做 比較。關於所補償硬體之CMOS 電晶體面積 百分比定義式子如下。 Truncated % Standard 100% M R M (32) 在式(32),MStandard與 MTruncated分別指標 準乘法器和不同截斷乘法器的CMOS 電晶體 數量,表7 說明所提架構之 CMOS 電晶體數 相較於截斷固定寬度乘法器的電晶體面積比 例比較結果。由表 4 平均絕對誤差及表 7 電 晶體面積比例描繪成圖 16。X 軸為電晶體面 積比例,Y 軸為平均絕對誤差。我們比較在 16 16 位元下截斷固定寬度乘法器,透過圖 16 我們可以觀察出所提出固定寬度乘法器除 了電晶體數目比文獻[3]與文獻[4]來的少,也 都比其他文獻擁有較低的誤差率。 本論文中所設計的低面積、高精準度固 定寬度乘法器電路相較MSP 可以改善 80%的 平均絕對誤差,相較於於標準乘法器可以節 省 42%的電晶體數目,在 16×16 位元的乘法 器中,更可節省面積達 47%。詳細電晶體數 目的比較數據整理於表 8 以及圖 17。表 8 說 明了各架構硬體所耗費之電晶體個數,由圖 17 可看出在不同位元下,文獻[1],[3]-[4]將因 位元數增加而使電晶體增加;且因為都使用 相同電晶體數目,所以 3 條曲線是相疊在一 起的。圖17 中的數據顯示,我們所提出的固 定寬度乘法器補償電路架構在不同位元下, 其電路複雜度都是固定的,其電晶體數目並 不會受位元數增加而成長;如此的優勢,在 越來越複雜的 DSP 應用上將更顯示出其有效 節省電路成本的優勢。當乘法器的輸入位元 數在 8 位元以上時,我們所設計的固定寬度 乘法器補償電路電晶體數目都是最少的,在 16 位元的情形下,我們的補償電路更僅需其 他文獻電路36.7%的電晶體數目即可。 圖 18 為所提固定寬度乘法器和文獻[4] 比較所得之誤差訊號,此圖顯示所有補償差 異的樣本。由圖18 可看出所提固定寬度乘法 器之修正誤差值大致上都比文獻[4]低。圖 19 則為在所提16 位元固定寬度乘法器之晶片佈 局圖,晶片實現於TSMC 0.18μm 製程下,晶 片面積為1035μm
1030μm。表 4. 平均絕對誤差(Average absolute error, εavg,%) 比較結果
表5. 相對均方誤差(Mean-Square Error, εms,%) 比較結果 表6. 相對變動誤差(Variance of error, υ%)比較 結果 表7. CMOS 電晶體數目比較結果 圖16. 16×16 固定寬度乘法器之平均絕對誤差 對晶片面積比例分佈圖。 表8. 在不同 n 位元下各文獻所耗費的 CMOS 電晶體個數 圖17. 在不同 n 位元下各架構所耗費的電晶 體個數。 圖 18. 比較文獻[4]所得誤差訊號結果 V. 結論 (Conclusion) 本論文針對次輸入補償部分做誤差補償, 統計分析權重關係,由較高權重搭配較低權 重做進位判別,以固定式的補償電路達到精 確的誤差補償,且耗費極少的補償面積。模 擬結果證實,本論文所設計的固定寬度乘法 14.10% 14.00% 13.30% 12.90% 12% 13% 14% 15% 51.5 52 52.5 53 53.5 54 S. J. Jou [2] F. Curticapen [3]
A.G. M. Strollo (Type_II) [4] Proposed Paper
Chip-area ratio (%) Average absolute error (% ) 54 78 126 174 64 64 64 64 40 60 80 100 120 140 160 180 n=6 n=8 n=12 n=16 CMOS quantity
n-bits fixed-width multipliers A.G.M. Strollo (TypeII)[4] , [1], [3] Proposed paper 0 20 40 60 80 100 0 50 100 150 200 250 300 350 400 A.G.M. Strollo(TypeII) Proposed Paper
Sample number
器在8 8位元乘法器中,可較截斷固定乘法器 之誤差改善80%,且對於標準乘法器可節省 42%的面積。 圖 19. 本論文所設計的 16 16 位元固定寬度 乘法器之晶片佈局圖 參考文獻 (References)
[1]. J.M. Jou, S. R.Kuang, and R. D. Chen, “Design of low-error fixed-width multipliers for DSP applications, ” IEEE Trans. Circuits
Syst. II, Analog Digit. Signal Process., vol. 46,
no. 6, pp. 836–842, Jun. 1999.
[2]. S. J. Jou, and H. H. Wang, “Fixed-Width Multiplier for DSP Application, ”IEEE International Symposium on Computer Design, Sept. 2000, pp318-322.
[3]. F. Curticapean and J. Niittylahti, “A hardware efficient direct digital frequency synthesizer, ” in Proc. IEEE Int. Conf. on Electronics,
Circuits, and Systems (ICECS’01), vol. 1, St.
Julians, Malta, Sep. 2–5, 2001, pp.51–54. [4]. Antonio G. M. Strollo, Nicola Petra and
Davide De Caro, “Dual-tree Error Compensation for High Performance
Fixed-width Multipliers” IEEE Transactions in
Circuits and Systems II, vol.52, no.8,
pp.501-507 Aug. 2005.
[5]. Y.C. Lim, “Single-Precision Multiplier with Reduced Circuit Complexity for Signal Processing Applications”, IEEE Trans. On Computers, vol.41, no.10, pp.1333-1336, Oct. 1992.
[6]. S. S. Kidambi, F. El-Guibaly, and A. Antonious, “Area-efficient multipliers for digital signal processing applications,” IEEE
Trans. Circuits Syst. II, Analog Digit. Signal Process., vol. 43, no. 2, pp. 90–95, Feb.
1996.
[7]. B. Parhami, Computer Arithmetic: Algorithms
and Hardware Designs. Oxford, U.K.: Oxford
Univ. Press, 1999.
[8]. N. Petra, D. De Caro, Antonio G.M. Strollo, “Design of fixed-width multipliers with minimum mean square error,” in proc.
European Conference on Circuits Theory and Design (ECCTD 2007), pp.464-467, Aug.
2007.
[9]. L.D. Van, C.C. Yang, “Ganeralized Low-Error Area-Efficient Fixed-Width Multipliers” IEEE
Transactions in Circuits and Systems I, vol.52,
no.8, pp.1608-1619 Aug. 2005.
[10]. L.-D. Van, S.-S. Wang, and W.-S. Feng, “Design of the low error fixed-width multiplier and its application,” IEEE Trans. Circuit Syst .
II, vol. 47, no. 10, pp. 1112-1118, Oct. 2000.
[11]. W. J. Ping, and K. S. Rong, “Area-Efficient Signed Fixed-Width Multipliers with Low-Error Compensation Circuit,” IEEE
Workshop. Signal Processing Systems., vol. 17,