Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

An efficient register optimization algorithm for high-level synthesis from hierarchical behavioral specifications

Published:01 January 2002Publication History
Skip Abstract Section

Abstract

We address the problem of register optimization that arises during high-level synthesis from modular hierarchical behavioral specifications. Register optimization is the process of grouping carriers such that each group can be safely allocated to a hardware register. Global register optimization by inline expansion involves flattening the module hierarchy and using a heuristic register optimization procedure on the flattened description. Although inline expansion yields a near-optimal number of registers, it is very time consuming due to the large number of carrier compatibility relationships that must be considered. We present an efficient register optimization algorithm that achieves nearly the same effect of inline expansion without actually inline expanding. The distinguishing feature of the proposed algorithm is that it employs a hierarchical optimization phase which effectively exploits the properties of the module call graph and information gathered during local carrier lifecycle analysis of each module. Experimental results on a number of benchmarks show that the proposed algorithm produces nearly the same number of registers as inline expansion based global optimization and is faster by a factor of 7.0.

References

  1. BRON, C. AND KERBOSCH, J. 1973. Finding all cliques of an undirected graph (Algorithm 457). Commun. ACM 16, 9, 575-577. Google ScholarGoogle Scholar
  2. CAMPOSANO, R. AND WOLF, W. W. (EDS.) 1991. Trends in High-Level VLSI Synthesis. Kluwer Academic, Hingham, Mass. Google ScholarGoogle Scholar
  3. CULLYER, W. J. 1988. Implementing safety critical systems: The VIPER microprocessor, In G. Birtwistle and P. A. Subrahmanyam, (Eds.), VLSI Specification, Verification, and Synthesis, Kluwer Academic, Hingham, Mass.Google ScholarGoogle Scholar
  4. DE MICHELI, G. 1994. Synthesis and Optimization of Digital Circuits. McGraw-Hill New York. Google ScholarGoogle Scholar
  5. DEVADAS, S. AND NEWTON, A. R. 1989. Algorithms for hardware allocation in data path synthesis. IEEE Trans. Comput.-Aided Des. Circ. Syst. 8, 7 (June), 768-781.Google ScholarGoogle Scholar
  6. DUTTA, R., ROY, J., AND VEMURI, R. 1992. Distributed design-space exploration for high-level synthesis systems. In Proceedings of the 29th Design Automation Conference (June), 644-650. Google ScholarGoogle Scholar
  7. GAJSKI, D., DUTT, N., WU, A. C-H., AND LIN, S. Y-L. 1992. High Level Synthesis: Introduction to Chip and System Design. Kluwer Academic, Hingham, Mass. Google ScholarGoogle Scholar
  8. GEBOTYS, C. H. AND ELMASRY, M. I. 1990. A global optimization approach for architectural synthesis. ITCAD, 258-261.Google ScholarGoogle Scholar
  9. GRANACKI, J., KNAPP, D., AND PARKER, A. 1985. The ADAM advanced design automation system: Overview, planner and natural language interface. In Proceedings of the 22nd Design Automation Conference (June), 727-730. Google ScholarGoogle Scholar
  10. HAFER, L. J. AND PARKER, A. C. 1982. Automated synthesis of digital hardware. IEEE Comput. C-31, 2 (Feb.), 93-109.Google ScholarGoogle Scholar
  11. HAFER, L. J. AND PARKER, A. C. 1983. A Formal method for the specification, analysis and design of register-transfer level digital logic. ITCAD 2, 4-18.Google ScholarGoogle Scholar
  12. HAROUN, B. S. AND ELMASRY, M. I. 1988. Automatic synthesis of a multi-bus architecture for DSP. In Proceedings of the International Conference on Computer-Aided Design, 44-47.Google ScholarGoogle Scholar
  13. HASIMOTO, A. AND STEVENS, J. 1971. Wire routing by optimizing channel assignment within large apertures. In Proceedings of the Design Automation Conference, 155-169. Google ScholarGoogle Scholar
  14. HUANG, C-Y., CHEN, Y-S., LIN, Y-L., AND HSU, Y-C. 1990. Data path allocation based on bipartite weighted matching. In Proceedings of the Design Automation Conference, 499-504. Google ScholarGoogle Scholar
  15. KU, D. C. AND MICHELI, G. D. 1992. High Level Synthesis of ASICs Under Timing and Synchronization Conditions. Kluwer Academic, Hingham, Mass. Google ScholarGoogle Scholar
  16. KURDAHI, F. AND PARKER, A. 1987. REAL : A program for REgister ALlocation. In Proceedings of the Design Automation Conference, 210-215. Google ScholarGoogle Scholar
  17. LAI, F. 1994. The complementary relationship of interprocedural register allocation and inlining. Int. J. Parallel Program. 22, 4 (August). Google ScholarGoogle Scholar
  18. MCFARLAND, M. C., PARKER, A., AND CAMPOSANO, R. 1988. Tutorial on high-level synthesis. In Proceedings of the Design Automation Conference, 401-439. Google ScholarGoogle Scholar
  19. MICHEL, P., LAUTHER, U., AND DUZY, P. 1992. The Synthesis Approach to Digital System Design. Kluwer Academic, Hingham, Mass. Google ScholarGoogle Scholar
  20. PANGRLE, B. 1988. Splicer : A heuristic approach to connectivity binding. In Proceedings of the Design Automation Conference, 536-541. Google ScholarGoogle Scholar
  21. PAULIN, J., P. G. AND GIRCZYC, E. 1986. HAL: A multi-paradigm approach to automatic data path synthesis. In Proceedings of the Design Automation Conference, 263-270. Google ScholarGoogle Scholar
  22. SIEWIOREK, D., BELL, C., AND NEWELL, A. 1971. Computer Structures: Principles and Examples. McGraw-Hill, New York. Google ScholarGoogle Scholar
  23. SOUTHARD, J. R. 1983. MacPitts: An approach to silicon compilation. IEEE Computer, 74-82.Google ScholarGoogle Scholar
  24. SPRINGER, D. L. AND THOMAS, D. E. 1990. Exploiting the special structure of conflict and compatibility graphs in high-level synthesis. In Proceedings of the International Conference on Computer- Aided Design, 254-257.Google ScholarGoogle Scholar
  25. STOK, L. AND BORN, R. V. D. 1988. EASY: Multiprocessor architecture optimization. In Proceedings of the International Workshop on Logic and Architecture Synthesis for Silicon Compilers, 313-328.Google ScholarGoogle Scholar
  26. THOMAS, D. E., HITCHCOCK III, C. Y., KOWALSKI, T. J., RAJAN, J. V., AND WALKER, A. 1983. Automated data path synthesis. IEEE Trans. Comput. 59-70.Google ScholarGoogle Scholar
  27. THOMAS, D. E., LAGNESE, E., WALKER, R., NESTOR, J., RAJAN, J., AND BLACKBURN, R. 1990. Algorithmic and Register Transfer Level Synthesis: The System Architect's Workbench. Kluwer Academic, Hingham, Mass. Google ScholarGoogle Scholar
  28. TSENG, C. AND SIEWIOREK, D. P. 1983. Facet : A procedure for the automated synthesis of digital systems. In Proceedings of the Design Automation Conference, 490-496. Google ScholarGoogle Scholar
  29. WILSON, T. C., HALLEY, B., DEADMAN, R., AND BANERJI, D. K. 1992. Optimal register allocation and binding in behavioral synthesis. In Proceedings of the Canadian Conference on VLSI.Google ScholarGoogle Scholar
  30. WOO, N.-S. 1990. A Global, dynamic register allocation and binding for a data path synthesis system. In Proceedings of the Design Automation Conference, 505-510. Google ScholarGoogle Scholar

Index Terms

  1. An efficient register optimization algorithm for high-level synthesis from hierarchical behavioral specifications

          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

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader