Lava: hardware design in Haskell
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
IEEE Standard Description Language Based on the VERILOG Hardware Description Language, 1364-1995
IEEE Standard Description Language Based on the VERILOG Hardware Description Language, 1364-1995
Planning Cordless Business Communication Systems
IEEE Expert: Intelligent Systems and Their Applications
Interval Constraint Logic Programming
Selected Papers from Constraint Programming: Basics and Trends
Essentials of Constraint Programming
Essentials of Constraint Programming
Essentials of Constraint Programming
Essentials of Constraint Programming
Extending arbitrary solvers with constraint handling rules
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
The Munich Rent Advisor: A success for logic programming on then Internet
Theory and Practice of Logic Programming
From application descriptions to hardware in seconds: a logic-based approach to bridging the gap
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
The Challenges of Hardware Synthesis from C-Like Languages
Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Theory and Practice of Logic Programming
Parallel execution of multi-set constraint rewrite rules
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
The computational power and complexity of constraint handling rules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation
Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation
Constraint Handling Rules
Automatic Implication Checking for CHR Constraints
Electronic Notes in Theoretical Computer Science (ENTCS)
A complete and terminating execution model for constraint handling rules
Theory and Practice of Logic Programming
Parallelizing union-find in constraint handling rules using confluence analysis
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Compiling constraint handling rules for efficient tabled evaluation
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Extensible sparse functional arrays with circuit parallelism
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Decentralized execution of constraint handling rules for ensembles
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
This paper investigates the compilation of a committed-choice rule-based language, Constraint Handling Rules (CHR), to specialized hardware circuits. The developed hardware is able to turn the intrinsic concurrency of the language into parallelism. Rules are applied by a custom executor that handles constraints according to the best degree of parallelism the implemented CHR specification can offer. Our framework deploys the target digital circuits through the Field Programmable Gate Array (FPGA) technology, by first compiling the CHR code fragment into a low level hardware description language. We also discuss the realization of a hybrid CHR interpreter, consisting of a software component running on a general purpose processor, coupled with a hardware accelerator. The latter unburdens the processor by executing in parallel the most computational intensive CHR rules directly compiled in hardware. Finally the performance of a prototype system is evaluated by time efficiency measures.