ALCHA: New object oriented approach to FPGA project development

This paper presents on the objectives and strategies to develop ALCHA: a new object-oriented FPGA programming model and language. ALCHA is aimed at unifying the various aspects of FPGA firmware design (RTL design, finite state machines, timing and design constraints, as well as scripting) into a single language. The ALCHA language is designed to minimise boiler-plate code and use concise syntax in order to improve readability and maintainability. The development of finite state machines is facilitated by means of a procedural programming model. Algorithmic descriptions of circuits, memory initialisers and parameters are supported by means of scripting. ALCHA is expected to offer valuable benefits in reducing development time of projects.

[1]  Jennifer Stephenson Design Guidelines for Optimal Results in FPGAs , 2005 .

[2]  Sabine Rathmayer,et al.  Software Engineering in Parallel and Distributed Scientific Computing: A Case Study from Industrial Practice , 1998, PDSE.

[3]  Yu Ting Chen,et al.  A Survey and Evaluation of FPGA High-Level Synthesis Tools , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[5]  Deming Chen,et al.  High-Level Synthesis With Behavioral-Level Multicycle Path Analysis , 2014, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Philippe Coussy,et al.  High-Level Synthesis: from Algorithm to Digital Circuit , 2008 .

[7]  R. R. Seban An overview of object-oriented design and C++ , 1994, Proceedings of 1994 IEEE Aerospace Applications Conference Proceedings.

[8]  Vincent Lefèvre,et al.  MPFR: A multiple-precision binary floating-point library with correct rounding , 2007, TOMS.

[9]  A. Feller,et al.  Standard cell approach for generating custom CMOS/SOS devices using a fully automatic layout program , 1981, IEEE Circuits & Systems Magazine.