Abstract
In this paper we present the “fly” hardware compiler for rapid system prototyping research. Fly takes a C-like program as input and produces a synthesizable VHDL description of a one-hot state machine and the associated data path elements as output. Furthermore, it is tightly integrated with the hardware design environment and implementation platform, and is able to hide issues associated with these tools from the user. Unlike previous tools, fly encourages modification of the compiler for research in rapid system prototyping and code generation, and the full source code to the compiler is presented in the paper. Case studies involving the implementation of an FPGA based greatest common divisor (GCD) coprocessor as well as the extension of the basic fly compiler to solve a differential equation using floating point arithmetic are presented.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Page, I.: Constructing hardware-software systems from a single description. Journal of VLSI Signal Processing12 (1996) 87–107
Luk, W., McKeever, S.: Pebble: a language for parametrised and reconfigurable hardware design. In: Field-Programmable Logic and Applications. Volume LNCS 1482., Springer (1998) 9–18
Wirth, N.: Hardware compilation: Translating programs into circuits. IEEE Computer 31 (1998) 25–31
Brunvand, E.: Translating Concurrent Communicating Programs into Asynchronous Circuits. Carnegie Mellon University, Ph.D thesis (http://www.cs.utah.edu/?elb/diss.html) (1991)
Wall, L., Christianson, T., Orwant, J.: Programming Perl. 3rd edn. O’Reilly (2000)
Conway, D.: Parse::RecDescent Perl module. In: http://www.cpan.org/modules/by-module/Parse/DCONWAY/Parse-RecDescent-1.80.tar.gz. (2001)
Leong, P., Leong, M., Cheung, O., Tung, T., Kwok, C., Wong, M., Lee, K.: Pilchard—a reconfigurable computing platform with memory slot interface. In: Proceedings of the IEEE Symposium on FCCM. (2001)
Jaenicke, A., Luk, W.: Parameterised floating-point arithmetic on FPGAs. In: Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing. (2001) 897–900
Ho, C., Leong, M., Leong, P., Becker, J., Glesner, M.: Rapid prototyping of fpga based floating point dsp systems. In: Proceedings of the 13th IEEE Workshop on Rapid System Prototyping (to appear). (2002)
Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach 2nd Edition. Morgan Kaufmann (1999)
Mathews, J., Fink, K.: Numerical Methods Using MATLAB. 3rd edn. Prentice Hall (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ho, C.H. et al. (2002). Fly — A Modifiable Hardware Compiler. In: Glesner, M., Zipf, P., Renovell, M. (eds) Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream. FPL 2002. Lecture Notes in Computer Science, vol 2438. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46117-5_40
Download citation
DOI: https://doi.org/10.1007/3-540-46117-5_40
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44108-3
Online ISBN: 978-3-540-46117-3
eBook Packages: Springer Book Archive