• 沒有找到結果。

使用新型對數運算系統設計快速函數產生器

N/A
N/A
Protected

Academic year: 2021

Share "使用新型對數運算系統設計快速函數產生器"

Copied!
46
0
0

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

全文

(1)國 立 屏 東 大 學 資 訊 工 程 學 系 碩 士 班 碩士論文 指導教授:莊作彬博士 使用新型對數運算系統設計快速函數產 生器. Design of High-Speed Function Generators Using New Logarithmic Number Systems (LNS). 研究生:林韋丞撰. 中 華 民 國 109 年 07 月.

(2)

(3) 摘要 本篇論文主要在於正餘弦及指數函數產生器的設計,使用對數去簡化電路的 計算,以得到較小的面積及較快的延遲時間,正餘弦可以應用在三角函數的部分, 而指數函數可以應用在訊號處理的部分上。 在本篇論文中,首先是介紹本研究室所提出的對數系統的架構及對數運算的 基本概念,對數系統總共由四個單元組成,將分別介紹這四個單元,接著介紹使 用對數來提升牛頓法進行開根號的計算,講解其架構和如何使用對數系統架構去 簡化牛頓求根法,並且用以對數系統為主的牛頓求根法與用 CPU(3.40GHz)去執 行模擬開根號進行比較,從結果可知,使用對數系統可以極大的減少延遲時間。 接下來就是本篇論文的重點,如何以對數系統去設計快速正餘弦及指數函數 產生器,在此章節,我們分別使用快速正餘弦產生器及 Bhaskara I 的正餘弦產生 器這兩種不同的以對數系統為主的正餘弦產生器來做區域延遲面積(ADP)比較, 而通過使用對數系統的方法,可以降低兩種方式的面積以及延遲時間。以 Pyton 作為分析模擬工具,隨機輸入 1000000 筆測試資料仿真,其結果表明快速正餘弦 產生器比 Bhaskara I 的正餘弦產生器的 ADP 節省了大約將近 65%。 除此之外我們也做了座標轉換的部分,這邊我們也做了兩種方式來進行比較, 一種是基於傳統乘法器的設計,另一種是基於對數系統的設計,這兩種都是以對 數為主的快速正餘弦產生器為基準,再進行座標轉換,最後結果可以知道基於對 數系統的座標轉換可以極大的減少面積開銷。. 關鍵字:對數運算、牛頓求根法、正餘弦、指數函數、座標轉換. I.

(4) Abstract In this thesis, sine/cosine and exponential function generators are designed using logarithmic number systems (LNS), which lower area and shorter delay are achieved. The sine/cosine and exponential functions can be used in triangular functions and signal processing applications, respectively. First of all, the basic concepts of LNS operations and corresponding architectures are introduced. There are four parts composed in LNS, and then we can use Newton method to perform squaring root and to obtain the reduced versions by LNS. Using LNS, the delay can be greatly reduced compared with the same operations performed by CPU at 3.40 GHz. After that, area-efficient fast sine/cosine and Bhaskara I sine/cosine generators are introduced using LNS. We can observe that fast sine/cosine generators can save at about 65% Area Delay Product (ADP) compared with Bhaskara I sine/cosine generators. The correctness of the functions performed by these two generators is tested by 1,000,000 random input data using Python program language. Besides, we also develop the coordinate transformation function blocks using LNS, which is based on conventional multipliers and LNS, respectively. These two blocks are all based on fast sine/cosine generators developed in our work. The area can be also greatly saved by LNS.. Keywords:Logarithmic number systems (LNS), Newton method, Sine/cosine, Exponential functions, Coordinate transform.. II.

(5) 目錄 摘要................................................................................................................................ I Abstract ......................................................................................................................... II 目錄.............................................................................................................................. III 圖目錄..........................................................................................................................IV 表目錄........................................................................................................................... V 第一章 對數系統的應用.............................................................................................. 1 1.1 對數系統(LNS)的介紹與重要性 .................................................................. 1 1.2 對數轉換器架構............................................................................................. 3 1.3 對數轉換近似方法......................................................................................... 7 1.4 對數反轉換..................................................................................................... 9 第二章 牛頓法介紹.................................................................................................... 11 2.1 牛頓法的起源............................................................................................... 11 2.2 流數法........................................................................................................... 11 2.3 牛頓法的方法說明....................................................................................... 12 2.4 牛頓法的應用............................................................................................... 13 第三章 應用對數系統提升牛頓法的計算................................................................ 14 3.1 牛頓求根法................................................................................................... 14 3.2 以對數系統為主的牛頓求根法架構........................................................... 15 3.3 合成結果....................................................................................................... 19 3.4 誤差分析........................................................................................................ 20 第四章 應用對數系統設計快速正餘弦及指數函數產生器.................................... 21 4.1 Bhaskara I's 方程式 ....................................................................................... 21 4.2 快速正餘弦及指數函數產生器................................................................... 25 4-3 座標轉換 ...................................................................................................... 31 4.4 電路分析與比較............................................................................................ 35 參考文獻...................................................................................................................... 38. III.

(6) 圖目錄 圖 1-1:對數算術單元架構……………………………...……………………………1 圖 1-2:對數轉換器架構圖[1]………………………….......…………………………4 圖 1-3:對數固定寬度格式 Q(6,26)[1]……………........……………………………5 圖 1-4:32-bit LZD 架構圖[2]…………………………......…………………………6 圖 1-5:Juang 的對數近似值與真實對數值之比較(N=2~4)[18]……………………8 圖 1-6:對數反轉換架構[19]………………………………….....……………………9 圖 2-1:牛頓法求實根圖[21]……………………………….…......…………………12 圖 3-1:牛頓求根法主架構圖…………………………………......…………………16 圖 3-2:牛頓求根法 Newton1_0 內部架構圖 …………………………....…………18 圖 3-3:牛頓求根法 Newton1_1~1_3 內部架構圖 …………………....……………19 圖 4-1:Bhaskara I's 轉換後的正弦架構圖…………………………....……………23 圖 4-2:Bhaskara I's 轉換後的餘弦架構圖…………………………....……………24 圖 4-3:直角三角形…………………………………………………..………………25 圖 4-4:快速正弦產生器架構圖………………………....…………..………………28 圖 4-5:快速餘弦產生器架構圖…………....………………………..………………29 圖 4-6:快速正餘弦及指數函數產生器架構圖…………......……........……………30 圖 4-7:使用對數系統的座標轉換架構圖……………………………..……………32 圖 4-8:直接用*的座標轉換架構圖……………………………....…………………33. IV.

(7) 表目錄 表 1-1:基本算術運算與對數轉換運算對照表………....……………………………2 表 1-2:4-bit LZD 真值表[2]…………………………….........………………………5 表 3-1:牛頓求根法電路延遲時間、合成面積、功率…………….....………………19 表 3-2:誤差分析…………………………………………………..…………………20 表 4-1:Bhaskara I 的正餘弦的產生器合成面積、電路延遲時間與功率量測 ………………………………………………………………………………25 表 4-2:快速正餘弦及指數函數產生器合成面積、電路延遲時間與功率量測 ………………………………………………………………………………31 表 4-3:兩種座標轉換的合成面積、電路延遲時間與功率量測……..…..…………34 表 4-4:兩種正餘弦產生器合成面積、延遲、功率量測、ADP 比較……......………35 表 4-5:Bhaskara I 方程式誤差分析……………………………….....……………35 表 4-6:快速正餘弦產生器誤差分析…………………………………..……………36. V.

(8) 第一章 對數系統的應用 1.1 對數系統(LNS)的介紹與重要性 在此研究中所運用到的對數系統是由本實驗室所設計出來的,而對數的發明 解決了多量而複雜的計算困擾,進而有效的降低運算成本,如圖 1-1 為對數算術 單元的架構。在本篇論文中之所以選擇使用對數,就是為了簡化計算,他能將一 開始很複雜的除法、除法,在轉換成對數後,變成減法和加法來達到簡化運算的 功能。. 圖 1-1:對數算術單元架構 對數算術單元的架構可以分為三階,第一個階段是由兩個對數轉換器(𝐿𝑜𝑔2 ) 組成,主要是把輸入的x、y兩數轉換為固定寬度格式且以二為底的對數形式 𝐿𝑜𝑔2 𝑥、𝐿𝑜𝑔2 y;第二階段為簡易計算單元(SCU,Simple Calculation Unit),在這 個階段是以輸入 op 信號來選擇所需的計算方式,例如要做做兩減法的話,在此 1.

(9) 定義為減法器,就可以做兩數之除法運算;第三個階段是對數反轉換器 𝐸𝑋𝑃𝑥 (Anti-log),此部分是簡易計算單元的運算結果反轉換為原先的格式,得到 x 和 y 的運算結果。 對數的發明解決了繁雜且大量計算的困擾,本篇論文之所以使用對數,就是 為了簡化計算,他的發明解決了大量而繁雜計算的麻煩,下面的表格中是在對數 運算中的轉換表,他可以將原先複雜的乘法或是除法在經過轉換成對數後,變成 簡單的加法和減法來達成簡化運算的功用。 表 1-1:基本算術運算與對數轉換運算對照表 運算. 基本算術運算. 對數轉換運算. 加法. ADD. =a+b. = A + 𝑙𝑜𝑔2 (1 + 2𝐵−𝐴 ). 乘法. MUL. =a*b. A+ B. 減法. SUB. =a-b. = A + 𝑙𝑜𝑔2 (1 - 2𝐵−𝐴 ). 除法. DIV. = a/b. A- B. 平方. SQR. = 𝑎2. = A<< 1. 次方. POW. = 𝑎𝑏. = B.𝑙𝑜𝑔2 A. 開根號. SQRT. = √𝑎. = A>> 1. 倒數. RCP. 開根號倒數. RSQ. =. 1. 1. =. = -A. 𝑎. = -A>> 1. √𝑎. 在上述的表格中,a 和 b 為將進行運算的運算元,而大寫的 A、B 為 a、b 轉 換成以 2 為底的 log,為𝑙𝑜𝑔2 a、𝑙𝑜𝑔2 b,以上面的表格來看,可以看得出來,用對 數轉換成 log 型式後可以簡化運算,就以最淺顯易懂的乘法和除法來看,在對數 轉換後原本是乘法的地方就變成了加法,而原來是除法的地方,也變成使用減法 就可以了,讓原本複雜的計算變得十分的簡單,以下就舉兩個例子來檢驗化簡過 2.

(10) 後的算法。 例子一: 例如 a=16、b=4,用這 2 數來做乘法,求兩數相乘的結果?先利用對數轉換 將這 2 數轉換成𝑙𝑜𝑔2 a 和𝑙𝑜𝑔2 𝑏的形式,就可以得到𝑙𝑜𝑔2 a = 𝑙𝑜𝑔2 16 = 4 , 𝑙𝑜𝑔2 𝑏 = 𝑙𝑜𝑔2 4 = 2,可以由上述表中知道,對數轉換後的乘法就是加法: = A + B = 4 + 2 = 6 ,再經由反轉換後可得:= 26 = 64,其結果跟 16 × 4 一 樣。 例子二: 例如 a=16、b=4,用這 2 數來做除法,求兩數相除的結果?先利用對數轉換 將這 2 數轉換成𝑙𝑜𝑔2 a和𝑙𝑜𝑔2 𝑏的形式:就可以得到𝑙𝑜𝑔2 a = 𝑙𝑜𝑔2 16 = 4 , 𝑙𝑜𝑔2 𝑏 = 𝑙𝑜𝑔2 4 = 2,可以由上述表中知道,對數轉換後除法法就是減法: = A - B = 4 - 2 = 2,再經由反轉換後可得:= 22 = 4,其結果跟 16 ÷ 4 一樣。. 1.2 對數轉換器架構 在前面所說,要化簡大量複雜的運算就必須透過對數轉換,做完對數轉換才 能夠化簡運算,所以對數轉換在這邊關係重大。對數架構主要是將二進位以一個 32 位元的方式數入值,將此輸入值設定為一個給予對數轉換運用的格式,格式 為 6 位元的整數和 26 位元的小數的專用格式,如果不是輸入此格式的話,計算 出來的答案將會有所不同。. 3.

(11) 圖 1-2:對數固定寬度格式 Q(6,26) [1]. 圖 1-2 為對數轉換器的架構圖,其中包含了四個重要的部分,分別是 32-bit 的前導零偵測計數器(Count Leading Zero)、移位器(BSH)、整數部份產生器(Integer Part Generator)、小數部分產生器(Fractional Part Generator)。. 在前面提到過,此架構的輸入值的格式是使用整數 6 位元小數 26 位元的格 式,輸入端的 N(k.v),N 代表數值的固定寬度格式,整數部分為 k-bit,小數分為 v-bit。. 4.

(12) 圖 1-3:對數固定寬度格式 Q(6,26)[1] 圖 1-3 為目前對數系統最常使用的資料格式,Q(6,26)的表示格式,整數的 部分為 6 個位元,剩餘的 26 位元為小數的位元。. 1.2.1 32-bit 前導零偵測計數器(Count Leading Zero) 此部分的功用是用來偵測數入值中 32 個位元的前導零個數,在使用數入值 時,從最高位元開始算起,在第一個不為零的數值前有多少個連續的零,在浮點 數運算系統中,透過此部分來進行正規化,例如: 0000_0101_0110_0000_0000_0000_0000_00002 中,前導零的個數由最高位算起 共有 5 個前導零,32-bit 是由 2 個 2-bit 組成一個 4-bit,2 個 4-bit 組成一個 8bit,2 個 8-bit 組成一個 16-bit,最後由這 2 個 16-bit 組成一個 32-bit 的 LZD, 下面以 4-bit LZD 的真值表舉例說明 5 種情況。 表 1-2:4-bit LZD 真值表[2] Pattern(𝐵3~0 ). Position. Position(Binary). Valid. 1111. 0. 00. Yes. 0101. 1. 01. Yes. 0011. 2. 10. Yes. 0001. 3. 11. Yes No. 0000. Pattern 為輸入的值,Position 為前導零的個數數值,Valid 為判斷數值是否 有效,而在 4 個位元都為零的情況下設定為無效。 5.

(13) 圖 1-4:32-bit LZD 架構圖[2] 圖 1-4 為 32-bit 的 LZD 架構,利用 16 個 2-bit LZD 來組成 8 個 4-bit LZD,再用 8 個 4-bit LZD,然後在由 4 個 8-bit 組成 2 個 16-bit LZD,最後再用 2 個 16-bit LZD 組成一個完整的 32 位元前導零偵測計數器。. 1.2.2 移位器(BSH) 此部分功能是根據剛剛所介紹到的前導零計數器所計算出的前導零的個數, 使用移位器將運算位元進行左移這個動作,將第一個非零位元前的零值全部除去, 例如: 0000_0101_0110_1010_0010_0000_0000_00002 中,在 32 位元前導零計數器所 計算出前導零有 5 個,接著在移位器中將運算元左移 5 個位元: 101_0110_1010_0010_0000_0000_0000_0000_02 因為移位器的使用在於取得對數轉換為浮點數部分的初始近似值,移位後第一個 非零位元排除不算,取小數固定寬度的值,故得到: 01_0110_1010_0010_0000_0000_00002 。 6.

(14) 1.2.3 整數部分產生器(Integer Part Generator) 整數部分產生的部分是要用來計算對數轉換後整數部分的值,而在整數部分 的值並不會產生任何的誤差,只要將固定的寬度格式的小數寬度轉為補數,再將 得到的值與前導零的個數相減,相減之後的值就是整數部分,例如: 0001_1010_1110_1010_000_0000_0000_00002 中,固定寬度的格式為 Q6.26,而 前導零的個數為 3,將固定寬度格式的小數轉為 1 的補數後得到: 5(110102. 001012 ) 得到的值再跟前導零的個數相減: = 2(5-3). 對照固定寬度格式整數部分為 6,運算元中得到的整數部分為0011_102 ,,此值 介於22 與23 之間,故取以 2 為底的對數其整數部分為 2。. 1.2.4 小數部分產生器(Fractional Part Generator) 此部分主要是要將移位器所產生的對數轉換小數部分的近似值做進一步的 修正,來保證得到更加精準的小數部分近似值。 在對數轉換器的四個部分中,除了此部分之外,其餘的三個單元對整體運算 結果的影響並不大,最主要造成誤差的部分在於小數的近似上面。. 1.3 對數轉換近似方法 用對數轉換來解決問題的方法大致分為三大類,即是資料遞迴、查表以及移 位相加法,在資料遞迴方面[3-5],他有著高精確度的優點,但缺點就是延遲的 時間在三個之中是最長的,而查表[6-11]的優點就是在速度上比較優越,但其相 對的缺點就是面積的需求比較大,,最後的移位相加法[12-17]的部分,他在面 積、速度以及精確度上都有較好的表現,所以在本研究中就是使用此方法進行轉 換的,通過方程式來對小數的部分進行修正來達到近似的對數。 最早於 1962 年時,Mitchell 提出一種介於 2 的次方的轉換對數的近似方法, 而這個方法的優點是簡單且易於計算,在 2009 年時,Juang以Mitchell對數近似. 7.

(15) 方法的線性方程式的斜率來推導二區段修正的近似方法[17],是將𝑁 = 2𝑘 到𝑁 = 2𝑘+1 間的數值平均分為兩個區段。. 𝑥 + (2−3 + 2−4 )𝑥4𝑀𝑆𝐵𝑖𝑡𝑠 ,0 ≤ 𝑥 ≤ 0.5. 𝑙𝑜𝑔2 (1 + 𝑥) ≈ { ……(1.1) 𝑥 − (2−3 + 2−5 )𝑥4𝑀𝑆𝐵𝑖𝑡𝑠 + (2−3 + 2−5 ),0.5 ≤ 𝑥 ≤ 1. 這兩個轉換的方程式(1.1)是根據 x 輸入的值,根據 x 小數點後面第 1 個位 元,如果是 1 的話就落在第二行的運算,如果是 0 的就是落在 0~0.5 之間做第 1 行的運算,x4MSBits 為 x 取小數後四個位元之數值。 圖 1-4 為 Juang 的對數轉換近似值與真實數值的比較 N=2 到 4 為例,因為 此方法比其他方法多使用了 x4MSBits 做額外的修正,所以在轉換的近似上也有 較好的結果。. 圖 1-5 Juang 的對數近似值與真實對數值之比較(N=2~4)[18]. 8.

(16) 1.4 對數反轉換 圖 1-5 為對數反轉換架構圖,其反轉換架構中包含整數反轉換跟小數反轉換 跟移位器,在剛剛對數轉換完時,輸出時的格式一樣(6.26)分別轉換後,再經由 移位器輸出 32 位元的值。. 圖 1-6:對數反轉換架構[19] 在做完的對數轉換後所得到的值,為對數運算結果後的答案,不過這個答案 並不是我們所要的結果,我們所要的結果必須要再做一次反轉換後,才會是我們 所需要的結果,在這邊 1.3 主要是介紹對數反轉器的公式方程式如下(1.2) [19]。. 𝑥. ̅̅̅̅̅∨𝑥 𝑥. 𝑥. 𝑥. 64. 128. 1 + 𝑥 − [ −2 + −3 −2 + −4 + −3 ] ,0 ≤ 𝑥 ≤ 0.5 16 32 64 128 2𝑚 = { …………(1.2) ̅̅̅̅̅ 𝑥−2 𝑥−3 ∨𝑥 𝑥−4 𝑥−3 −2 1+𝑥−[ + + + ] ,0.5 ≤ 𝑥 ≤ 1 16. 32. 9.

(17) 此方程式與對數轉換近似法的方程式大同小異,也是根據 x 小數點後的第一 個位元的值去判斷要去做第一個方程式還是第二個方程式。 使用對數轉換來做乘法以及除法這種較複雜的運算,將其變成簡單的加減法 來做運算,但因為上述的兩個例子數字都是比較小的,所以可以很快就有答案出 來,但是如果今天換成較大的數字,甚至還有小數部分的話,就會花費大量且多 餘的時間,而在使用對數系統之後可以大大的化簡運算的複雜度,也可以減少大 量的運算時間和體積龐大的硬體面積,進而得到最大的節省,在第三章的時候會 講解如何使用本章所介紹的對數及反對數系統,去實作牛頓法的運算,而在第四 章時會講解在使用對數及反對數系統,去設計快速正餘弦及指數函數產生器。. 10.

(18) 第二章 牛頓法介紹. 2.1 牛頓法的起源 牛頓法在最初是英格蘭物理學家艾薩克·牛頓(Sir Isaac Newton)在流數法此 文獻中所提出來的。而後在 1690 年的時候約瑟夫·鮑易也在這 Analysis Aequationum 中提出這個方法。流數法(Method of Fluxions)是由艾薩克·牛頓 (Sir Isaac Newton)在 1671 年完成的數學作品,牛頓去世過後在 1736 年公開發表 的文獻[20]。. 2.2 流數法 流數是牛頓對於導數的稱法。導數(Derivative)是微積分學中很重要的基礎 概念。一個函數在某一點的導數描述了這個函數在這一點時附近的變化率。導 數的本質是通過極限的概念對函數進行局部的線性逼近。當函數𝑓的自變數在一 點𝑥0 上產生一個增量I時,函數輸出值的增量與自變量 I 的比值在 I 趨近於 0 時 𝑑𝑓. 𝑑𝑓. 的極限如果存在,即為𝑓在𝑥0 處的導數,記作𝑓 ′ (𝑥0 )、 𝑑𝑥 (𝑥0 )或 𝑑𝑥 | 𝑥 = 𝑥0 。導 數是函數的局部性質。不是全部函數都會有導數,一個函數也不是在所有的點 上面都會有導數。若某函數在某一點導數存在,則稱其在這一點可導,否則稱 為不可導。如果函數的自變數和取值都是實數的話,那麼函數在某一點的導數 就是該函數所代表的曲線在這一點上的切線斜率。 對於可導的函數𝑓,𝑥 ⟶ 𝑓 ′ (𝑥) 也是一個函數,稱作𝑓的導函數找尋已知的 函數在某點的導數或導函數的過程則稱作求導。相反的,在已知的導函數也可 以倒過來求原來的函數,就是不定積分。 11.

(19) 2.3 牛頓法的方法說明 選擇一個接近函數𝑓(𝑥) 零點的𝑥0 ,之後去計算相對的𝑓(𝑥0 )和切線斜率 𝑓 ′ (𝑥0 )(這裡𝑓 ′ 表示函數𝑓的導數)。然後我們計算穿過點(𝑥0 ,𝑓(𝑥0 ))並且斜率為 𝑓 ′ (𝑥0 )的直線和𝑥軸的交點的𝑥坐標,也就是求下方的方程式的解: 0 = (𝑥 − 𝑥0 ) · 𝑓 ′ (𝑥0 ) + 𝑓(𝑥0 ) 將新求到的𝑥坐標記為為𝑥1 ,通常𝑥1 會比𝑥0 更接近方程式𝑓(𝑥) = 0 的解。因 此我們現在可以利用𝑥1 開始下一輪迭代。迭代公式[21]可化簡為下所示:. 𝑥𝑛+1 = 𝑥𝑛 −. 𝑓(𝑥0 ). ……………………(2.1). 𝑓′(𝑥0 ). 下圖 2.1 為牛頓法求實根圖,牛頓求根法的計算方法,主要是以微分切線 的方式進行迭代計算來求出趨近 0 的數。迭代的過程越多次,可求得的小數點 後的數值就越精確。. 圖 2.1:牛頓法求實根圖[21]. 12.

(20) 2.4 牛頓法的應用 應用於最佳化的牛頓法,牛頓法是微積分學裡, 通過迭代以求解可微函式𝑓 的零點的一種演算法 (即求𝑥使得𝑓(𝑥) = 0). 而在最佳化中, 牛頓法通常被運 用於求解一個二次可微函式𝑓的一階導數𝑓 ′ 的零點 (即求𝑥使得𝑓 ′ (𝑥) = 0), 同 時也是𝑓的駐點。因此從另一個角度而言,應用於最佳化的牛頓法是搜尋函式𝑓(𝑥) 的最小值或最大值的一種演算法。 一維問題的牛頓法主要步驟如下: 取一個點𝑥0 為初值,用上述 2.3 章節的公 式迭代,迭代直至滿足一定條件 (如𝑓 ′ (𝑥𝑛 ) = 0或𝑥n+1 − 𝑥n < 𝜀, 其中𝜀為一個 給定的足夠小的常數)後,演算法就可停止。. 13.

(21) 第三章 應用對數系統提升牛頓法的計算 在上述的兩章中,解釋了對數轉換系統以及牛頓法的介紹,在這個章節, 我們將使用對數轉換系統為此章節的應用架構,應用於牛頓法上面,來提升使 用牛頓法的計算時間。. 3.1 牛頓求根法 這個方法主要是用在於傳統電路開根號時的計算,而在傳統電路中開根號運 算在計算上有不小的難度,那在這邊我們就把開根號的問題使用對數系統來把難 易度降低,在上一章的部分我們可以得知牛頓法主要是以微分切線的方式來進行 迭代,迭代的越多次可以求得的小數後的位元值就會越精準,只要迭代計算到第 五次就可以跟下列範例√1.5 = 1.2247448713915一樣。下列範例是使用牛頓用 於求根的公式(3.1)[22],而如果要計算到更高位元的小數的話可以迭代更多次, 只要迭代到第 8 次就可以得到超過小數點後 60 位元的數值。 牛頓求根法公式:. 𝑥 = 0.5 × 𝑎 𝑥0 = 0.5 × (𝑥 + 𝑎/𝑥) 𝑥1 = 0.5 × (𝑥0 + 𝑎/𝑥0 ) 𝑥2 = 0.5 × (𝑥1 + 𝑎/𝑥1 ) 𝑥3 = 0.5 × (𝑥2 + 𝑎/𝑥2 ). ………………………………………………………………(3.1). 14.

(22) 範例說明,求根號 1.5 的值 0.5 × 1.5 = 0.75 1.5. 第 1 次迭代:0.5 × (0.75 + 0.75) = 1.375 1.5. 第 2 次迭代:0.5 × (1.375 + 1.375) = 1.232954545454 1.5. 第 3 次迭代:0.5 × (1.232954545454 + 1.232954545454) = 1.224772203602 第 4 次迭代:0.5 × (1.232954545454 +. 1.5 1.232954545454. ) = 1.224744871696. 1.5. 第 5 次迭代:0.5 × (1.224744871696 + 1.224744871696) = 1.2247448713915. 3.2 以對數系統為主的牛頓求根法架構 3.2.1 牛頓法外部架構 圖 3-1 為牛頓法求根法運算的主架構圖,依上一個節的公式可以知道,我們 需要迭代到第五次就可以取得精準的小數後的位元,可是我們從上述例子來看迭 代到第四次的小數後第 6 位元跟第五次迭代的小數後位元相同,所以在這邊我們 只迭代到第四次來進行計算。我們將輸入為 a,輸入的格式以第一章說的對數轉 換固定格式 Q(6.26),前面的 6 位元為整數部分,後面的 26 位元為小數部分,在 使用對數轉換能化簡乘法、除法和根號,轉換的過程中需用到加法、減法和移位。. 15.

(23) 圖 3-1:為牛頓求根法主架構圖. 3.2.2 牛頓求根法內部架構 接著將詳細介紹牛頓求根法內部的架構圖,主要分為1_0跟1_1~1_3這兩個 部分,這兩個部分因為輸入的值有所不同所以在架構上也不一樣,在1_0的地方, 𝑥的值是用𝑎的數值先進行右移得出,至於為甚麼要先右移是因為要先算出𝑥的值, 要先算出𝑥的值才可以繼續往下做,𝑥𝑖 的部分為要代入下一次迭代時的數值,下 面將舉例說明為甚麼是右移。. 16.

(24) 舉例: 𝑥 = 0.5 × 𝑎,a 用 1.5 代入,𝑥 = 0.5 × 1.5 = 0.75, 把𝑎寫成 10 進制 𝑎 = 1.510 , 然後轉換為 2 進制𝑎 = 1.12 , 之後再讓𝑎右移一個位元𝑎 ≫ 1 ⇒ 0.112 最後在將0.112 換回十進制就會等於0.7510 , 這樣就可以知道𝑥的值就等於先把𝑎向右移一個位元。. 首先先依上面的例子將𝑥的部分算出,之後將輸入 a 和𝑥分別轉換為對數,在 𝑎 𝑥. 的部分,因為已經將𝑎跟𝑥轉換為對數了,所以在這邊只需要將𝑎 − 𝑥就可已. 𝑎 了,之後再把相減完的值做反對數的轉換為 ,之後再加上𝑥的數值就會得到 𝑥 𝑎. (𝑥 + 𝑥 ),最後再乘以 0.5 就可以得到下一次要迭代的數值了,乘以 0.5 的地方就 是以剛剛說的例子,只要向右移一個位元就跟乘以 0.5 的數值相同,前面講的部 分為圖 3-2 為牛頓求根法內部架構圖 1_0 的部分。. 17.

(25) 圖 3-2:牛頓求根法 Newton1_0 內部架構圖. 在圖 3-3 牛頓求根法內部架構圖 Newton1_1~1_3 的部分,其實大部分的步驟 都跟圖 3-2 牛頓求根法內部架構圖 Newton1_0 相同,不同的地方在於在圖 3-3 的 部分是要先算出𝑥的數值後代入算式中,而圖 3-3 則是把圖 3-2 算出的𝑥𝑖 值代入 進去下一次迭代的數值中,Newton1_1~1_3 的做法都一樣,只是 Newton1_1 的𝑥𝑖 值是從 Newton1_2 取得,而 Newton1_2 的𝑥𝑖 值則是從 Newton1_3 取得,以此類 推下去。. 18.

(26) 圖 3-3:牛頓求根法 Newton1_1~1_3 內部架構圖. 3.3 合成結果 將以對數系統為主的牛頓求根法做電路合成的分析,合成是使用 Synopsys 公司的 Design Vision TSMC 0.18-um 環境下進行合成,合成結果如表 3-1,延遲 時間 166.41ns,面積為 448352.051846𝜇𝑚2 ,功率量測為 30.1533mW,我們還有 在使用 CPU 去執行模擬開根號所需的時間,其延遲時間 2097573.9ns。. 表 3-1:牛頓求根法電路延遲時間、合成面積、功率. 19.

(27) Methods 以對數系統為主的. Delay(ns). Area(𝜇𝑚2 ). Power(mW). 166.41. 448352.051. 30.15. 牛頓求根法 CPU(3.40GHz)執行. 2097573.9. 模擬開根號 unit of area:𝜇𝑚2 unit of delay unit of power:mW. 0.18𝜇m CMOS technology. 前面以對數系統為主的牛頓求根法進行講解,在經過對數轉換後執行運 算,以簡化複雜的運算方法,再通過對數反轉換後得到需要的地方的結果之後 再去做簡單的加、減法和移位來取得所需的答案,而在表 3-1 我們可以知道使 用對數應用在牛頓開根號上,可以減少許多時間。. 3.4 誤差分析 在對數系統轉換會有低延遲時間跟低面積成本的表現,但是在數據的地方 會與原本的實驗數據會有所差別,在這邊就將牛頓求根法做誤差分析,使用 python 作為分析的工具,輸入值 a 以 4 到 5 之間輸入一百萬筆資料去做分析, 分析的結果可以在表 3-2 得知。 表 3-2:誤差分析 最大誤差值. 0.0252. 最小誤差值. 13× 10−16. 最大誤差百分比. 1.2095%. 最小誤差百分比. ≅0. 平均誤差值. 0.0053. 由上述表可以知道最大誤差值在 0.0252,佔值的百分比為 1.2095%,最小誤 差在 13× 10−16 ,佔值的百分比接近於 0,平均誤差在 1 百萬筆資料的平均為 0.0053。. 20.

(28) 第四章 應用對數系統設計快速正餘弦及指數函數產 生器 誠如第一章節所介紹的對數轉換系統來做這個章節的應用架構,應用在快 速正餘弦及指數函數產生器有效電路之設計,正弦、餘弦跟自然指數可以應用 在信號處理的函數產生的部分,而這些複雜的計算,如果用傳統的乘法電路或 是除法電路甚至是次方的,複雜度會更高,所以我們才使用以對數為主的快速 正餘弦及自然指數產生器來改良縮小面積或降低延遲時間,而在此章節也將會 講解兩種方式不同方式來實做此產生器的方法,也會對這兩種方法做延遲時 間、面積大小和功率測量的比較,兩種方式都是基於對數轉換系統的架構上做 不同的方式來做出正餘弦及指數函數產生器,而做法和其最後的結果分析也會 在此章節最後的部分來一一做介紹。. 4.1 Bhaskara I's 方程式 在這邊我們要介紹兩種不同的快速正餘弦的產生器,我們第一個要先教紹 的是 Bhaskara I 的正餘弦近似公式,而我們將使用 Bhaskara I 所提出的公式來 進行對數的應用,其公式如等式(4.1)(4.2)[23]。. 𝑠𝑖𝑛𝑥 =. 16𝑥(𝜋−𝑥). …………………………(4.1). 5𝜋2 −4𝑥(𝜋−𝑥). 𝑐𝑜𝑠𝑥 =. 𝜋2 −4𝑥 2 𝜋2 +𝑥 2. 21. ………………………………(4.2).

(29) 我們將此方法去以對數系統去簡化計算,但是在我們要使用對數的方法去實 作時,我們發現了幾個問題,在正弦的部分,最後除法的地方因在對數裡,對數 的結果要比 1 大,不然無法做,而在這邊正弦的部分,其結果會比 1 小,所以是 沒有辦法用對數去做的,而餘弦的部分跟正弦一樣也是因為最後除法的部分其結 果也比 1 小,所以也沒辦法使用對數去做。我們有想出了一個辦法來解決這個問 題,我們只需要把函數向上平移 1 就好,只是在算完之後要再移回來就可以了, 兩個算式都一樣如等式(4.3)(4.4)。. 𝑠𝑖𝑛𝑥 = (. 16𝑥(𝜋−𝑥) 5𝜋2 −4𝑥(𝜋−𝑥). 𝑐𝑜𝑠𝑥 = (. 𝜋2 −4𝑥 2 𝜋2 +𝑥 2. + 1) − 1…………(4.3). + 1) − 1………………(4.4). 因為式子還不是最簡化,所以式子還需要再做轉換的動作,而得到的式子 如等式(4.5)(4.6) 。. 𝑠𝑖𝑛𝑥 = (. 12𝑥(𝜋−𝑥)+5𝜋2 5𝜋2 −4𝑥(𝜋−𝑥). 𝑐𝑜𝑠𝑥 = (. 2𝜋2 −3𝑥 2 𝜋2 +𝑥 2. 22. ) − 1…………………(4.5). ) − 1……………………(4.6).

(30) 4.1.1 Bhaskara I's 正弦產生器 下圖 4-1 為轉換後的正弦架構圖,其中𝑥為輸入值,這裡的π我們用常數值 3.14 代入,在正弦的方程式中有一個很大的問題,那就是在分子的部分,當我們 把分子的項式相加完後,其數值會大於我們對數系統整數的 6 個位元值,所以我 們在分子的地方做了右移的動作來讓其數值不會高於整數的 6 個位元值,而當分 子右移時,分母也要同時進行右移,也就是將整個算是進行右移,最後因式子都 進行了右移,算出來的數值並不會有變化,所以最後並不需要左移回去。. 圖 4-1:Bhaskara I's 轉換後的正弦架構圖 23.

(31) 4.1.2 Bhaskara I's 餘弦產生器 下圖4 − 2為轉換後的餘弦架構圖,在餘弦的部分,𝑥一樣為輸入值,π我們 一樣用常數值3.14代入,其做法跟正弦大同小異。. 圖 4-2:Bhaskara I's 轉換後的餘弦架構圖. 接著我們將 Bhaskara I 的正弦、餘弦的產生器去跑合成電路,在使用 Design Vision 作為合成的工具,在下面表 4-1 是 Bhaskara I 正弦、餘弦的產生器的合成 面積、電路延遲時間與功率量測,合成使用 Synopsys 公司的 Design Vision TSMC 24.

(32) 0.18-um 進行。 表 4-1:Bhaskara I 的正弦、餘弦的產生器合成面積、電路延遲時間與功率量測 Methods 以對數系統為主的. Area(𝜇𝑚2 ). Delay(ns). Power(mW). 564653.61. 95.11. 96.83. 521821.99. 81.94. 75.63. Bhaskara I's 正弦產生器 以對數系統為主的 Bhaskara I's 餘弦產生器 unit of area:𝜇𝑚2 unit of delay unit of power:mW. 0.18𝜇m CMOS technology. 4.2 快速正餘弦及指數函數產生器 4.2.1 正、餘弦及指數函數的泰勒及數之介紹 一般來說我們要計算直角三角形的內角度時,最常使用的就是三角函數,而 我們當要計算除了直角的另外兩個角度時如圖 4-3 所示,最常使用的就是正弦與 餘弦定義如等式(4.7)。而指數函數的部分,是指以 e 為底的指數函數,即𝑒 𝑥,而 這裡的 e 是數學常數,其近似值為 2.718281828,也被稱之為歐拉數。. 𝑎 sinθ = 𝑐 cosθ = 圖 4-3:直角三角形. 25. 𝑏 𝑐. …………(4.7).

(33) 在泰勒及數的部分,在數學當中,泰勒級數主要是用無限項連加式,級數 來表示一個函數,這些相加的項由函數在某一點的導數求得。而我們可以知道 正弦的泰勒及數,如等式(4.8),餘弦的泰勒及數,如等式(4.9),還有指數函數 的泰勒及數,如等式(4.10),在看完這三個泰勒級數等式後,我們可以發現一件 事情,當我們把正弦及餘弦的泰勒及數的各項式相加起來就會等於指數函數的 泰勒及數,所以我們希望可以使用以對數為主的快速正餘弦及自然指數產生器 來改良縮小面積或降低延遲時間,以期可以達到更好的效益。. 𝑠𝑖𝑛𝑥 ≅ (𝑥 +. 𝑐𝑜𝑠𝑥 ≅ (1 + 𝑥. 𝑒 ≅ (1 + 𝑥 +. 𝑥2 2!. +. 𝑥5 5! 𝑥4 4!. 𝑥3 3!. )−(. )−(. +. 𝑥4 4!. +. 𝑥3 3! 𝑥2 2! 𝑥5 5!. +. + +. 𝑥7 7! 𝑥6 6! 𝑥6 6!. )…………(4.8). )…………(4.9). +. 𝑥7 7!. )…(4.10). 在這會個別講解使用對數做一般正弦、餘弦以及指數函數產生器的個別方法, 而在這其中使用對數方法裡,在上面的方程式中最需要解決的部分,就是分子的 次方跟分母的階層的問題,在這邊我們也有想出其解決的方法,在次方的部分, 只需要把帶入的 x 數值在 7 次方後部會超出我們對數整數部分的數值就可以了, 可在分母的部分在分母有 2 的倍數時可以做右移來簡化算式,而最大的問題是在 7 階層時,其乘出來的數值會大於我們對數整數的部分,在這個部分我們也有找 到了解決的方法,我們在做 7 階層時先做到 6 階層的乘法,之後再 x 的 7 次方去 除以前面做出來的 6 階層,最後再去除以 7 這樣就可以把 x 的 7 次方除以 7 階層 給做出來了,而其作法如等式(4.11~4.16). 26.

(34) 𝑥2 2! 𝑥3 3!. = =. 𝑥4 4! 𝑥5 5! 𝑥6 6!. 𝑥2 1×2 𝑥3. =. 𝑥4 1×2×3×4. =. =. 3×8. =. 1×2×3×4×5×6. 6!. 3. 𝑥4. 𝑥6. 𝑥7. 𝑥3. =. 3×2. 1×2×3×4×5. 32 ×5. 7!. 𝑥3. 𝑥5. 𝑥6 𝑥7. =. 1×2×3. =. =. = 𝑥 2 ≫ 1……………………………......………………(4.11). ≫4=. =. ≫ 1……………........………………(4.12) 𝑥4 3. 𝑥5 3×5×8. = 𝑥6 45. ≫ 3…………………....………(4.13). =. 𝑥5 15. ≫ 3………......…………(4.14). 𝑥6 3×5×2×4×2×3. =. 𝑥6 32 ×5×16. =. ≫ 4…………………………………...…(4.15). /7…………………………………………………………………(4.16). 4.2.2 快速正弦產生器 圖 4-4 為正弦產生器流程圖,其算式(如等式 4.8)我們也在前面講解過了,x 為你要計算的數值,而我們要做的部分就是 x 的 3 次方除以 3 階層(如等式 4.12)、 x 的 5 次方除以 5 階層的部分(如等式 4.14)、x 的 7 次方除以 7 階層的部分(如等 式 4.15~4.16),這裡就講解一下 7 次方除以 7 階層的部分,我們可以從等式(4.16) 知道,我們得先將等式(4.15)的 6 階層做出來,首先將 x、45 以及 7 進入對數, 之後將算出來的 x 的 7 次方去減掉 45,因進入對數的關係,在對數裡除法等於 減法,之後再減掉一次 7 就可以轉反對數出來,然後再向右移 4 個位元就做出 7 次方除以 7 階層的部分了,而其他部分的作法都類似,最後依(等式 4.8)去做相 加減就可以得出正弦的值了。 27.

(35) 圖 4-4:快速正弦產生器架構圖. 4.2.3 快速餘弦產生器 圖 4-5 為快速餘弦產生器流程圖,其算式(如等式 4.9)我們也在前面講解過 了,做法跟正弦產生器相同,x 為你要計算的數值,而我們要做的部分就是 x 的 2 次方除以 2 階層(如等式 4.11)、x 的 4 次方除以 4 階層的部分(如等式 4.13)、x 的 6 次方除以 6 階層的部分(如等式 4.15) ,這裡就講解一下 6 次方除以 6 階層 的部分,我們得先將等式(4.15)的 6 階層做出來,首先將 x、45 進入對數,之後 將算出來的 x 的 6 次方去減掉 45,因進入對數的關係,在對數裡除法等於減法, 之後轉反對數出來,然後再向右移 4 個位元就做出 6 次方除以 6 階層的部分了, 而其他部分的作法都類似,最後依(等式 4.9)去做相加減就可以得出餘弦的值了, 28.

(36) 整體在做餘弦的部分比正弦還要簡單一些,在正弦做 7 次方除以 7 階層就可以看 得出來比較複雜一些。. 圖 4-5:快速餘弦產生器架構圖. 4.2.4 快速正餘弦及指數函數產生器 圖 4-6 為快速正餘弦及指數函數產生器流程圖,其算式(如等式 4.10)我們也 在前面講解過了,做法跟正、餘弦產生器相同,x 一樣為你要計算的數值,不同 的地方為原本正餘弦產生器算式裡的減法的部分都要變成加法,其他部分都跟正 餘弦產生器的做法相同。. 29.

(37) 30. 圖 4-6:快速正餘弦及指數函產生器架構圖.

(38) 接著將快速正餘弦及指數函數產生器跑合成電路,使用 Design Vision 作合 成工具,表 4-2 為快速正餘弦及指數函數產生器的合成面積、電路延遲時間與功 率量測,合成使用 Synopsys 公司的 Design Vision TSMC 0.18-um 進行。. 表 4-2:快速正餘弦及指數函數產生器合成面積、電路延遲時間與功率量測 Methods 以對數系統為主的. Area(𝜇𝑚2 ). Delay(ns). Power(mW). 414328.73. 44.09. 59.62. 359418.78. 42.91. 49.95. 706344.24. 46.39. 118.32. 正弦產生器 以對數系統為主的 餘弦產生器 以對數系統為主的 指數函數產生器 unit of area:𝜇𝑚2 unit of delay :ns nit of power:mW. 0.18𝜇m CMOS technology. 4-3 座標轉換 誠如前兩節所介紹的兩種不同的正餘弦產生器的介紹,讓我們更加了解正弦 及餘弦,而之所以要製作一般快速正餘弦產生器則是因為要進行座標轉換的部分, 將我們從一般快速正餘弦產生器產生出的正弦、餘弦的值直接轉換成座標,座標 轉換公式如等式(4.17)[24](Evans, 2001)。. 31.

(39) 𝑥 ′ = cos(𝜃) ∗ 𝑥 − 𝑠𝑖𝑛(𝜃) ∗ 𝑦 𝑦 ′ = sin(𝜃) ∗ 𝑥 + 𝑐𝑜𝑠(𝜃) ∗ 𝑦…(4.17) 我們在這邊使用了兩種做法來進行座標轉換,一種是使用對數系統來進行 如圖 4-7,另一種則是不使用對數系統直接用*來做如圖 4-8 來進行比較,而這 兩種做法的前半部還是一樣使用一般快速正餘弦產生器來進行,而之所以進行 左移的動作是因為,出來的 sin 及 cos 的值沒有大於一,沒辦法進入對數系統 裡,所以才進行左移的動作,不過最後要右移回來數值才會正確,再來增加的 就是座標轉換的部分了。. 32.

(40) 33. 圖 4-7:使用對數系統的座標轉換架構.

(41) 4-3 為兩種座標轉換的合成面積、電路延遲時間與功率量測,合成使用 Synopsys 公司的 Design Vision TSMC 0.18-um 進行。 34. 圖. 圖 4-8:直接用*的座標轉換架構 接著將這兩種座標轉換跑合成電路,使用 Design Vision 作合成工具,下方表.

(42) 表 4-3:兩種座標轉換的合成面積、電路延遲時間與功率量測 Area(𝜇𝑚2 ). Delay(ns). Power(mW). 1075908.57. 86.02. 214.90. 1337304.73. 52.01. 286.90. Methods 使用對數系統的 座標轉換 直接*的 座標轉換. unit of area:𝜇𝑚2 unit of delay unit of power:mW. 0.18𝜇m CMOS technology. 4.4 電路分析與比較 我們在前面所提到的以對數系統為主的 Bhaskara I's 方程式以及快速正餘弦 產生器,可以看到 Bhaskara I's 方程式以及快速正餘弦產生器的面積、延遲時間 跟功率量測比較,在下方表 4-4 的部分表示的是我們提出的以對數為主的兩種正 餘弦產生器的比較結果,並將這兩種方法的 ADP 做計算,ADP 為延遲時間跟面 積的乘積,並且以快速正餘弦產生器為準,與 Bhaskara I's 方程式比較所節省的 成本。. 35.

(43) 表 4-4:兩種正餘弦產生器合成面積、延遲、功率量測、ADP 比較 Methods. Area(𝜇𝑚2). Delay(ns). Power(mW). ADP. ADP savings. 564653.60. 95.11. 96.82. 53,704,204. 100%. 414328.72. 44.09. 59.61. 18,267,753. 65.99%. 521821.98. 81.94. 75.63. 42,758,093. 100%. 359418.78. 42.91. 49.95. 15,422,660. 63.94%. 以對數系統為主 的 Bhaskara I's 正弦產生器 以對數系統為主 的正弦產生器 以對數系統為主 的 Bhaskara I's 餘弦產生器 以對數系統為主 的餘弦產生器 unit of area:𝜇𝑚2 unit of delay unit of power:mW. 0.18𝜇m CMOS technology. 表 4-5 為 Bhaskara I's 方程式所使用 python 產生出 1000000 筆隨機數據輸入 至圖 4-4 跟圖 4-5 模型中,並依照其模型來進行誤差分析。 表 4-5:Bhaskara I's 方程式誤差分析 正弦. 餘弦. 最大誤差值. 0.00163. 0.00163. 最小誤差值. ≅0. ≅0. 最大誤差百分比. 36.78%. 34.64%. 最小誤差百分比. ≅0. 2.0053%. 平均誤差值. 0.00083. 0.00084. 36.

(44) 表 4-6 為所使用 python 產生出 1000000 筆隨機數據輸入至圖 4-1 跟圖 4-2 模型中,並依照其模型來進行誤差分析。 表 4-6:快速正餘弦產生器誤差分析 正弦. 餘弦. 最大誤差值. 0.06657. 0.00089. 最小誤差值. ≅0. ≅0. 最大誤差百分比. 14.60%. 10.90%. 最小誤差百分比. 0.0004%. 0.0004%. 平均誤差值. 0.01108. 9.98843 × 𝑒 −5. 在此章節我們使用對數系統來簡化運算的方法,做出了 Bhaskara I's 方程式、 快速正餘弦產生器以及兩種方式的座標轉換,並將這些方程式及架構個別說明, 也將他們在相同的環境下做合成分析,也將本篇論文提出的 Bhaskara I's 方程式、 快速正餘弦產生器來進行誤差分析與比較。. 37.

(45) 參考文獻 [1]. H. Kim, B. –G. Nam, J. –H. Sohn, J. –H. Woo, and H. –J. Yoo, “A 231-MHz, 2.18mW 32-bit Logarithmic Arithmetic Unit for Fixed-Point 3-D Graphics System”, IEEE Journal of Solid-State Circuits (JSSC), Vol. 41, No. 11, pp.2373-2381, Nov. 2006. [2] Vojin G. Oklobdzija, “An Algorithmic and Novel Design of a Leading Zero Detector Circuit: Comparison with Logic Synthesis,” IEEE Transactions on Vera Large Scale Integration System, Vol. 2 , pp. 124 - 128, March 1994. [3] J.-A. Pineiro, “Algorithm and architecture for logarithm, exponential, and powering computation,” IEEE Transaction on Computers, vol. 53, no. 9, pp. 1085–1096, Sep. 2004. [4] J. A. Pineiro, M. D. Ercegovac, and J. D. Bruguera, “High-radix logarithm with selection by rounding: algorithm and implementation,” Journal of VLSI Signal Processing Systems, vol. 40, pp. 109–123, May 2005. [5] D. K. Kostopoulos, “An algorithm for the computation of binary logarithms,” IEEE Transaction on Computers, vol. 40, no. 11, pp. 1267–1270, Nov. 1991. [6] M. J. Schulte and J. E. E. Swartzlander, “Hardware designs for exactly rounded elementary functions,” IEEE Transaction on Computers, vol. 43, no. 8, pp. 964– 973, Aug. 1994. [7] P. T. P. Tang, “Table-lookup algorithms for elementary functions and their error analysis,” Proc. 10th Symp. Comput. Arithmetic, pp. 232–236. Jun. 1991. [8] J. E. Stine and M. J. Schulte, “The symmetric table addition method for accurate function approximation,” Journal of VLSI Signal Procesing Systmes, vol. 21, pp. 167–177, Jun. 1999. [9] M. J. Schulte and J. E. Stine, “Approximating elementary functions with symmetric bipartite tables,” IEEE Transactions on Computers, vol. 48, no. 8, pp. 842–847, Aug. 1999. [10] K. Johansson, O. Gustafsson and L. Wanhammar, “Implementation of elementary functions for logarithmic number systems,” IET Computer & Digital Techniques, vol. 2, no. 4, pp. 295-304, July 2008. [11] S. Paul, N. Jayakumar, and S. P. Khatri, “A Fast Hardware Approach for Approximate, Efficient Logarithm and Antilogarithm Computations,” IEEE Transactions on VLSI Systems, vol. 17, no. 2 pp. 269-277, February 2009. [12] J. N. Mitchell, Jr., “Computer multiplication and division using binary logarithms,” IRE Transanstions on Electronics Computers, vol. 11, no. 11, pp. 512–517, Nov. 1962. [13] M. Combet, H. V. Zonneveld and L. Verbeek, “Computation of the base two 38.

(46) logarithm of binary numbers,” IEEE Transactions on Electronic Computers, vol. 14, no. 6, pp. 863–867, June 1965. [14] S. L. SanGregory, R.E. Siferd, C. Brother, and D. Gallagher, “A fast, low-power logarithm approximation with CMOS VLSI implementation,” Proc. IEEE Midwest Symp. Circuits and Systems (MWSCAS), vol. 1, pp. 388-391, Aug. 1999. [15] K. H. Abed and R. E. Siferd, “CMOS VLSI implementation of a low-power logarithmic converter,” IEEE Transactions on Computers, vol. 52, no. 11, pp. 1421–1433, Nov. 2003. [16] H. Kim, B. –G. Nam, J. –H. Sohn, J. –H. Woo, and H. –J. Yoo, “A 231-MHz, 2.18mW 32-bit Logarithmic Arithmetic Unit for Fixed-Point 3-D Graphics System”, IEEE Journal of Solid-State Circuits (JSSC), Vol. 41, No. 11, pp.2373-2381, Nov. 2006. [17] T. –B. Juang, S. –H. Chen and H. –J. Cheng, “A lower-error and ROM-free logarithmic converter for digital signal processing applications,” IEEE Transactions on Circuits and Systems II, vol. 56, no. 12, pp. 931-935, December 2009. [18] 李穎仁,莊作彬,2017,具有共時錯誤偵測能力之對數運算器之設計,國立 屏東大學資訊工程學系碩士論文。 [19]Tso-Bing Juang, Han-Lung Kuo and Kai-Shiang Jan,“Lower-Error and AreaEfficient Antilogarithmic Converters with Bit-Correction Schemes,” Journal of the Chinese Institute of Engineers, Vol. 39, No. 1, pp. 57-63, Jan. 2016T. –B. [20] I.Newton, The Method of Fluxions and Infinite Series. UK:Henry Woodfall,1736. [21] C. Wang, X. Zhou and Y. Ma, "Based on the physical system of the analysis and research in Newton's method," 2019 Chinese Control And Decision Conference (CCDC),Nanchang, China, 2019, pp. 206-211. [22] 林琮翊,莊作彬,2018,使用對數系統加速 CNN 電路之設計,國立屏東大 學資訊工程學系碩士論文。 [23] R.C.GUPTA. (1967). BHASKARA I’S APPROXIMATION TO SINE. 1-16. [24] Evans, P. R. (2001). Rotations and rotation matrices. 1-5.. 39.

(47)

數據

圖 1-2:對數固定寬度格式  Q(6,26) [1]
圖 1-3:對數固定寬度格式 Q(6,26)[1]
圖 1-4:32-bit LZD 架構圖[2]
圖 3-1:為牛頓求根法主架構圖  3.2.2 牛頓求根法內部架構      接著將詳細介紹牛頓求根法內部的架構圖,主要分為1_0跟1_1~1_3這兩個 部分,這兩個部分因為輸入的值有所不同所以在架構上也不一樣,在1_0的地方,
+7

參考文獻

相關文件

Sometimes called integer linear programming (ILP), in which the objective function and the constraints (other than the integer constraints) are linear.. Note that integer programming

使瞭解系統櫥櫃應用 於室內設計及室內裝 修之組裝概念,並可達 快速施作之成效,瞭解 系統櫥櫃之元件模具

This article reviews the local governance theory and Rhodes’s policy network theory; furthermore, taking two examples in Taiwan, which are Wu-Lai hot spring area and Tai-an hot

機器人、餐飲服務、花藝、雲端運算、網路安全、3D 數位遊戲藝術、旅 館接待、行動應用開發、展示設計、數位建設

Students are asked to collect information (including materials from books, pamphlet from Environmental Protection Department...etc.) of the possible effects of pollution on our

● Using canonical formalism, we showed how to construct free energy (or partition function) in higher spin theory and verified the black holes and conical surpluses are S-dual.

Without such insight into the real nature, no matter how long you cul- tivate serenity (another way of saying samatha -- my note) you can only suppress manifest afflictions; you

• We shall prove exponential lower bounds for NP-complete problems using monotone circuits. – Monotone circuits are circuits without