Skip to main content
Log in

Compilation From Matlab to Process Networks Realized in FPGA

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

Compaan is a software tool that is capable of automatically translating nested loop programs, written in Matlab, into parallel process network descriptions suitable for implementation in hardware. In this article, we show a methodology and tool to convert theseprocess networks into FPGA implementations. We will show that we can in principleobtain high performing realizations in a fraction of the design time currentlyemployed to realize a parameterized implementation. This allows us to rapidlyexplore a range of transformations, such as loop unrolling and skewing, togenerate a circuit that meets the requirements of a particular application.The QR decomposition algorithm is used to demonstrate the capability of thetool. We present results showing how the number of clock cycles and calculations-per-secondvary with these transformations using a simple implementation of the functionunits. We also provide an indication of what we expect to achieve in the nearfuture once the tools are completed and applied the transformations to parallel,highly pipelined implementations of the function units.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. De Micheli, G. Synthesis and Optimization of Digital Circuits. McGraw-Hill International Editions, 1994.

  2. Gamma, E., R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series, 1994.

  3. Haldar, M., A. Nayak, A. Choudhary, and P. Banerjee. A System for Synthesizing Optimized FPGA Hardware From Matlab. In Proceedings of IEEE International Conference on Computer Aided Design ICCAD'2001, San Jose, USA, pp. 314–319, 2001.

  4. Held, P. Functional Design of Data-Flow Networks. Ph.D. thesis, Delft University of Technology, The Netherlands, 1996.

    Google Scholar 

  5. Kahn, G. The Semantics of a Simple Language for Parallel Programming. In Proc. of the IFIP Congress 74. North-Holland Publishing Co., 1974.

  6. Kienhuis, B., Mat Parser: An Array Dataflow Analysis Compiler. Technical Report, University of California at Berkeley. UCB/ERL M00/9, 2000.

    Google Scholar 

  7. Kienhuis, B., E. Deprettere, P. van der Wolf, and K. Vissers. A Methodology to Design Programmable Embedded Systems, vol. 2268 of LNCS, pp. 18–37. Springer Verlag, 2002.

  8. Kienhuis, B. and E. R. Deprettere. Modeling Stream-Based Applications Using the SBF Model of Computation. In Proceedings of IEEE Workshop on Signal Processing Systems (SIPS'2000). Antwerp, Belgium, 2001.

  9. Kienhuis B., E. Rijpkema, and E. F. Deprettere. Compaan: Deriving Process Networks From Matlab for Embedded Signal Processing Architectures. In 8th International Workshop on Hardware/Software Codesign (CODES'2000), San Diego, USA, 2000.

  10. Muchnick, S. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, Inc., 1997.

  11. Parhi, K. VLSI Digital Signal Processing Systems: Design and Implementation. John Wiley & Sons, Inc., 1999.

  12. Parks, T. Bounded Scheduling of Process Networks. Ph.D. thesis, University of California at Berkeley, 1995.

    Google Scholar 

  13. QinetiQ Ltd. Quixilica Floating-Point FPGA Cores. http://www.quixilica.com/pdf/qx_fpl.pdf, 2001.

  14. Shepherd, T. and J. McWhirter, Systolic Adaptive Beamforming–Radar Array Processing. In Springer Series in Information Sciences, vol. 25, Berlin, Springer-Verlag, 1993.

    Google Scholar 

  15. Stefanov, T., B. Kienhuis, and E. Deprettere, Algorithmic Transformation Techniques for Efficient Exploration of Alternative Application Instances. In Proceedings of 10th International Symposium on Hardware/Software Codesign, Colorado, USA, 2002.

  16. Walke, R. L. High-Sample Rate Givens Rotations for Recursive Least Squares. Ph.D. thesis, University of Warwick, 1997.

  17. Walke, R. L., R.W.M. Smith, and G. Lightbody. 20GFLOPS QR Processor on a XilinxVirtex-E FPGA. In Proceedings of SPIE Advanced Signal, 1999.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Harriss, T., Walke, R., Kienhuis, B. et al. Compilation From Matlab to Process Networks Realized in FPGA. Design Automation for Embedded Systems 7, 385–403 (2002). https://doi.org/10.1023/A:1020367508848

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1020367508848

Navigation