WG211/M3Herrmann: Difference between revisions
No edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
Generating Size-Parameterized Functions for Circuit Simulation Using Template Haskell | Generating Size-Parameterized Functions for Circuit Simulation Using Template Haskell | ||
<br>Speaker: Christoph A. Herrmann | <br>Speaker: Christoph A. Herrmann | ||
Slides: | Slides: [[Media:herrmann.pdf | herrmann.pdf]] | ||
Abstract:<br> | Abstract:<br> | ||
Template Haskell permits the generation of functions whose types depend on static parameter values. We use this feature to develop a library of circuit designs which are parameterized in bitsize. The inputs and outputs of these designs are tuples of parameterized numbers of components. The advantage of tuples to lists or arrays is that the type checker ensures the consistency of the sizes at compile time. | Template Haskell permits the generation of functions whose types depend on static parameter values. We use this feature to develop a library of circuit designs which are parameterized in bitsize. The inputs and outputs of these designs are tuples of parameterized numbers of components. The advantage of tuples to lists or arrays is that the type checker ensures the consistency of the sizes at compile time. | ||
Latest revision as of 14:28, 16 December 2011
Christoph A. Herrmann
Title:
Generating Size-Parameterized Functions for Circuit Simulation Using Template Haskell
Speaker: Christoph A. Herrmann
Slides: herrmann.pdf
Abstract:
Template Haskell permits the generation of functions whose types depend on static parameter values. We use this feature to develop a library of circuit designs which are parameterized in bitsize. The inputs and outputs of these designs are tuples of parameterized numbers of components. The advantage of tuples to lists or arrays is that the type checker ensures the consistency of the sizes at compile time.
At first, a skeleton generator is introduced which provides abstraction from the low-level details of Template Haskell. We use it to generate combinators for parallel and sequential composition which are then taken to define circuits for addition, multiplication, etc. Other combinators simplify the task of connecting the appropriate wires.