帳號:guest(216.73.216.146)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):樊虹君
作者(外文):Fan, Hung-Chun
論文名稱(中文):在FPGA上使用固定點迭代法實現Posit數字系統之泛用型平方根計算器
論文名稱(外文):Implementing A Generic Square Root Calculator of Posit Number System on FPGA Using Fixed-Point Iteration
指導教授(中文):鐘太郎
指導教授(外文):Jong, Tai-Lang
口試委員(中文):黃裕煒
謝奇文
口試委員(外文):Huang, Yu-Wei
Hsieh, Chi-Wen
學位類別:碩士
校院名稱:國立清華大學
系所名稱:電機工程學系
學號:109061522
出版年(民國):111
畢業學年度:110
語文別:中文
論文頁數:93
中文關鍵詞:Posit 數字系統硬體運算單元編碼器解碼器平方根固定點迭代法
外文關鍵詞:Position numberhardware arithmetic unitencoderdecodersquare rootfixed-point iteratio
相關次數:
  • 推薦推薦:0
  • 點閱點閱:1166
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏:0
2017年數字系統POSIT [1]被提出,與傳統浮點數IEEE754相比,相同的位元下,可提供更大的動態範圍和更多的小數位以提高準確性,其在接近 1 的範圍具有特別好的精度。Posit數字系統在當前應用中,較常用於深度學習,因其研究趨勢中試圖最大限度減少使用位元數,並得到類似的結果。通過使用更少的位元來實現加速,從而減少網絡和內存帶寬以及功率要求。
然對於其精度的應用探討則較少討論到,本論文主旨在提供一個新方法—使用固定點迭代法以計算Posit數字系統的平方根,並和其他浮點數字系統比較,包含雙精度浮點、單精度浮點、半精度浮點、和bfloat16。本論文首先說明各數字系統,並比較現行的硬體演算法中Posit格式的運算單元,其次說明使用固定點迭代法求平方根的演算法,以及其硬體架構,最後將此演算法實現在FPGA上,並設計一套UI介面以輔助驗證收斂速度和精度,得出其延遲、面積與功耗,在初始值為1的版本中,Posit(16,1)、Posit(32,1)和Posit(32,2)的LUT分別為375、1000和985,其面積在Posit(16,1)優於 [2]的386;面積在Posit(32,2)優於 [3]的1084(iterative)和2121(pipeline);面積在Posit(32,1)則介於 [3]的1088(iterative)和2131(pipeline)和 [2]的832之間,而在加入初始值控制的單元後,Posit(16,1)和Posit(32,2)的LUT分別為379和1001,但得到迭代次數下降的運算效益。
In 2017, the number system POSIT was proposed. Compared with the traditional floating point number system IEEE754, it can provide a larger dynamic range and more decimal places to improve the accuracy under the same number of bits. It has a particularly good performance in the range close to 1. Recently deep learning trends try to minimize the number of bits and get similar results. By using fewer bits to reduce network and memory bandwidth and power requirements.
However, the application of its precision is less discussed. The main purpose of this article is to use the fixed-point iteration method to calculate the square root in the posit number system, and compare it with the traditional floating-point IEEE754. This paper first describes each digital system, and compares the arithmetic units of the Posit format in the current hardware algorithm. Secondly, it describes the algorithm for finding the square root using the fixed-point iterative method and its hardware architecture. Finally, the algorithm is implemented in an FPGA and design a set of UI interface to help verify the convergence speed and accuracy, and obtain its delay, area and power consumption. In the version with the initial value of 1, the square root calculator in Posit(16,1),Posit(32,1),Posit(32,2) is 375, 1000 and 985, its area in Posit(16,1) is better than 386 in [2]; the area in Posit(32,2) is better than 1084 (iterative) and 2121 (pipeline) in [3]; the area is in Posit(32,1) is between 1088 (iterative) and 2131 (pipeline) of [3] and 832 of [2]. In the version with the initial value control unit, the square root calculator in Posit(16,1) and Posit(32,2) is 379 and 1001, which get the computational benefit of reducing the number of iterations.
中文摘要 I
Abstract II
誌謝 III
目錄 IV
圖目錄 VI
表目錄 X
第一章 緒論 1
1.1 研究背景與目標 1
1.2 文獻回顧 1
1.3 論文架構 5
第二章 研究背景與相關研究 6
2.1 數字系統 6
2.1.1 IEEE754 6
2.1.2 半精度浮點 6
2.1.3 bfloat16 7
2.1.4 Posit [1] 8
2.2 硬體運算單元 10
2.2.1 PACoGen [4] 10
2.2.2 Flo-Posit [5] 23
2.2.3 PLAM [6] 23
2.3 固定點迭代法 26
2.3.1 固定點 26
2.3.2 迭代式 26
2.3.3 巴拿赫固定點定理逆定理證明 27
第三章 分析方法與實驗結果 28
3.1 基礎運算單元 28
3.2 平方根求解 44
3.2.1 平方根迭代函數 44
3.2.2 平方根硬體架構 45
3.3 UI介面轉換器 55
3.4 實驗結果 61
3.4.1 數值驗證 61
3.4.2 加入初始值控制之迭代驗證 73
第四章 結論與未來展望 79
4.1 結論 79
4.2 未來展望 79
參考文獻 80

[1] J. Gustafson, The End of Error: Unum Computing, 1st ed., CRC Press, 2015.
[2] Feibao Xiao, Feng Liang, Bin Wu, Junzhe Liang, Shuting Cheng and Guohe Zhang, "Posit Arithmetic Hardware Implementations with The Minimum Cost Divider and SquareRoot," Electronics, 2020.
[3] Aneesh Raveendran, Sandra Jean, Mervin J, Vivian D, David Selvakumar, "A Novel Parametrized Fused Division and Square-Root POSIT Arithmetic Architecture," in 2020 33rd International Conference on VLSI Design and 2020 19th International Conference on Embedded Systems (VLSID), Bangalore, India, 2020.
[4] M. K. Jaiswal, H. K.-H. So, "PACoGen: A Hardware Posit Arithmetic Core Generator," IEEE Access, 2019.
[5] R. Murillo, “Flo-Posit,” 2021. [Online]. Available: https://github.com/RaulMurillo/Flo-Posit.
[6] R. Murillo, A. A. Del Barrio Garcia, G. Botella, M. S. Kim, H. Kim, N. Bagherzadeh, "PLAM: a Posit Logarithm-Approximate Multiplier".IEEE Transactions on Emerging Topics in Computing.
[7] J. Gustafson, "Posit arithmetic," 2017. [Online]. Available: https://posithub.org/docs/Posits4.pdf.
[8] J.L. Gustafson, Isaac Yonemoto, "Beating Floating Point at its Own Game: Posit Arithmetic," 2017. [Online]. Available: http://www.johngustafson.net/pdfs/BeatingFloatingPoint.pdf.
[9] M. K. Jaiswal, H. K.-H. So, "Universal number posit arithmetic generator on FPGA," in 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany, 2018.
[10] M. K. Jaiswal, H. K.-H. So, "Architecture generator for type-3 unum posit adder/subtractor," in 2018 IEEE International Symposium on Circuits and Systems (ISCAS), Florence, Italy, 2018.
[11] M. Jaiswal, "PACoGen: Posit Arithmetic Core Generator," 2019. [Online]. Available: https://github.com/manish-kj/PACoGen.
[12] L. v. Dam, "Enabling high performance posit arithmetic applications using hardware acceleration," 2018. [Online]. Available: http://resolver.tudelft.nl/uuid:943f302f-7667-4d88-b225-3cd0cd7cf37c.
[13] F. de Dinechin, B. Pasca, "Designing custom arithmetic data paths with FloPoCo," IEEE Design & Test of Computers, vol. 28, no. 4, pp. 18-27, 2011.
[14] R. Murillo, A. A. Del Barrio, and G. Botella, "Customized posit adders and multipliers using the FloPoCo core generator," in IEEE International Symposium on Circuits and Systems (ISCAS), Seville, Spain, 2020.
[15] J. N. Mitchell, "Computer multiplication and division using binary logarithms," IRE Transactions on Electronic Computers, Vols. EC-11, no. 4, pp. 512-517, 1962.
[16] C. Bessaga, A. Pelczynski, "On bases and unconditional convergence of series in Banach spaces," Studia Mathematica, vol. 17, pp. 151-164, 1958.
[17] Donald R. Sherbert, Robert G. Bartle, Introduction to Real Analysis, 4th ed., John Wiley, 2011.
[18] Ricard L. Burden, J.Douglas Faires, Numerical Analysis, 9th ed., Brooks/Cole, 2012.
[19] "正点原子FPGA/ZYNQ课程专栏," [Online]. Available: https://www.yuanzige.com/course-list/13.
[20] "深入浅出MFC," [Online]. Available: https://wizardforcel.gitbooks.io/jjhou-mfc/content/.
[21] "MFC 桌面應用程式," [Online]. Available: https://docs.microsoft.com/zh-tw/cpp/mfc/mfc-desktop-applications?view=msvc-170.
[22] R. Munafo., "Survey of floating-point formats," [Online]. Available: http://www.mrob.com/pub/math/floatformats.html.
[23] "The Zynq Book," [Online]. Available: http://www.zynqbook.com/.
[24] A. A. D. Barrio, R. Hermida, "A slack-based approach to efficiently deploy radix 8 booth multipliers," in IEEE Design, Automation & Test in Europe Conference & Exhibition (DATE), Lausanne, Switzerland, 2017.
[25] A. A. Del Barrio, R. Hermida, S. Ogrenci-Memik,, "A combined arithmetic-high-level synthesis solution to deploy partial carry-save radix-8 booth multipliers in datapaths," IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 66, no. 2, pp. 742-755, 2018.
[26] A. Podobas, S. Matsuoka, "Hardware implementation of POSITs and their application in FPGAs," in IEEEInternational Parallel and Distributed Processing Symposium Workshops (IPDPSW), Vancouver, BC, Canada, 2018.
[27] R. Chaurasiya et al., "Parameterized posit arithmetic hardware generator," in IEEE 36th International Conference on Computer Design(ICCD), Orlando, FL, USA, 2018.
[28] L. H. Crockett, R. A. Elliot, M. A. Enderwitz, R. W. Stewart, The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, 1st ed., Strathclyde Academic Media, 2016.
[29] "IEEE Unapproved IEEE Draft Standard for Verilog? Hardware Description Language (Revision of 1364-1995) Replaced by Approved IEEE Draft," IEEE Std P1364/D7, 2005.
[30] "IEEE Standard for Verilog Register Transfer Level Synthesis," IEEE Std 1364.1-2002, 2002.
[31] "IEEE Standard for Verilog Hardware Description Language," IEEE Std 1364-2005 (Revision of IEEE Std 1364-2001), 2006.
[32] "IEEE Standard Verilog Hardware Description Language," IEEE Std 1364-2001, 2001.
[33] "IEEE Standard for Standard Delay Format (SDF) for the Electronic Design Process," IEEE Std 1497-2001, 2001.
(此全文20270706後開放外部瀏覽)
電子全文
摘要
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *