Go to main content

School of Computer Science Intranet

APT research areas

Discover our main research areas

The Teak Asynchronous Synthesis System

Teak is a tool for creating asynchronous implementations of circuit descriptions written in the Balsa language. Like Balsa, Teak uses an intermediate representation in which networks of components (Teak networks) drawn from a fixed library of parameterisable templates (Teak components) are connected together using handshaking channels. Unlike Balsa, these networks are elastic. That is to say, handshake decoupling and the insertion of data buffering (beyond that which is necessary for liveness) will only affect the performance and cost of circuits, not their correct behaviour. The Teak component templates have been chosen to be familiar to users of other asynchronous design styles having no pull channels, required enclosed of port handshakes or other features specific to the Handshake Components used in the Balsa system. For this reason, we hope Teak will be a useful tool for creating elastic pipeline asynchronous systems from language descriptions, even with other target technologies.

The Teak tool currently consists of:

  • A synthesiser from Balsa to Teak component networks
  • A mechanism to plot those networks
  • A language-level simulator for Balsa
  • A programmable peephole optimiser for component networks
  • A GUI to drive and visualise optimisation choices
  • A prototype `back end' to generate Verilog gate-level implementations of Teak components

Getting Teak

The Teak tool can be downloaded from our ftp server. You will need the Glasgow Haskell Compiler (ghc) and the gtk2hs bindings for ghc in order to build it:

Teak distribution version 0.4 - teak-0.4.tar.gz (ftp, 567KiB)

Publications and presentations

  • Posters from ASYNC2010 Teak demonstration [1] [2] [3] [4]
  • Andrew Bardsley, Luis Tarazona and Doug Edwards
    Teak: A Token-Flow Implementation for the Balsa Language
    Proc. 9th International Conference on the Application of Concurrency to System Design
    (ACSD'09), Augsburg, Germany, 1-3 July 2009, pp. 23-31.
    ISBN 978-0-7695-3697-2, ISSN 1550-4808
    Abstract PDF (139K) IEEE Copyright


For more information about Teak, please contact Andrew Bardsley (bardsley@cs.man.ac.uk)


Teak GUI Teak GUI O