On embedding a microarchitectural design language within Haskell
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Symbolic Simulation of Microprocessor Models using Type Classes in Haskell
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Journal of Functional Programming
A transformational approach which combines size inference and program optimization
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
Hi-index | 0.00 |
We present a technique for doing symbolic simulation of microprocessor models in the functional programming language Haskell. We use polymorphism and the type class system, a unique feature of Haskell, to write models that work over both concrete and symbolic data. We offer this approach as an alternative to using uninterpreted constants. When the full generality of rewriting is not needed, the performance of symbolic simulation by evaluation is much faster than previously reported symbolic simulation efforts in theorem provers. We illustrate our work with both a simple state-based example and a complex, superscalar, out-of-order, stream-based microprocessor model. This technical report is a companion report to Day, Lewis, and Cook (CHARME, 1999).