skip to main content
research-article

Analyzing System-Level Information’s Correlation to FPGA Placement

Published:01 October 2013Publication History
Skip Abstract Section

Abstract

One popular placement algorithms for Field-Programmable Gate Arrays (FPGAs) is called Simulated Annealing (SA). This algorithm tries to create a good quality placement from a flattened design that no longer contains any high-level information related to the original design hierarchy. Placement is an NP-hard problem, and as the size and complexity of designs implemented on FPGAs increases, SA does not scale well to find good solutions in a timely fashion. In this article, we investigate if system-level information can be reconstructed from a flattened netlist and evaluate how that information is realized in terms of its locality in the final placement. If there is a strong relationship between good quality placements and system-level information, then it may be possible to divide a large design into smaller components and improve the time needed to create a good quality placement. Our preliminary results suggest that the locality property of the information embedded in the system-level HDL structure (i.e. “module”, “always”, and “if” statements) is greatly affected by designer HDL coding style. Therefore, a reconstructive algorithm, called Affinity Propagation, is also considered as a possible method of generating a meaningful coarse-grain picture of the design.

References

  1. Behrens, D., Harbich, K., and Barke, E. 1996. Circuit partitioning using high-level design information. In Proceedings of the Conference on Integrated Design and Process Technology. 259--266.Google ScholarGoogle Scholar
  2. Betz, V., Rose, J., and Marquardt, A. 1999. Architecture and CAD for Deep-Submicron FPGAs. Kluwer Academic Publishers, Norwell, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bian, H., Ling, A. C., Choong, A., and Zhu, J. 2010. Towards scalable placement for FPGAs. In Proceedings of the 18th Annual ACM/SIGDA International Symposium on FPGAs. 147--156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Caldwell, A. E., Kahng, A. B., and Markov, I. L. 1999. Optimal partitioners and end-case placers for standard-cell layout. In Proceedings of the International Symposium on Physical Design. 90--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chan, T. F., Cong, J., Kong, T., and Shinnerl, J. R. 2000. Multilevel optimization for large-scale circuit placement. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design. 171--176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chandy, J. and Banerjee, P. 1996. Parallel simulated annealing strategies for vlsi cell placement. In Proceedings of the 9th International Conference on VLSI Design. 37--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cong, J. 2002. Timing closure based on physical hierarchy. In Proceedings of the International Symposium on Physical Design. 170--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cong, J., Peck, J., and Ding, Y. 1996. RASP: A general logic synthesis system for SRAM-based FPGAs. In Proceedings of the ACM/SIGDA International Symposium on FPGAs. 137--143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Donath, W. E. 1980. Complexity theory and design automation. In Proceedings of the 17th Design Automation Conference. 412--419. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Emmert, J. M. and Bhatia, D. 1999. A methodology for fast FPGA floorplanning. In Proceedings of the 7th International ACM/SIGDA Symposium on FPGAs. 47--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Frey, B. J. and Dueck, D. 2007. Clustering by passing messages between data points. Science, 315, 5814, 972--976.Google ScholarGoogle Scholar
  12. Gharibian, F., Shannon, L., and Jamieson, P. 2010. Finding system-level information and analyzing its correlation to FPGA placement. In Proceedings of the 20th International Conference on Field-Programmable Logic and Applications (FPL’10). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Grover, L. K. 1987. Standard cell placement using simulated sintering. In Proceedings of the 24th ACM/IEEE Design Automation Conference. 56--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Haldar, M., Nayak, A., Choudhary, A., and Banerjee, P. 2000. Parallel algorithms for FPGA placement. In Proceedings of the 10th Great Lakes Symposium on VLSI. 86--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jamieson, P. A., Kent, K. B., Gharibian, F., and Shannon, L. 2010. Odin II - An open-source Verilog HDL synthesis tool for academic CAD flows. In Proceedings of the Annual IEEE Symposium on Field-Programmable Custom Computing Machines. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jones, J. 2003. Abstract syntax tree implementation idioms. In Proceedings of the 10th Conference on Pattern Languages of Programs (PLoP2003).Google ScholarGoogle Scholar
  17. Kirkpatrick, S., Gelatt, C. D., and Vecchi, M. P. 1983. Optimization by simulated annealing. Science 220, 4598, 671--680.Google ScholarGoogle Scholar
  18. Ludwin, A., Betz, V., and Padalia, K. 2008. High-quality, deterministic parallel placement for FPGAs on commodity hardware. In Proceedings of the 16th International ACM/SIGDA Symposium on FPGAs. 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Luu, J., Kuon, I., Jamieson, P., Campbell, T., Ye, A., Fang, W. M., and Rose, J. 2009. VPR 5.0: FPGA CAD and architecture exploration tools with single-driver routing, heterogeneity and process scaling. In Proceedings of the ACM/SIGDA International Symposium on FPGAs. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. MacQueen, J. B. 1967. Some methods for classification and analysis of multivariate observations. In Proceedings of the 5th Berkeley Symposium on Mathematical Statistics and Probability. Vol. 1, University of California Press, Berkeley, CA, 281--297.Google ScholarGoogle Scholar
  21. Marquardt, A., Betz, V., and Rose, J. 1999. Using cluster-based logic blocks and timing-driven packing to improve FPGA speed and density. In Proceedings of the ACM/SIGDA International Symposium on FPGAs. 37--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Mishchenko, A., Chatterjee, S., and Brayton, R. K. 2007. Improvements to technology mapping for LUT-based FPGAs. IEEE Trans. Comput. Aid. Design Integr. Circuits Syst. 26, 2, 240--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Riess, B. M. and Ettelt, G. G. 1995. Speed: Fast and efficient timing driven placement. In Proceedings of the IEEE International Symposium on Circuits. 377--380.Google ScholarGoogle Scholar
  24. Sankar, Y. and Rose, J. 1999. Trading quality for compile time: Ultra-fast placement for FPGAs. In Proceedings of the ACM/SIGDA International Symposium on FPGAs. 157--166. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Tanuj, J., Alpert, C. J., Hu, J., Li, Z., Nam, G.-J., and Winn, C. B. 2010. Detecting tangled logic structures in VLSI netlists. In Proceedings of the 47th Design Automation Conference. 603--608. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Tessier, R. 2002. Fast placement approaches for FPGAs. ACM Trans. Design Autom. Electron. Syst. 7, 2, 284--305. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Tsay, Y. W., Fang, W. J., Wu, A. C., and Lin, Y. L. 1997. Preserving HDL synthesis hierarchy for cell placement. In Proceedings of the International Symposium on Physical Design. 169--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Varanelli, J. M. and Cohoon, J. P. 1999. A fast method for generalized starting temperature determination in homogeneous two-stage simulated annealing systems. Comput. Oper. Res. 26, 5, 481--503. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Viswanathan, N. and Chu, C. 2004. Fastplace: Efficient analytical placement using cell shifting, iterative local refinement and a hybrid net model. In Proceedings of the International Symposium on Physical Design. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Vorwerk, K., Kennings, A., and Vannelli, A. 2004. Engineering details of a stable force-directed placer. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design. 573--580. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Analyzing System-Level Information’s Correlation to FPGA Placement

      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 3
        October 2013
        85 pages
        ISSN:1936-7406
        EISSN:1936-7414
        DOI:10.1145/2535556
        Issue’s Table of Contents

        Copyright © 2013 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 October 2013
        • Accepted: 1 July 2013
        • Revised: 1 May 2013
        • Received: 1 September 2011
        Published in trets Volume 6, Issue 3

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      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!