• 沒有找到結果。

Low-Error and Area-Efficient Fixed-Width Multiplier by Using Minor Input Correction Vector with Fixed Compensation Circuit

N/A
N/A
Protected

Academic year: 2021

Share "Low-Error and Area-Efficient Fixed-Width Multiplier by Using Minor Input Correction Vector with Fixed Compensation Circuit"

Copied!
12
0
0

加載中.... (立即查看全文)

全文

(1)

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 Xx Yy   

 

 (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 Pp   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,為了降

(2)

部分,並由每個進位輸入來獲得電路 MSP。 許多所提出的技術利用固定寬度的特性來降 低硬體複雜度。

截斷固定寬度乘法器(Trun-FWM)電路架 構可由式(2)乘積P表示成式(3)兩部分:較高權 重部分(most significant part, MSP)和較低權重 部分(less significant part, LSP)。xiyi,與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 LSPPP     

. (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 ) ICx y x y x y x y 因漣波(ripple)架構關係,故有運算速度較慢 以及耗電較高的缺點存在。 Antonio-G.M.Strollo 等人[4]基於多重輸

(3)

入誤差補償(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 則

(4)

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)可了解所補償誤差 ε 之關係。我們令 favgfms兩個誤差補償函數 誤差 εavg和 εms。為了獲得favgfms,輸入補 償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) 所定義 favgfms兩個誤差補償函數誤差 ε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)

(5)

式(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 ICf ICRound 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)為頭尾各

(6)

兩項的部分乘積(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 情況下之誤差值分析圖

(7)

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表示如下:

(8)

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 所示,完整的部分乘積

(9)

(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. 所提誤差補償經簡化之電路架構

(10)

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,%) 比較結果

(11)

表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

(12)

器在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,

數據

圖 6.  補償條件 β=3 情況下之誤差值分析圖  圖 7.  補償條件 β=4 情況下之誤差值分析圖  圖 8.  在每個補償條件下針對正負值所做平均  誤差分析圖  圖 9
表 4. 平均絕對誤差(Average absolute error,
表 5.  相對均方誤差(Mean-Square Error, ε ms,% )  比較結果  表 6.  相對變動誤差(Variance of error, υ % )比較 結果      表 7

參考文獻

相關文件

Graph Algorithms Euler Circuit Hamilton Circuit.. for Sprout 2014 by Chin

Graph Algorithms Euler Circuit Hamilton Circuit.. for Sprout 2014 by Chin

Abstract - A 0.18 μm CMOS low noise amplifier using RC- feedback topology is proposed with optimized matching, gain, noise, linearity and area for UWB applications.. Good

Then using location quotient(L.Q.)to analyze of the basic industries in the metropolitan area, and population and employment multiplier of Hsinchu Area and Miaoli Area are analyzed

Soille, “Watershed in Digital Spaces: An Efficient Algorithm Based on Immersion Simulations,” IEEE Transactions on Pattern Analysis and Machine Intelligence,

Research on Analog and Mixed-Signal Processing Integrated Circuit Design for ISFET-Based Linear Sensor Array

Kalker, “Speed-Change Resistant Audio Fingerprinting Using Auto-Correlation,” in IEEE International Conference on Acoustics, Speech, and Signal Processing, vol. Kalker,

Chen, “Adjustable gamma correction circuit for TFT LCD,” IEEE International Symposium on Circuits and Systems, vol. Kan, “Implementation of the Gamma (γ) Line System Similar