Advertisement

Hardware Design with a Scripting Language

  • Per Haglund
  • Oskar Mencer
  • Wayne Luk
  • Benjamin Tai
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2778)

Abstract

The Python Hardware Description Language (PyHDL) provides a scripting interface to object-oriented hardware design in C++. PyHDL uses the PamDC and PAM-Blox libraries to generate FPGA circuits. The main advantage of scripting languages is a reduction in development time for high-level designs. We propose a two-step approach: first, use scripting to explore effects of composition and parameterisation; second, convert the scripted designs into compiled components for performance. Our results show that, for small designs, our method offers 5 to 7 times improvement in turnaround time. For a large 10x10 matrix vector multiplier, our method offers respectively 365% and 19% improvement in turnaround time over purely scripting and purely compiled methods.

Keywords

Turnaround Time Circuit Design Hardware Design Script Language Circuit Size 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bellows, P., Hutchings, B.: JHDL - an HDL for reconfigurable systems. In: Pocek, K.L., Arnold, J. (eds.) IEEE Symposium on FPGAs for Custom Computing Machines, pp. 175–184. IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
  2. 2.
    Celoxica, Celoxica homepage, http://www.celoxica.com/
  3. 3.
    Goering, R.: Engineer creates open-source hdl in Ruby language, http://www.eetimes.com/story/OEG20020807S0019
  4. 4.
    Ho, C., Leong, P., Lee, K., Tsoi, K., Ludewig, R., Zipf, P., Ortiz, A., Glesner, M.: Fly - a modifiable hardware compiler. In: Glesner, M., Zipf, P., Renovell, M. (eds.) FPL 2002. LNCS, vol. 2438, pp. 381–390. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Luk, W., Siganos, D., Fowler, T.: Automating qualification of reconfigurable cores. In: Reconfigurable Systems, IEE Digest, pp. 4/1–4/6 (1999)Google Scholar
  6. 6.
    Mencer, O., Morf, M., Flynn, M.J.: PAM-Blox: High performance FPGA design for adaptive computing. In: IEEE Symposium on FPGAs for Custom Computing Machines, pp. 167–174. IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
  7. 7.
    Python Software Foundation, Python homepage, http://www.python.org
  8. 8.
    van Rossum, G.: An introduction to python for UNIX/C programmers. In: Proc. NLUUG - Dutch Unix User Group Conference (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Per Haglund
    • 1
  • Oskar Mencer
    • 1
  • Wayne Luk
    • 1
  • Benjamin Tai
    • 1
  1. 1.Department of ComputingImperial CollegeLondonUK

Personalised recommendations