## FELIX: Using rewriting-logic for generating functionally equivalent implementations (2005)

Venue: | IN PROC. INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL 2005 |

Citations: | 9 - 8 self |

### BibTeX

@INPROCEEDINGS{Morra05felix:using,

author = {C. Morra and J. Becker and M. Ayala-Rincón and R. Hartenstein},

title = {FELIX: Using rewriting-logic for generating functionally equivalent implementations},

booktitle = {IN PROC. INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL 2005},

year = {2005},

pages = {25--30},

publisher = {}

}

### OpenURL

### Abstract

FELIX is a new design space exploration tool and graphical Integrated Development Environment (IDE) for the programming of coarse-grained reconfigurable architectures. Its main and novel advantage is the use of rewriting rules and logical strategies for the automated generation of alternative functionally equivalent implementations from a single mathematical specification. The user selection of the rewriting logic strategies to be applied determines the resulting implementations, making it possible to quickly generate, simulate and evaluate alternative implementations that are logically equivalent. The FELIX System includes an interface to the KressArray Xplorer for hardware design-space exploration. The current version of the tool is targeted for the Pact eXtreme Processing Platform (XPP), with support for additional architectures planned in future versions.

### Citations

941 |
T.: Term Rewriting and All That
- Baader, Nipkow
- 1999
(Show Context)
Citation Context ...g and simplification (reduction); It offers a natural mechanism for manipulation of algebraic expressions and is considered the formal framework for reasoning about the functional programming paradigm=-=[2]-=-[3]. Because of its simplicity, describing computational (hardware-software) behavior using term rewriting avoids the inclusion of unnecessary operational semantics that are required in programming la... |

131 |
A Decade of Reconfigurable Computing: A Visionary Retrospective
- Hartenstein
- 2001
(Show Context)
Citation Context ...ous hardware/software co-design. There is growing interest in coarse-grained reconfigurable arrays because they offer increased power and better area efficiency than fine-grained reconfigurable arrays=-=[1]-=-. Reconfigurable arrays can be classified by level of reconfiguration capability in fine- and coarse-grained. A coarse-grained array is defined as an array of functional elements with pathwidths great... |

53 | Using term rewriting systems to design and verify processors
- Arvind, Shen
- 1999
(Show Context)
Citation Context ... in the specification of processors with simple architectures, the rewrite-based description and synthesis of simple logical digital circuits and the description of cache protocols over memory systems=-=[12]-=-. In his work, terms and rewriting rules were used to describe hardware states and behavior. Rewriting-logic has been shown to have greater flexibility than pure rewriting for the discrimination betwe... |

30 | DRESC: A retargetable compiler for coarse-grained reconfigurable architectures
- Mei, Vernalde, et al.
- 2002
(Show Context)
Citation Context ...the same compiler for different coarsegrained architectures. Two relevant examples of such retargetable compilers include the ALEX Compiler included in the KressArray Xplorer[7] and the DRESC Compiler=-=[8]-=-. A different approach is taken by the COMPAAN/LAURA[9] toolset, which extracts the dataflow and control code from a mathematical model created in Matlab/Simulink and converts it into synthesizable VH... |

30 | Promoting Rewriting to a Programming Language: A Compiler for NonDeterministic Rewrite Programs in Associative-Commutative Theories
- KIRCHNER, MOREAU
(Show Context)
Citation Context ...he rule. These operational semantics are the same as those involved in functional environments and has been promoted in functional programming languages since the well-known McCarthy LISP of the 1950s=-=[14]-=-. In the algebraic context, pure rewriting is useful for reaching canonical or normal forms of a given term; that is, reaching the "simplest" representation corresponding to a given algebraic expressi... |

15 | A Tutorial Using PVS For Hardware Verification - Owre, Rushby, et al. - 1994 |

14 |
Using and induction prover for verifying arithmetic circuits
- Kapur, Subramaniam
- 2000
(Show Context)
Citation Context ...e-grained arrays[10]. Recent work on rewriting based treatment of hardware design includes the work from Kapur, who used the wellknown Rewriting Rule Laboratory - RRL for verifying arithmetic circuits=-=[11]-=-. Arvind applied rewriting in the specification of processors with simple architectures, the rewrite-based description and synthesis of simple logical digital circuits and the description of cache pro... |

11 | XPP-VC: A C compiler with temporal partitioning for the PACT-XPP architecture
- Cardoso, Weinhardt
- 2002
(Show Context)
Citation Context ...cient dynamical programming methods for sequence comparison[5]. 2. RELATED WORK Diverse tools and approaches have been used to generate code for coarse-grained architectures. The Pact XPP VCC Compiler=-=[6]-=- uses automated loop unrolling and loop vectorization to parallelize a C program and map it into the XPP architecture. An interesting approach is the retargetable dataflow compiler, which uses a descr... |

10 |
Coarse-grained reconfigurable architectures design space exploration
- Nageldinger
- 2001
(Show Context)
Citation Context ...m a mathematical model created in Matlab/Simulink and converts it into synthesizable VHDL code. The KressArray Xplorer allows hardware design-space exploration for reconfigurable coarse-grained arrays=-=[10]-=-. Recent work on rewriting based treatment of hardware design includes the work from Kapur, who used the wellknown Rewriting Rule Laboratory - RRL for verifying arithmetic circuits[11]. Arvind applied... |

9 |
ELAN from a rewriting logic point of view. Theor
- Borovansk´y, Kirchner, et al.
(Show Context)
Citation Context ...ucing different canonized versions of a mathematical operator, which can be quickly prototyped using other design tools. The most popular rewriting-logic computational environments are Maude[15], ELAN=-=[16]-=- and CafeOBJ[17] 3. THE FELIX TOOL. The Functional Equivalent Logical Implementations eXplorer (FELIX) is a new rapid prototyping tool and integrated development environment for the generation of func... |

7 | Modeling a reconfigurable system for computing the FFT in place via rewriting-logic
- Ayala-Rincon, Nogueira, et al.
- 2003
(Show Context)
Citation Context ...onments) have been proved of great usefulness in the prototyping of dynamically reconfigurable architectures developed for space efficient computation of non trivial algebraic operator such as the FFT=-=[4]-=- and forsimplementing run-time efficient dynamical programming methods for sequence comparison[5]. 2. RELATED WORK Diverse tools and approaches have been used to generate code for coarse-grained archi... |

6 |
Modeling and prototyping dynamically reconfigurable systems for efficient computation of dynamic programming methods by rewriting-logic
- Ayala-Rincon, Jacobi, et al.
- 2004
(Show Context)
Citation Context ...chitectures developed for space efficient computation of non trivial algebraic operator such as the FFT[4] and forsimplementing run-time efficient dynamical programming methods for sequence comparison=-=[5]-=-. 2. RELATED WORK Diverse tools and approaches have been used to generate code for coarse-grained architectures. The Pact XPP VCC Compiler[6] uses automated loop unrolling and loop vectorization to pa... |

6 |
et al.: Maude: Specification and programming in rewriting logic
- Clavel, Durán, et al.
(Show Context)
Citation Context ...m for producing different canonized versions of a mathematical operator, which can be quickly prototyped using other design tools. The most popular rewriting-logic computational environments are Maude=-=[15]-=-, ELAN[16] and CafeOBJ[17] 3. THE FELIX TOOL. The Functional Equivalent Logical Implementations eXplorer (FELIX) is a new rapid prototyping tool and integrated development environment for the generati... |

3 |
KressArray Xplorer: A New CAD Environment to Optimize Reconfigurable Datapath Array Architectures
- Hoffmann, Nageldinger
- 2000
(Show Context)
Citation Context ...order to allow the use of the same compiler for different coarsegrained architectures. Two relevant examples of such retargetable compilers include the ALEX Compiler included in the KressArray Xplorer=-=[7]-=- and the DRESC Compiler[8]. A different approach is taken by the COMPAAN/LAURA[9] toolset, which extracts the dataflow and control code from a mathematical model created in Matlab/Simulink and convert... |

2 |
Rijsbergen (Editor) “Term Rewriting Systems”. Cambridge Univ
- Terese, Van
- 2003
(Show Context)
Citation Context ...nd simplification (reduction); It offers a natural mechanism for manipulation of algebraic expressions and is considered the formal framework for reasoning about the functional programming paradigm[2]=-=[3]-=-. Because of its simplicity, describing computational (hardware-software) behavior using term rewriting avoids the inclusion of unnecessary operational semantics that are required in programming langu... |

1 | Executable Computational Logics: Combining Formal Methods and Programming Language Based System Design
- Meseguer
(Show Context)
Citation Context ... new reconfigurable computing paradigms. Applications of rewriting-logic in this architectural design context include formal verification of processors (using model checking implemented by rewriting) =-=[13]-=- and [4][5] mentioned previously. 2.1. REWRITING LOGIC In the architectural context, rewriting rules are of the form s ⇒ t if C, where s and t are terms over a given signature, the left- and right-han... |