skip to main content
article

Instruction generation for hybrid reconfigurable systems

Published: 01 October 2002 Publication History

Abstract

Future computing systems need to balance flexibility, specialization, and performance in order to meet market demands and the computing power required by new applications. Instruction generation is a vital component for determining these trade-offs. In this work, we present theory and an algorithm for instruction generation. The algorithm profiles a dataflow graph and iteratively contracts edges to create the templates. We discuss how to target the algorithm toward the novel problem of instruction generation for hybrid reconfigurable systems. In particular, we target the Strategically Programmable System, which embeds complex computational units such as ALUs, IP blocks, and so on into a configurable fabric. We argue that an essential compilation step for these systems is instruction generation, as it is needed to specify the functionality of the embedded computational units. In addition, instruction generation can be used to create soft reconfigurable macros---tightly sequenced prespecified operations placed in the reconfigurable fabric.

References

[1]
Athanas, P. M. and Abbott, A. L. 1995. Real-time image processing on a custom computing platform. Computer 28, 2, 16--25.
[2]
Bozorgzadeh, E., Ogrenci Memik, S., Kastner, R., and Sarrafzadeh, M. 2002a. Pattern selection: Customized block allocation for domain-specific programmable systems. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms.
[3]
Bozorgzadeh, E., Ogrenci Memik, S., Kastner, R., and Sarrafzadeh, M. 2002b. SPS: Strategically programmable system---fully automated architecture generation and application compilation. Tech. Rep. UCLA.
[4]
Cadambi, S. and Goldstein, S. C. 1999. CPR: A configuration profiling tool. In Proceedings of the Symposium on Field-Programmable Custom Computing Machines.
[5]
Callahan, T. J., Chong, P., Dehon, A., and Wawrzynek, J. 1998. Fast module mapping and placement for datapaths in FPGAs. In Proceedings of the International Symposium on Field Programmable Gate Arrays.
[6]
Callahan, T. J., Hauser, J. R., and Wawrzynek, J. 2000. The Garp architecture and C compiler. Computer 33, 4, 62--69.
[7]
Chowdhary, A., Kale, S., Saripella, P., Sehgal, N., and Gupta, R. 1998. A general approach for regularity extraction in datapath circuits. In Proceedings of the International Conference on Computer-Aided Design.
[8]
Compton, K. and Hauck, S. 2001. Totem: Custom reconfigurable array generation. In Proceedings of the Symposium on FPGAs for Custom Computing Machines Conference.
[9]
Compton, K., Sharma, A., Phillips, S., and Hauck, S. 2002. Flexible routing architecture generation for domain-specific reconfigurable subsystems. In Proceedings of the International Symposium on Field Programmable Logic and Applications.
[10]
Corazao, M. R., Khalaf, M. A., Guerra, L. M., Potkonjak, M., and Rabaey, J. M. 1996. Performance optimization using template mapping for datapath-intensive high-level synthesis. IEEE Trans. Comput. Aided Des. Integrated Circ. Syst. 15, 8, 877--888.
[11]
DeHon, A. 1996. DPGA utilization and application. In Proceedings of the International Symposium on Field Programmable Gate Arrays.
[12]
Ebeling, C., Cronquist, D. C., and Franklin, P. 1996. RaPiD-reconfigurable pipelined datapath. In Proceedings of the Workshop on Field-Programmable Logic and Applications.
[13]
Ebeling, C. and Zajicek, O. 1983. Validating VLSI circuit layout by wirelist comparison. In Proceedings of the International Conference on Computer-Aided Design.
[14]
Edwards, S. A. 2002. An Esterel compiler for large control-dominated systems. IEEE Trans. Comput. Aided Des. Integrated Circ. Syst. 21, 2, 169--183.
[15]
Gajski, D. D., Zhu, J., Dömer, R., Gerstlauser, A., and Zhoa, S. 2000. SpecC: Specification Language and Methodology. Kluwer Academic, Boston.
[16]
Garey, M. R. and Johnson, D. S. 1979. Computers and intractability. A guide to the theory of NP-completeness.
[17]
Girault, A., Bilung, L., and Lee, E. A. 1999. Hierarchical finite state machines with multiple concurrency models. IEEE Trans. Comput. Aided Des. Integrated Circ. Syst. 18, 6, 742--760.
[18]
Gokhale, M., Holmes, W., Kopser, A., Lucas, S., Minnich, R., Sweely, D., and Lopresti, D. 1991. Building and using a highly parallel programmable logic array. Computer 24, 1, 81--89.
[19]
Goldstein, S. C., Schmit, H., Budiu, M., Cadambi, S., Moe, M., and Taylor, R. R. 2000. PipeRench: A reconfigurable architecture and compiler. Computer 33, 4, 70--77.
[20]
Gonzalez, R. E. 2000. Xtensa: A configurable and extensible processor. IEEE Micro 20, 2, 60--70.
[21]
Grotker, T. 2002. System Design with SystemC. Kluwer Academic, Boston.
[22]
Hall, M. W., Anderson, J. M., Amarasinghe, S. P., Murphy, B. R., Shih-Wei, L., Bugnion, E., and Lam, M. S. 1996. Maximizing multiprocessor performance with the SUIF compiler. Computer 29, 12, 84--89.
[23]
Hauck, S., Fry, T. W., Hosler, M. M., and Kao, J. P. 1997. The Chimaera reconfigurable functional unit. In Proceedings of the Symposium on Field-Programmable Custom Computing Machines.
[24]
Kahrs, M. 1986. Matching a parts library in a silicon compiler. In Proceedings of the International Conference on Computer-Aided Design.
[25]
Kastner, R., Bozorgzadeh, E., Ogrenci Memik, S., and Sarrafzadeh, M. 2002. Compiler techniques for system synthesis optimization, Tech. Rep. UCLA.
[26]
Kastner, R., Ogrenci Memik, S., Bozorgzadeh, E., and Sarrafzadeh, M. 2001. Instruction generation for hybrid reconfigurable systems. In Proceedings of the International Conference on Computer Aided Design.
[27]
Keutzer, K. 1987. Dagon: Technology binding and local optimization by DAG matching. In Proceedings of the Design Automation Conference.
[28]
Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the International Symposium on Microarchitecture.
[29]
Mahlke, S. A., Hank, R. E., Mccormick, J. E., August, D. I., and Hwu, W. W. 1995. A comparison of full and partial predicated execution support for ILP processors. In Proceedings of the International Symposium on Computer Architecture.
[30]
Mahlke, S. A., Lin, D. C., Chen, W. Y., Hank, R. E., and Bringmann, R. A. 1992. Effective compiler support for predicated execution using the hyperblock. In Proceedings of the International Symposium on Microarchitecture.
[31]
Mehra, R. and Rabaey, J. 1996. Exploiting regularity for low-power design. In Proceedings of the International Conference on Computer-Aided Design.
[32]
Micali, S. and Vazirani, V. V. 1980. An O(√|V||E|) algorithm for finding maximum matching in general graphs. In Proceedings of the Symposium on Foundations of Computer Science.
[33]
Note, S., Geurts, W., Catthoor, F., and De Man, H. 1991. Cathedral-III: architecture-driven high-level synthesis for high throughput DSP applications. In Proceedings of the Design Automation Conference.
[34]
Ogrenci Memik, S., Bozorgzadeh, E., Kastner, R., and Sarrafzadeh, M. 2001a. Strategically programmable systems. In Proceedings of the Reconfigurable Architecture Workshop.
[35]
Ogrenci Memik, S., Bozorgzadeh, E., Kastner, R., and Sarrafzadeh, M. 2001b. A super-scheduler for embedded reconfigurable systems. In Proceedings of the International Conference on Computer Aided Design.
[36]
Peixin, Z., Martonosi, M., Ashar, P., and Malik, S. 1999. Using configurable computing to accelerate Boolean satisfiability. IEEE Trans. Comput. Aided Des. Integrated Circ. Syst. 18, 6, 861--868.
[37]
Rao, D. S. and Kurdahi, F. J. 1993. On clustering for maximal regularity extraction. IEEE Trans. Comput. Aided Des. Integrated Circ. Syst. 12, 8, 1198--1208.
[38]
Schreiber, R., Aditya, S., Rau, B. R., Kathail, V., Mahlke, S., Abraham, S., and Snider, G. 2000. High-level synthesis of nonprogrammable hardware accelerators. In Proceedings of the International Conference on Application-Specific Systems, Architectures, and Processors.
[39]
Sidhu, R. P. S., Mei, A., and Prasanna, V. K. 1999. String matching on multicontext FPGAs using self-reconfiguration. In Proceedings of the International Symposium on Field Programmable Gate Arrays.
[40]
Smith, M. D. and Holloway, G. An introduction to machine SUIF and its portable libraries for analysis and optimization. Tech. Rep., Division of Engineering and Applied Sciences, Harvard University.
[41]
Tai, L., Knapp, D., Miller, R., and Macmillen, D. 1995. Scheduling using behavioral templates. In Proceedings of the Design Automation Conference.
[42]
Taylor, M. B., Kim, J., Miller, J., Wentzlaff, D., Ghodrat, F., Greenwald, B., Hoffman, H., Johnson, P., Lee, J.-W., Lee, W., Ma, A., Saraf, A., Seneski, M., Shnidman, N., Strumpen, V., Frank, M., Amarasinghe, S., and Agarwal, A. 2002. The raw microprocessor: A computational fabric for software circuits and general-purpose programs. IEEE Micro 22, 2, 25--35.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Design Automation of Electronic Systems
ACM Transactions on Design Automation of Electronic Systems  Volume 7, Issue 4
October 2002
195 pages
ISSN:1084-4309
EISSN:1557-7309
DOI:10.1145/605440
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 01 October 2002
Published in TODAES Volume 7, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. FPGA
  2. high-level synthesis
  3. reconfigurable computing

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)3
Reflects downloads up to 27 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media