The next Schematics (Scheme User Group) meeting at LShift offices will be on Wednesday June 23rd at 7pm. Satnam Singh, of Microsoft, will present a circuit design system called Lava which is embedded in the lazy functional language Haskell. Everyone is welcome, but do let us know you are coming.
Lava is a set of higher order combinators that are used to compose circuits in interesting ways. Many combinators compose behaviour and layout which gives the designer good control over the layout of circuits which in turn influences their performance. We illustrate circuit design in Lava with an example design and implementation of a sorting network and (possibly) a live demonstration of the sorting network running on an FPGA chip. We shall also show how circuit descriptions cast in Lava enjoy easier transformation for optimization and verification.
Satnam Singh obtained his BSc in Computing Science at the University of Glasgow in 1987 and his PhD at the same department in 1991. As a lecturer in Electrical Engineering and then in Computing Science at Glasgow he formed a research group focused on applying functional programming techniques to the design and analysis of reconfigurable circuits. In 1998 he joined Xilinxs’ research laboratory in San Jose, California where he applied functional programming and formal verification techniques to help solve industrial CAD problems. He has recently joined Microsoft in Redmond, Washington, where he continues to persue his interests in novel architectures, formal methods and programming languages.