研究生: |
黃維熙 Huang, Wei-Hsi |
---|---|
論文名稱: |
以Chipyard為基礎的SoC設計平台FPGA實現之研究 Research on FPGA Implementation of Chipyard-based SoC Design Platform |
指導教授: |
黃文吉
Hwang, Wen-Jyi |
口試委員: |
鮑興國
Pao, Hsing-Kuo 葉佐任 Yeh, Tso-Zen 黃文吉 Hwang, Wen-Jyi |
口試日期: | 2022/07/27 |
學位類別: |
碩士 Master |
系所名稱: |
資訊工程學系 Department of Computer Science and Information Engineering |
論文出版年: | 2022 |
畢業學年度: | 110 |
語文別: | 中文 |
論文頁數: | 55 |
英文關鍵詞: | FPGA, SoC, Chipyard |
研究方法: | 實驗設計法 |
DOI URL: | http://doi.org/10.6345/NTNU202201330 |
論文種類: | 學術論文 |
相關次數: | 點閱:183 下載:54 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來在軟體上的AI加速器發展越來越多元化,並且在硬體上也有一些的發展及實現,而硬體AI加速器的優勢在於對特定資料格式做運算可以大幅提升速度,僅需使用資料流的方式就可以實現。
本論文針對柏克萊大學提出的硬體開源框架Chipyard,提出一個硬體建構的流程,將RISC-V為基礎的CPU搭配AI硬體加速器整合於FPGA平台,並且完善RISC-V軟體開機流程,讓我們可以通過硬體建構流程調整所需的硬體資源,做出客製化的硬體電路,快速的去對CPU及AI硬體加速器於FPGA開發板上做有效的效能評估。
[1] A. Amid, D. Biancolin, A. Gonzalez, D. Grubb, S. Karandikar, H. Liew, A. Magyar, H. Mao, A. Ou, N. Pemberton, P. Rigge, C. Schmidt, J. Wright, J. Zhao, Y. S. Shao, K. Asanović, B. Nikolić, "Chipyard: Integrated Design, Simulation, and Implementation Framework for Custom SoCs." in IEEE Micro, 2020, vol. 40, no. 4, pp. 10-21, doi: 10.1109/MM.2020.2996616.
[2] A. Waterman, K. Asanovic, “The RISC-V instruction set manual, volume II: Privileged architecture.” RISC-V Foundation, 2019.
[3] K. Asanović, R. Avizienis, J. Bachrach, S. Beamer, D. Biancolin, C. Celio, H. Cook, D. Dabbelt, J. Hauser, A. Izraelevitz, S. Karandikar, B. Keller, D. Kim, J. Koenig, Y. Lee, E. Love, M. Maas, A. Magyar, H. Mao, M. Moreto, A. Ou, D. A. Patterson, B. Richards, C. Schmidt, S. Twigg, H. Vo, A. Waterman, "The rocket chip generator." EECS Department, University of California, Berkeley, 2016, Tech. Rep. UCB/EECS-2016-17 4.
[4] C. Celio, P. -F. Chiu, K. Asanović, B. Nikolić and D. Patterson, "BROOM: An Open-Source Out-of-Order Processor With Resilient Low-Voltage Operation in 28-nm CMOS," in IEEE Micro, 2019, vol. 39, no. 2, pp. 52-60, doi: 10.1109/MM.2019.2897782.
[5] F. Zaruba, L. Benini. “The Cost of Application-Class Processing: Energy and Performance Analysis of a Linux-Ready 1.7-GHz 64-Bit RISC-V Core in 22-nm FDSOI Technology.” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2019, 27(11), 2629-2640.
[6] lowRISC. LowRISC/IBEX: Ibex is a small 32 bit RISC-v CPU core, previously known as Zero-riscy. GitHub. Retrieved July 5, 2022, from https://github.com/lowRISC/ibex
[7] Y. Lee, C. Schmidt, A. Ou, A. Waterman, K. Asanović, “The Hwacha vector-fetch architecture manual.” EECS Department, University of California, Berkeley, 2015, Tech. Rep. UCB/EECS-2015-262.
[8] H. Genc, S. Kim, A. Amid, A. Haj-Ali, V. Iyer, P. Prakash, J. Zhao, D. Grubb, H. Liew, H. Mao, A. Ou, C. Schmidt, S. Steffl, J. Wright, I. Stoica, J. Ragan-Kelley, K. Asanovic, B. Nikolic, Y. Sophia Shao, "Gemmini: Enabling Systematic Deep-Learning Architecture Evaluation via Full-Stack Integration." 2021 58th ACM/IEEE Design Automation Conference (DAC), 2021, pp. 769-774, doi: 10.1109/DAC18074.2021.9586216.
[9] Schmidt, C., & Izraelevitz, A. A fast parameterized sha3 accelerator. In tech. rep.. EECS Department, University of California, 2015.
[10] NVIDIA. NVDLA. NVIDIA Deep Learning Accelerator. Retrieved July 5, 2022, from http://nvdla.org/, 2015.
[11] IceNet. IceNet - Chipyard main documentation. (n.d.). Retrieved July 5, 2022,from https://chipyard.readthedocs.io/en/latest/Generators/IceNet.html, 2019.
[12] J. Bachrach, H. Vo, B. Richards, Y. Lee, A. Waterman, R. Avižienis, J. Wawrzynek, K. Asanović, "Chisel: Constructing hardware in a Scala embedded language." DAC Design Automation Conference 2012, 2012, pp. 1212-1221, doi: 10.1145/2228360.2228584.
[13] A. Izraelevitz, J. Koenig, P. Li, R. Lin, A. Wang, A. Magyar, D. Kim, C. Schmidt, C. Markley, J. Lawson, J. Bachrach, "Reusability is FIRRTL ground: Hardware construction languages, compiler frameworks, and transformations." 2017 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2017, pp. 209-216, doi: 10.1109/ICCAD.2017.8203780.
[14] Riscv-Software-Src. Spike, a RISC-V ISA Simulator. GitHub. Retrieved July 5, 2022, from https://github.com/riscv/riscv-isa-sim
[15] W. Snyder, "Verilator and systemperl. " In: North American SystemC Users’ Group, Design Automation Conference. 2004.
[16] Synopsys. VCS Functional Verification Solution. Functional Verification Solution. Retrieved July 5, 2022, from https://www.synopsys.com/verification/simulation/vcs.html
[17] S. Karandikar, H. Mao, D. Kim, D. Biancolin, A. Amid, D. Lee, N. Pemberton, E. Amaro, C. Schmidt, A. Chopra, Q. Huang, K. Kovacs, B. Nikolic, R. Katz, J. Bachrach, K. Asanovic, "FireSim: FPGA-Accelerated Cycle-Exact Scale-Out System Simulation in the Public Cloud." 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA), 2018, pp. 29-42, doi: 10.1109/ISCA.2018.00014.
[18] H. Cook, W. Terpstra, Y. Lee, Diplomatic design patterns: A TileLink case study. In 1st Workshop on Computer Architecture Research with RISC-V, 2017.
[19] D. Flynn, "AMBA: enabling reusable on-chip designs," in IEEE Micro, 1997, vol. 17, no. 4, pp. 20-27, doi: 10.1109/40.612211.
[20] A. Waterman, K. Asanovic, “The RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Version 1.10.”, 2017.
[21] A. Samajdar, Y. Zhu, P. Whatmough, M. Mattina, T. Krishna, “Scale-sim: Systolic cnn accelerator simulator.” arXiv preprint arXiv:1811.02883, 2018.
[22] Chipsalliance. Rocket-chip/BankedL2Params.scala at 114325B27CFE5312C86A8A325B187BE9455A62AF · chipsalliance/rocket-chip. GitHub. Retrieved July 5, 2022, from https://github.com/chipsalliance/rocket-chip/blob/114325b27cfe5312c86a8a325b187be9455a62af/src/main/scala/subsystem/BankedL2Params.scala, 2020.
[23] Chipsalliance. Rocket-chip/icache.scala at 114325B27CFE5312C86A8A325B187BE9455A62AF · chipsalliance/rocket-chip. GitHub. Retrieved July 5, 2022, from https://github.com/chipsalliance/rocket-chip/blob/114325b27cfe5312c86a8a325b187be9455a62af/src/main/scala/rocket/ICache.scala, 2021.
[24] Chipsalliance. Rocket-chip/hellacache.scala at 114325B27CFE5312C86A8A325B187BE9455A62AF · chipsalliance/rocket-chip. GitHub. Retrieved July 5, 2022, from https://github.com/chipsalliance/rocket-chip/blob/114325b27cfe5312c86a8a325b187be9455a62af/src/main/scala/rocket/HellaCache.scala, 2021.
[25] Chipsalliance. Rocket-chip/configs.scala at 114325B27CFE5312C86A8A325B187BE9455A62AF · chipsalliance/rocket-chip. GitHub. Retrieved July 5, 2022, from https://github.com/chipsalliance/rocket-chip/blob/114325b27cfe5312c86a8a325b187be9455a62af/src/main/scala/subsystem/Configs.scala, 2021.
[26] Sifive. Sifive Cache. GitHub. Retrieved July 5, 2022, from https://github.com/sifive/block-inclusivecache-sifive/tree/e3a3000cc1fd4cdf3a4e638e4d081b8aae94ebf0, 2020.
[27] Chipsalliance. Rocket-chip/examplerocketsystem.scala at 114325B27CFE5312C86A8A325B187BE9455A62AF · chipsalliance/rocket-chip. GitHub. Retrieved July 5, 2022, from https://github.com/chipsalliance/rocket-chip/blob/114325b27cfe5312c86a8a325b187be9455a62af/src/main/scala/system/ExampleRocketSystem.scala, 2020.
[28] S. Math, R. Manjula, S. Manvi, P. Kaunds, "Data transactions on system-on-chip bus using AXI4 protocol," 2011 INTERNATIONAL CONFERENCE ON RECENT ADVANCEMENTS IN ELECTRICAL, ELECTRONICS AND CONTROL ENGINEERING, 2011, pp. 423-427, doi: 10.1109/ICONRAEeCE.2011.6129797.
[29] Xilinx. Packaging custom IP for using in Ip Integrator. Xilinx. Retrieved July 5, 2022, from https://www.xilinx.com/video/hardware/packaging-custom-ip-integrator.html, 2016.
[30] Western Digital Corporation. An Introduction to RISC-V Boot Flow. Retrieved July 5, 2022, from https://riscv.org/wp-content/uploads/2019/12/Summit_bootflow.pdf, 2019.
[31] Western Digital Corporation. RISC-V open source supervisor binary interface. GitHub. Retrieved July 5, 2022, from https://github.com/riscv-software-src/opensbi, 2019.
[32] Chipsalliance. Rocket-chip/configs.scala at 114325B27CFE5312C86A8A325B187BE9455A62AF · chipsalliance/rocket-chip. GitHub. Retrieved July 5, 2022, from https://github.com/chipsalliance/rocket-chip/blob/114325b27cfe5312c86a8a325b187be9455a62af/src/main/scala/system/Configs.scala, 2021.
[33] E. Tarassov, Bootrom. GitHub. Retrieved July 5, 2022, from https://github.com/eugene-tarassov/vivado-risc-v/blob/master/bootrom/bootrom.c, 2021.
[34] U-Boot. U-Boot. GitHub. Retrieved July 5, 2022, from https://github.com/u-boot/u-boot, 2021.
[35] Torvalds , L. Linux kernel. Kernel/Git/Stable/linux.git - linux kernel stable Tree. Retrieved July 5, 2022, from https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/, 2022.
[36] E. Tarassov, Build software. GitHub. Retrieved July 5, 2022, from https://github.com/eugene-tarassov/vivado-risc-v/blob/master/Makefile, 2022.
[37] M. Montecelo, K. Merker, RISC-V - Debian Wiki. Retrieved July 5, 2022, from https://wiki.debian.org/RISC-V, 2021.
[38]鄭博升, “以矩陣乘法為基礎應用硬體加速器於一維卷積計算之研究”, 國立臺灣師範大學資訊工程研究所碩士論文, 2022.
[39]蔡佳諭, “基於RISC-V架構之脈動陣列一維卷積運算研究”, 國立臺灣師範大學資訊工程研究所碩士論文, 2022.