Expressing dynamic reconfiguration by partial evaluation

Dynamic reconfiguration of FPGAs is a powerful technique for modifying a circuit as it executes. However, dynamic reconfiguration is inadequately supported by CAD tools and poorly understood in general. We present a specific class of dynamic reconfigurations that can be expressed in terms of a formalism called partial evaluation. This provides a systematic framework for understanding the effect of a dynamic reconfiguration, as well as providing guidance on how to complete specialised circuits. The primary advantages of this technique are circuits which are smaller and faster for a certain class of applications. We present one case study from the ATM field which benefits from this treatment.

[1]  Satnam Singh,et al.  Virtual hardware for graphics applications using FPGAs , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[2]  Andy Hopper,et al.  The Cambridge Fast Ring Networking System , 1988, IEEE Trans. Computers.

[3]  Brad L. Hutchings,et al.  A dynamic instruction set computer , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[4]  H. T. Kung Why systolic architectures? , 1982, Computer.

[5]  Eric Lemoine,et al.  Run time reconfiguration of FPGA for scanning genomic databases , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[6]  Satnam Singh,et al.  Architectural descriptions for FPGA circuits , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[7]  Joe Stoy,et al.  Denotational Semantics , 1977 .

[8]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[9]  Peter Sestoft,et al.  An experiment in partial evaluation: the generation of a compiler generator , 1985, SIGP.

[10]  Brad L. Hutchings,et al.  Design methodologies for partially reconfigured systems , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[11]  A. Church The calculi of lambda-conversion , 1941 .

[12]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[13]  William C. Frederick,et al.  A Combinatory Logic , 1995 .

[14]  Anders Bondorf,et al.  A self-applicable partial evaluator for the lambda calculus , 1990, Proceedings. 1990 International Conference on Computer Languages.