Abstract
Register-Transfer Level (RTL) design has been a traditional approach in hardware design for several decades. However, with the growing complexity of designs and the need for fast time-to-market, the design and verification process at the RTL level can become impractical. This has motivated for raising the abstraction level in hardware design. High-Level Synthesis (HLS) provides higher-level abstraction by automatically transforming a behavioral specification of a circuit into a low-level RTL, making it easier to design, simulate and verify complex digital systems. HLS relies on static scheduled data paths which can limit its effectiveness. This limitation makes it difficult to design the micro-architectural features of processors from an Instruction Set Architecture described in high-level languages. This work aims to demonstrate how the available features of HLS can be deployed in designing various pipelined processors micro-architecture. Our approach takes advantage of the capabilities of HLS and employs multi-threading and dynamic scheduling techniques to overcome the limitation of HLS in pipelining a processor from an Instruction Set Simulator written in C.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Chisel Homepage. https://www.chisel-lang.org
Alle, M., Morvan, A., Derrien, S.: Runtime dependency analysis for loop pipelining in high-level synthesis. In: Proceedings of the 50th Annual Design Automation Conference, pp. 1–10 (2013)
Bachrach, J., et al.: Chisel: constructing hardware in a scala embedded language. In: Proceedings of the 49th Annual Design Automation Conference, pp. 1216–1225 (2012)
Borkenhagen, J.M., Eickemeyer, R.J., Kalla, R.N., Kunkel, S.R.: A multithreaded powerPC processor for commercial servers. IBM J. Res. Dev. 44(6), 885–898 (2000)
Collange, C.: Simty: generalized SIMT execution on RISC-V. In: CARRV 2017–1st Workshop on Computer Architecture Research with RISC-V, vol. 6, p. 6 (2017)
Dai, S., et al.: Dynamic hazard resolution for pipelining irregular loops in high-level synthesis. In: Proceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp. 189–194 (2017)
Derrien, S., Marty, T., Rokicki, S., Yuki, T.: Toward speculative loop pipelining for high-level synthesis. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 39(11), 4229–4239 (2020)
Goossens, B.: Guide to Computer Processor Architecture: A RISC-V Approach, with High-level Synthesis. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-18023-1
Josipović, L., Ghosal, R., Ienne, P.: Dynamically scheduled high-level synthesis. In: Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp. 127–136 (2018)
Josipovic, L., Guerrieri, A., Ienne, P.: Speculative dataflow circuits. In: Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp. 162–171 (2019)
Kvatinsky, S., Nacson, Y.H., Etsion, Y., Friedman, E.G., Kolodny, A., Weiser, U.C.: Memristor-based multithreading. IEEE Comput. Archit. Lett. 13(1), 41–44 (2013)
Liu, S., Lau, F.C., Schafer, B.C.: Accelerating FPGA prototyping through predictive model-based HLS design space exploration. In: Proceedings of the 56th Annual Design Automation Conference 2019, pp. 1–6 (2019)
Mantovani, P., Margelli, R., Giri, D., Carloni, L.P.: HL5: a 32-bit RISC-V processor designed with high-level synthesis. In: 2020 IEEE Custom Integrated Circuits Conference (CICC), pp. 1–8. IEEE (2020)
Meeus, W., Van Beeck, K., Goedemé, T., Meel, J., Stroobandt, D.: An overview of today’s high-level synthesis tools. Des. Autom. Embed. Syst. 16, 31–51 (2012)
Ravindran, K., Satish, N., Jin, Y., Keutzer, K.: An FPGA-based soft multiprocessor system for IPv4 packet forwarding. In: International Conference on Field Programmable Logic and Applications, pp. 487–492. IEEE (2005)
Rokicki, S., Pala, D., Paturel, J., Sentieys, O.: What you simulate is what you synthesize: designing a processor core from C++ specifications. In: 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 1–8. IEEE (2019)
Smith, B.J.: Architecture and applications of the HEP multiprocessor computer system. In: Real-Time Signal Processing IV, vol. 298, pp. 241–248. SPIE (1982)
Takach, A.: High-level synthesis: Status, trends, and future directions. IEEE Des. Test 33(3), 116–124 (2016)
Tine, B., Yalamarthy, K.P., Elsabbagh, F., Hyesoon, K.: Vortex: extending the RISC-V ISA for GPGPU and 3D-graphics. In: MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 754–766 (2021)
Acknowledgements
This study is partially funded by the French National Research Agency (ANR) as part of the project DYVE (ANR-19-CE25-0004-01).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Hoseininasab, S.S., Collange, C., Derrien, S. (2023). Rapid Prototyping of Complex Micro-architectures Through High-Level Synthesis. In: Palumbo, F., Keramidas, G., Voros, N., Diniz, P.C. (eds) Applied Reconfigurable Computing. Architectures, Tools, and Applications. ARC 2023. Lecture Notes in Computer Science, vol 14251. Springer, Cham. https://doi.org/10.1007/978-3-031-42921-7_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-42921-7_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42920-0
Online ISBN: 978-3-031-42921-7
eBook Packages: Computer ScienceComputer Science (R0)