A Low-Cost BRAM-Based Function Reuse for Configurable Soft-Core Processors in FPGAs | SpringerLink
Skip to main content

A Low-Cost BRAM-Based Function Reuse for Configurable Soft-Core Processors in FPGAs

  • Conference paper
  • First Online:
Applied Reconfigurable Computing. Architectures, Tools, and Applications (ARC 2018)

Abstract

Many modern FPGA-based soft-processor designs must include dedicated hardware modules to satisfy the requirements of a wide range of applications. Not seldom they all do not fit in the FPGA target, so their functionalities must be mapped into the much slower software domain. However, many complex soft-core processors usually underuse the available Block RAMs (BRAMs) when comparing to LUTs and registers. By taking advantage of this fact, we propose a generic low-cost BRAM-based function reuse mechanism (the BRAM-FR) that can be easily configured for precise or approximate modes to accelerate execution. The BRAM-FR was implemented in HDL and coupled to a configurable 4-issue VLIW processor. It was used to optimize different applications that use a soft-float library to emulate a Floating-Point Unit (FPU), and an image processing filter that tolerates a certain level of error. We show that our technique can accelerate the former by 1.23x and the latter by 1.52x, with a Reuse Table that fits in the BRAMs (that would otherwise be idle) of five tested FPGA targets with a marginal increase in the number of slice registers and LUTs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
JPY 3498
Price includes VAT (Japan)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
JPY 5719
Price includes VAT (Japan)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
JPY 7149
Price includes VAT (Japan)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Fletcher, B.H.: FPGA embedded processors. In: Embedded Systems Conference. p. 18 (2005)

    Google Scholar 

  2. Beck, A.C.S., Lisbôa, C.A.L., Carro, L.: Adaptable Embedded Systems. Springer, New York (2012). Springer-Link: Bücher

    Google Scholar 

  3. Kuon, I., Rose, J.: Measuring the gap between FPGAs and ASICs. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 26(2), 203–2015 (2007)

    Article  Google Scholar 

  4. Xilinx, Inc.: 7 Series FPGAs Memory Resources User Guide (UG473) (2016)

    Google Scholar 

  5. Sastry, S.S., Bodik, R., Smith, J.E.: Characterizing coarse-grained reuse of computation. In: Feedback Directed and Dynamic Optimization, pp. 16–18 (2000)

    Google Scholar 

  6. Hall, M., McNamee, J.P.: Improving software performance with automatic memoization. Johns Hopkins APL Tech. Dig. 18(2), 255 (1997)

    Google Scholar 

  7. Sodani, A., Sohi, G.S.: Dynamic instruction reuse. In: Proceedings of 24th Symposium on Computer Architecture (ISCA), vol. 25, no. 2, pp. 194–205 (1997)

    Google Scholar 

  8. Citron, D., Feitelson, D., Rudolph, L.: Accelerating multi-media processing by implementing memoing in multiplication and division units. ACM SIGPLAN Not. 33(11), 252–261 (1998)

    Article  Google Scholar 

  9. Huang, J., Lilja, D.J.: Exploiting basic block value locality with block reuse. In: Proceeedings of Symposium on High-Performance Computer Architecture, pp. 106–114. IEEE (1999)

    Google Scholar 

  10. González, A., Tubella, J., Molina, C.: Trace-level reuse. In: International Conference on Parallel Processing, pp. 30–37. IEEE (1999)

    Google Scholar 

  11. Kavi, K.M., Chen, P.: Dynamic function result reuse. In: Proceedings of Conference on Advanced Computing, pp. 17–20 (2003)

    Google Scholar 

  12. Suresh, A., Swamy, B.N., Rohou, E., Seznec, A.: Intercepting functions for memoization: a case study using transcendental functions. ACM Trans. Archit. Code Optim. (TACO) 12(2), 18 (2015)

    Google Scholar 

  13. Alvarez, C., Corbal, J., Valero, M.: Fuzzy memoization for floating-point multimedia applications. IEEE Trans. Comput. 54(7), 922–927 (2005)

    Article  Google Scholar 

  14. Keramidas, G., Kokkala, C., Stamoulis, I.: Clumsy value cache: an approximate memoization technique for mobile GPU fragment shaders. In: Workshop On Approximate Computing, P. 6 (2015)

    Google Scholar 

  15. Brandalero, M., da Silveira, L.A., Souza, J.D., Beck, A.C.S.: Accelerating error-tolerant applications with approximate function reuse. Sci. Comput. Program. (2017)

    Google Scholar 

  16. Sinha, S., Zhang, W.: Low-power FPGA design using memoization-based approximate computing. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 24(8), 2665–2678 (2016)

    Article  Google Scholar 

  17. Wong, S., van As, T., Brown, G.: \(\rho \)-VEX: a reconfigurable and extensible softcore VLIW processor. In: Conference on Field-Programmable Technology, pp. 369–372 (2008)

    Google Scholar 

  18. Hewlett-Packard Laboratories: VEX Toolchain (2009)

    Google Scholar 

  19. Gustafsson, J., Betts, A., Ermedahl, A., Lisper, B.: The Mälardalen WCET benchmarks: past, present and future. In: WCET, vol. 15, pp. 136–146 (2010)

    Google Scholar 

  20. Scott, J., Lee, L.H., Arends, J., Moyer, B.: Designing the low-power M\(^\bullet \)CORE™ architecture. In: Power Driven Microarchitecture Workshop, pp. 145–150 (1998)

    Google Scholar 

  21. Yazdanbakhsh, A., Mahajan, D., Esmaeilzadeh, H., Lotfi-Kamran, P.: AxBench: a multiplatform benchmark suite for approximate computing. IEEE Des. Test 34(2), 60–68 (2017)

    Article  Google Scholar 

  22. Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: Proceedings of Symposium Code Generation and Optimization: Feedback-Directed and Runtime Optimization, p. 75. IEEE Computer Society (2004)

    Google Scholar 

  23. Lungdren, D.: FPU Double VHDL (2014)

    Google Scholar 

  24. Chaple, G., Daruwala, R.D.: Design of Sobel operator based image edge detection algorithm on FPGA. In: International Conference on Communications and Signal Processing, pp. 788–792. IEEE (2014)

    Google Scholar 

Download references

Acknowledgments

This work was supported in part by CNPq, CAPES and FAPERGS.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pedro H. Exenberger Becker .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Exenberger Becker, P.H. et al. (2018). A Low-Cost BRAM-Based Function Reuse for Configurable Soft-Core Processors in FPGAs. In: Voros, N., Huebner, M., Keramidas, G., Goehringer, D., Antonopoulos, C., Diniz, P. (eds) Applied Reconfigurable Computing. Architectures, Tools, and Applications. ARC 2018. Lecture Notes in Computer Science(), vol 10824. Springer, Cham. https://doi.org/10.1007/978-3-319-78890-6_40

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-78890-6_40

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-78889-0

  • Online ISBN: 978-3-319-78890-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics