Abstract
FPGAs allow the implementor to tailor the interface to off-chip memory and the on-chip/off-chip memory hierarchy according to the requirements of the application. This chapter presents a high-level synthesis design aid that leverages a memory access analysis of the application to automatically synthesise an application-specific high-performance memory hierarchy.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We focus on integer or fixed-point systems and ignore non-associativity caused by floating-point representations.
- 2.
We use 32Â kbits in a Xilinx 36K-RAM block to store user data.
References
M. Adler, K.E. Fleming, A. Parashar, M. Pellauer, J. Emer, Leap scratchpads: automatic memory and cache management for reconfigurable logic, in Proceedings of the International Symposium on Field Programmable Gate Arrays (FPGA) (2011), pp. 25–28
H.-J. Yang, K. Fleming, M. Adler, J. Emer, LEAP shared memories: automating the construction of FPGA coherent memories, in Proceedings of the IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM) (2014), pp. 117–124
K. Fleming, H.-J. Yang, M. Adler, J. Emer, The LEAP FPGA operating system, in Proceedings of the International Symposium on Field Programmable Logic and Applications (FPL) (2014), pp. 1–8
M.C. Rinard, P.C. Diniz, Commutativity analysis: a new analysis technique for parallelizing compilers. ACM Trans. Program. Lang. Syst. 19(6), 942–991 (1997)
Z3: An Efficient SMT Solver. http://z3.codeplex.com/documentation/. Accessed 04 Sep 2014
A. Charlesworth, The undecidability of associativity and commutativity analysis. ACM Trans. Program. Lang. Syst. 24(5), 554–565 (2002)
E.S. Chung, J.C. Hoe, K. Mai, CoRAM: an in-fabric memory architecture for FPGA-based computing, in Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays (2011), pp. 97–106
B. Cook, A. Gupta, S. Magill, A. Rybalchenko, J. Simsa, S. Singh, V. Vafeiadis, Finding Heap-Bounds for Hardware Synthesis, in Formal Methods in Computer-Aided Design (IEEE, New York, 2009), pp. 205–212
H.-J. Yang, K. Fleming, M. Adler, F. Winterstein, J. Emer, Scavenger: automating the construction of application-optimized memory hierarchies, in Proceedings of the International Conference on Field Programmable Logic and Applications (FPL) (2015), pp. 1–8
E.G. Coffman, P.J. Denning, Operating Systems Theory (Prentice Hall, Englewood Cliffs, 1973)
M. Hill, A. Smith, Evaluating associativity in CPU caches. IEEE Trans. Comput. 38(12), 1612–1630 (1989)
M. Brehob, R. Enbody, An Analytical Model of Locality and Caching Department of Computer Science, Michigan State University, Technical report (1996)
K. Beyls, E.H. DHollander, Reuse distance as a metric for cache behavior, in Proceedings of the IASTED Conference on Parallel and Distributed Computing and Systems (2001), pp. 617–662
D. Pisinger, A minimal algorithm for the 0–1 Knapsack problem. Oper. Res. 45, 758–767 (1994)
F. Winterstein, K. Fleming, H.-J. Yang, J. Wickerson, G. Constantinides, Custom-sized caches in application-specific memory hierarchies, in Proceedings of the International Conference on Field Programmable Technology (ICFPT) (2015), pp. 144–151
F. Winterstein, K. Fleming, H.-J. Yang, S. Bayliss, G. Constantinides, MATCHUP: memory abstractions for heap manipulating programs, in Proceedings of the ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA) (2015), pp. 136–145
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Winterstein, F. (2017). Custom Multi-cache Architectures. In: Separation Logic for High-level Synthesis. Springer Theses. Springer, Cham. https://doi.org/10.1007/978-3-319-53222-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-53222-6_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-53221-9
Online ISBN: 978-3-319-53222-6
eBook Packages: EngineeringEngineering (R0)