skip to main content
research-article

Optimizing Wait States in the Synthesis of Memory References with Unpredictable Latencies

Published:01 December 2013Publication History
Skip Abstract Section

Abstract

We consider the problem of synthesizing circuits (from C to Verilog) that are optimized to handle unpredictable latencies of memory operations. Unpredictable memory latencies can occur due to the use of on chip caches, DRAM memory modules, buffers/queues, or multiport memories. Typically, high-level synthesis compilers assume fixed and known memory latencies, and thus are able to schedule the code’s operations efficiently. The operations in the source code are scheduled into states of a state machine whose states will be synthesized to Verilog. The goal is to minimize scheduling length by maximizing the number of operations (and in particular memory operations) that are executed in parallel at the same state. However, with unpredictable latencies, there can be an exponential number of possible orders in which these parallel memory operations can terminate. Thus, in order to minimize the scheduling, we need a different schedule for any such order. This is not practical, and we show a technique of synthesizing a compact state machine that schedules only a small subset of these possible termination orders. Our results show that this compact state machine can improve the execution time compared to a regular scheduling that waits for the termination of all the active memory references in every state.

References

  1. Brock, B. and Exerman, M. 2006. Cache latencies of the powerpc mpc7451. Freescale Semiconductor Application Note AN2180.Google ScholarGoogle Scholar
  2. Cortadella, J., Kishinevsky, M., and Grundmann, B. 2006. Synthesis of synchronous elastic architectures. In Proceedings of the 43rd Annual Design Automation Conference. ACM, 657--662. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Del Barrio, A., Molina, M., Mendias, J., Hermida, R., and Memik, S. 2010. Using speculative functional units in high level synthesis. In Proceedings of the Conference on Design, Automation and Test in Europe. European Design and Automation Association, 1779--1784. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Devadas, S., Ghosh, A., and Keutzer, K. 1994. Logic Synthesis. McGraw-Hill. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Gajski, D. 1996. Principles of Digital Design. Prentice-Hall, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ku, D. C. and Micheli, G. D. 1992. Relative scheduling under timing constraints: Algorithms for high level synthesis of digital circuits. IEEE Trans. CAD/ICAS 11, 696--718. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Lattner, C. and Adve, V. 2002. The LLVM instruction set and compilation strategy. Tech. rep. UIUCDCS-R-2002-2292, University of Illinois at Urbana-Champaign.Google ScholarGoogle Scholar
  8. McMahon, F. 1986. The Livermore Fortran kernels: A computer test of the numerical performance range. Tech. rep. UCRL-53746, Lawrence Livermore National Laboratory, Livermore, CA.Google ScholarGoogle Scholar
  9. Panda, P. R., Dutt, N., and Nicolau, A. 1998. Incorporating DRAM access modes into high-level synthesis. IEEE Trans. Comput. Aid. Des. Integr. Circuits Syst. 17, 96--109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Raghunathan, V., Ravi, S., and Lakshminarayana, G. 2000. Integrating variable-latency components into high-level synthesis. IEEE Trans. Comput. Aid. Des. Integr. Circuits Syst. 19, 10, 1105--1117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Walker, R. and Chaudhuri, S. 1995. High-level synthesis: Introduction to the scheduling problem. IEEE Des. Test Comput. 12, 2, 60--69. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Optimizing Wait States in the Synthesis of Memory References with Unpredictable Latencies

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Reconfigurable Technology and Systems
      ACM Transactions on Reconfigurable Technology and Systems  Volume 6, Issue 4
      December 2013
      89 pages
      ISSN:1936-7406
      EISSN:1936-7414
      DOI:10.1145/2558905
      • Editor:
      • Steve Wilton
      Issue’s Table of Contents

      Copyright © 2013 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 December 2013
      • Accepted: 1 September 2013
      • Revised: 1 August 2013
      • Received: 1 November 2012
      Published in trets Volume 6, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed
    • Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)1

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!