Skip to main content

LegUp High-Level Synthesis

  • Chapter
  • First Online:
FPGAs for Software Programmers

Abstract

LegUp is a High-level Synthesis tool under active development at the University of Toronto since 2011. The tool is on its fourth public release, is open source and freely downloadable. LegUp has been the subject of over 15 publications and has been downloaded by over 1500 groups from around the world. In this section, we overview LegUp, its programming model, unique aspects of the tool versus other HLS offerings, and conclude with a case study.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Notes

  1. 1.

    An exception to this is for cases wherein it cannot be statically determined which array is pointed to.

  2. 2.

    An instruction in the LLVM intermediate representation which selects incoming values based on the control flow (i.e. predecessor basic block).

References

  1. M. Aldham, J. Anderson, S. Brown, and A. Canis. Low-cost hardware profiling of run-time and energy in FPGA embedded processors. In IEEE Application-specific Systems, Architectures and Processors (ASAP), pages 61–68, 2011.

    Google Scholar 

  2. Altera Corp., San Jose, CA. DE4 Development Board, 2010.

    Google Scholar 

  3. Altera Corp., San Jose, CA. Stratix-IV Data Sheet, 2010.

    Google Scholar 

  4. A. Canis, J. Anderson, and S. Brown. Multi-pumping for resource reduction in FPGA high-level synthesis. In IEEE/ACM Design Automation and Test Conference (DATE), pages 194–197, 2013.

    Google Scholar 

  5. J. Choi, S. Brown, and J. Anderson. From software threads to parallel hardware in high-level synthesis for FPGAs. In IEEE International Conference on Field-Programmable Technology (FPT), pages 270–277, 2013.

    Google Scholar 

  6. N. Calagar, S. Brown, and J. Anderson. Source-level debugging for FPGA high-level synthesis. In International Conference on Field Programmable Logic and Applications (FPL), 2014.

    Google Scholar 

  7. A. Canis, S. Brown, and J. Anderson. Modulo SDC scheduling with recurrence minimization in high-level synthesis. In International Conference on Field-Programmable Logic and Applications (FPL), 2014.

    Google Scholar 

  8. J. Cong and Z. Zhang. An efficient and versatile scheduling algorithm based on SDC formulation. In IEEE/ACM Design Automation Conference (DAC), pages 433–438, 2006.

    Google Scholar 

  9. M. Gort and J. Anderson. Range and bitmask analysis for hardware optimization in high-level synthesis. In IEEE/ACM Asia and South Pacific Design Automation Conference (ASP-DAC), pages 773–779, 2013.

    Google Scholar 

  10. J. Goeders and S. Wilton. Effective FPGA debug for high-level synthesis generated circuits. In International Conference on Field Programmable Logic and Applications (FPL), pages 1–8, September 2014.

    Google Scholar 

  11. J. Goeders and S. Wilton. Using dynamic signal-tracing to debug compiler-optimized HLS circuits on FPGAs. In IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM), May 2015.

    Google Scholar 

  12. Y. Hara, H. Tomiyama, S. Honda, and H. Takada. Proposal and quantitative analysis of the chstone benchmark program suite for practical C-based high-level synthesis. Journal of Information Processing, 17:242–254, 2009.

    Article  Google Scholar 

  13. C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization, CGO ’04, pages 75–88, Washington, DC, USA, 2004. IEEE Computer Society.

    Google Scholar 

  14. R. P. Weicker. Dhrystone: A synthetic systems programming benchmark. Commun. ACM, 27(10), pp. 1013–1030, October 1984.

    Article  Google Scholar 

  15. Z. Zhang and B. Liu. SDC-based modulo scheduling for pipeline synthesis. In ICCAD, San Jose, CA, 2013.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Canis, A. et al. (2016). LegUp High-Level Synthesis. In: Koch, D., Hannig, F., Ziener, D. (eds) FPGAs for Software Programmers. Springer, Cham. https://doi.org/10.1007/978-3-319-26408-0_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-26408-0_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-26406-6

  • Online ISBN: 978-3-319-26408-0

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics