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.
- BRON, C. AND KERBOSCH, J. 1973. Finding all cliques of an undirected graph (Algorithm 457). Commun. ACM 16, 9, 575-577. Google Scholar
- CAMPOSANO, R. AND WOLF, W. W. (EDS.) 1991. Trends in High-Level VLSI Synthesis. Kluwer Academic, Hingham, Mass. Google Scholar
- 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 Scholar
- DE MICHELI, G. 1994. Synthesis and Optimization of Digital Circuits. McGraw-Hill New York. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- GEBOTYS, C. H. AND ELMASRY, M. I. 1990. A global optimization approach for architectural synthesis. ITCAD, 258-261.Google Scholar
- 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 Scholar
- HAFER, L. J. AND PARKER, A. C. 1982. Automated synthesis of digital hardware. IEEE Comput. C-31, 2 (Feb.), 93-109.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- KU, D. C. AND MICHELI, G. D. 1992. High Level Synthesis of ASICs Under Timing and Synchronization Conditions. Kluwer Academic, Hingham, Mass. Google Scholar
- KURDAHI, F. AND PARKER, A. 1987. REAL : A program for REgister ALlocation. In Proceedings of the Design Automation Conference, 210-215. Google Scholar
- LAI, F. 1994. The complementary relationship of interprocedural register allocation and inlining. Int. J. Parallel Program. 22, 4 (August). Google Scholar
- MCFARLAND, M. C., PARKER, A., AND CAMPOSANO, R. 1988. Tutorial on high-level synthesis. In Proceedings of the Design Automation Conference, 401-439. Google Scholar
- MICHEL, P., LAUTHER, U., AND DUZY, P. 1992. The Synthesis Approach to Digital System Design. Kluwer Academic, Hingham, Mass. Google Scholar
- PANGRLE, B. 1988. Splicer : A heuristic approach to connectivity binding. In Proceedings of the Design Automation Conference, 536-541. Google Scholar
- 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 Scholar
- SIEWIOREK, D., BELL, C., AND NEWELL, A. 1971. Computer Structures: Principles and Examples. McGraw-Hill, New York. Google Scholar
- SOUTHARD, J. R. 1983. MacPitts: An approach to silicon compilation. IEEE Computer, 74-82.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Index Terms
- An efficient register optimization algorithm for high-level synthesis from hierarchical behavioral specifications
Recommendations
A Hierarchical Register Optimization Algorithm for Behavioral Synthesis
VLSID '96: Proceedings of the 9th International Conference on VLSI Design: VLSI in Mobile CommunicationIn this work, we address the problem of register optimization that arises during high-level synthesis from hierarchical behavioral specifications containing a hierarchy of modules such as procedures, functions etc. Register optimization (or register ...
Cross-level hierarchical high-level synthesis
DATE '98: Proceedings of the conference on Design, automation and test in EuropeThis paper presents a new approach to cross-level hierarchical high-level synthesis. A methodology is presented, that supports the efficient synthesis of hierarchical specified systems while preserving the hierarchical structure. After synthesis of each ...
Resource budgeting for Multiprocess High-level synthesis
This paper presents a new high-level synthesis methodology to generate optimized register-transfer level (RTL) implementations for multiprocess behavioral descriptions. The concurrent communicating processes specification paradigm is widely used in ...
Comments