Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Emil Axelsson is active.

Publication


Featured researches published by Emil Axelsson.


formal methods | 2010

Feldspar: A domain specific language for digital signal processing algorithms

Emil Axelsson; Koen Claessen; Gergely Dévai; Zoltán Horváth; Karin Keijzer; Bo Lyckegård; Anders Persson; Mary Sheeran; Josef Svenningsson; András Vajdax

A new language, Feldspar, is presented, enabling high-level and platform-independent description of digital signal processing (DSP) algorithms. Feldspar is a pure functional language embedded in Haskell. It offers a high-level dataflow style of programming, as well as a more mathematical style based on vector indices. The key to generating efficient code from such descriptions is a high-level optimization technique called vector fusion. Feldspar is based on a low-level, functional core language which has a relatively small semantic gap to machine-oriented languages like C. The core language serves as the interface to the back-end code generator, which produces C. For very small examples, the generated code performs comparably to hand-written C code when run on a DSP target. While initial results are promising, to achieve good performance on larger examples, issues related to memory access patterns and array copying will have to be addressed.


implementation and application of functional languages | 2010

The design and implementation of feldspar an embedded language for digital signal processing

Emil Axelsson; Koen Claessen; Mary Sheeran; Josef Svenningsson; David Engdal; Anders Persson

Feldspar is a domain specific language, embedded in Haskell, for programming digital signal processing algorithms. The final aim of a Feldspar program is to generate low level code with good performance. Still, we chose to provide the user with a purely functional DSL. The language is implemented as a minimal, deeply embedded core language, with shallow extensions built upon it. This paper presents full details of the essential parts of the implementation. Our initial conclusion is that this approach works well in our domain, although much work remains.


Lecture Notes in Computer Science | 2005

Wired: wire-aware circuit design

Emil Axelsson; Koen Claessen; Mary Sheeran

Routing wires are dominant performance stoppers in deep sub-micron technologies, and there is an urgent need to take them into account already at higher levels of abstraction. However, the normal design flow gives the designer only limited control over the details of the lower levels, risking the quality of the final result. We propose a language, called Wired, which lets the designer express circuit function together with layout, in order to get more precise control over the result. The complexity of larger designs is managed by using parameterised connection patterns. The resulting circuit descriptions are compact, and yet capture detailed layout, including the size and positions of wires. We are able to analyse non-functional properties of these descriptions, by “running” them using non-standard versions of the wire and gate primitives. The language is relational, which means that we can build forwards, backwards and bi-directional analyses. Here, we show the description and analysis of various parallel prefix circuits, including a novel structure with small depth and low fanout.


trends in functional programming | 2012

Combining Deep and Shallow Embedding for EDSL

Josef Svenningsson; Emil Axelsson

When compiling embedded languages it is natural to use an abstract syntax tree to represent programs. This is known as a deep embedding and it is a rather cumbersome technique compared to other forms of embedding, typically leading to more code and being harder to extend. In shallow embeddings, language constructs are mapped directly to their semantics which yields more flexible and succinct implementations. But shallow embeddings are not well-suited for compiling embedded languages. We present a technique to combine deep and shallow embedding in the context of compiling embedded languages in order to provide the benefits of both techniques. In particular it helps keeping the deep embedding small and it makes extending the embedded language much easier. Our technique also has some unexpected but welcome knock-on effects. It provides fusion of functions to remove intermediate results for free without any additional effort. It also helps to give the embedded language a more natural programming interface.


implementation and application of functional languages | 2011

Generic monadic constructs for embedded languages

Anders Persson; Emil Axelsson; Josef Svenningsson

We present a library of generic monadic constructs for embedded languages. It is an extension of Syntactic, a Haskell library for defining and processing generic abstract syntax. Until now, Syntactic has been mostly suited to implement languages based on pure, side effect free, expressions. The presented extension allows the pure expressions to also contain controlled side effects, enabling the representation of expressions that rely on destructive updates for efficiency. We demonstrate the usefulness of the extension by giving examples from the embedded language Feldspar which is implemented using Syntactic.


symposium/workshop on haskell | 2007

A functional-logic library for wired

Matthew Naylor; Emil Axelsson; Colin Runciman

We develop a Haskell library for functional-logic programming, motivated by the implementation of Wired, a relational embedded domain-specific language for describing and analysing digital circuits at the VLSI-layout level. Compared to a previous library for logic programming by Claessen and Ljunglöf, we support residuation, easier creation of logical data types, and pattern matching. We discuss other applications of our library, including test-data generation, and various extensions, including lazy narrowing.


Computer Languages, Systems & Structures | 2015

Combining deep and shallow embedding of domain-specific languages

Josef Svenningsson; Emil Axelsson

We present a technique to combine deep and shallow embedding in the context of compiling embedded languages in order to provide the benefits of both techniques. When compiling embedded languages it is natural to use an abstract syntax tree to represent programs. This is known as a deep embedding and it is a rather cumbersome technique compared to other forms of embedding, typically leading to more code and being harder to extend. In shallow embeddings, language constructs are mapped directly to their semantics which yields more flexible and succinct implementations. But shallow embeddings are not well-suited for compiling embedded languages. Our technique uses a combination of deep and shallow embedding, which helps keeping the deep embedding small and makes extending the embedded language much easier. The technique also has some unexpected but welcome secondary effects. It provides fusion of functions to remove intermediate results for free without any additional effort. It also helps us to give the embedded language a more natural programming interface.


implementation and application of functional languages | 2014

Stream Processing for Embedded Domain Specific Languages

Markus Aronsson; Emil Axelsson; Mary Sheeran

We present a library for expressing digital signal processing (DSP) algorithms using a deeply embedded domain-specific language (EDSL) in Haskell. The library supports definitions in functional programming style, reducing the gap between the mathematical description of streaming algorithms and their implementation. The deep embedding makes it possible to generate efficient C code. The signal processing library is intended to be an extension of the Feldspar EDSL which, until now, has had a rather low-level interface for dealing with synchronous streams. However, the presented library is independent of the underlying expression language, and can be used to extend any pure EDSL for which a C code generator exists with efficient stream processing capabilities. The library is evaluated using example implementations of common DSP algorithms and the generated code is compared to its handwritten counterpart.


international conference on electronics, circuits, and systems | 2009

Layout exploration of geometrically accurate arithmetic circuits

Kasyab Parmesh Subramaniyan; Emil Axelsson; Per Larsson-Edefors; Mary Sheeran

High-performance arithmetic circuits are critical to overall design performance and are therefore designed using full-custom design techniques. However, this is a time-consuming and error-prone task. We present a novel layout exploration methodology to design arithmetic circuits using standard-cell techniques, that retains competitive performance while allowing an almost custom-design kind of control over the layout. It uses an unconventional approach with a Haskell-based front-end in the Wired system, designed to produce logically and topologically accurate circuit descriptions and at the same time be parameterizable. Further, another overall goal of the system was to keep implementation time as low as possible. We demonstrate this methodology on HPM multipliers that exhibit a high degree of layout regularity.


microelectronics systems education | 2005

Teaching hardware description and verification

Emil Axelsson; M. Bjrk; Mary Sheeran

Since 1999, the formal methods group of the Department of Computing Science at Chalmers University of Technology has given a course on hardware description and verification (http://www.cs.chalmers.se/Cs/Education/Courses/svh/). The course focuses on the use of hardware description languages in design, and on functional verification using simulation, assertion monitoring and formal methods. The course is part of an international masters programme in dependable computer systems, although currently the majority of the students are from the 3rd and 4th years of the Chalmers undergraduate programmes in electronics or computer engineering. About 35 students pass the course each year. The emphasis in the course is on practical approaches to hardware description and verification, with students gaining hands-on experience of both commercial and academic tools. In addition, the important concepts and algorithms underlying formal verification are taught. The fact that the course manages to reflect both advanced industrial practice and state of the art research is, we feel, its major strength. The paper emphasises the benefits that the course has brought to our research group.

Collaboration


Dive into the Emil Axelsson's collaboration.

Top Co-Authors

Avatar

Mary Sheeran

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Josef Svenningsson

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Koen Claessen

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Patrick Bahr

University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar

Kasyab Parmesh Subramaniyan

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Per Larsson-Edefors

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar

Gergely Dévai

Eötvös Loránd University

View shared research outputs
Top Co-Authors

Avatar

Zoltán Horváth

Eötvös Loránd University

View shared research outputs
Researchain Logo
Decentralizing Knowledge