Lava: hardware design in Haskell
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Domain specific embedded compilers
Proceedings of the 2nd conference on Domain-specific languages
Observable Sharing for Functional Circuit Description
ASIAN '99 Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science
JHDL - An HDL for Reconfigurable Systems
FCCM '98 Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines
muFP, a language for VLSI design
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Designing Reconfigurable Systems in Lava
VLSID '04 Proceedings of the 17th International Conference on VLSI Design
Lava and JBits: From HDL to Bitstream in Seconds
FCCM '01 Proceedings of the the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines
Teaching Hardware Description and Verification
MSE '05 Proceedings of the 2005 IEEE International Conference on Microelectronic Systems Education
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Error Correction Coding: Mathematical Methods and Algorithms
Error Correction Coding: Mathematical Methods and Algorithms
The worker/wrapper transformation
Journal of Functional Programming
Type-safe observable sharing in Haskell
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Accelerating Haskell array codes with multicore GPUs
Proceedings of the sixth workshop on Declarative aspects of multicore programming
Functional and dynamic programming in the design of parallel prefix networks
Journal of Functional Programming
What's the matter with Kansas Lava?
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
Harnessing parallelism in FPGAs using the hume language
Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computing
Processor design using a functional hardware description language
Microprocessors & Microsystems
Hardware design with generalized arrows
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
Hi-index | 0.00 |
Kansas Lava is a domain specific language for hardware description. Though there have been a number of previous implementations of Lava, we have found the design space rich, with unexplored choices. We use a direct (Chalmers style) specification of circuits, and make significant use of Haskell overloading of standard classes, leading to concise circuit descriptions. Kansas Lava supports both simulation (inside GHCi), and execution via VHDL, by having a dual shallow and deep embedding inside our Signal type. We also have a lightweight sized-type mechanism, allowing for MATLAB style matrix based specifications to be directly expressed in Kansas Lava.