Created: 18 December 2012
Last reviewed: 15 September 2026
SCORE was originally developed by the BRASS group at UC Berkeley under the leadership of Andre DeHon and John Wawryznek. Andre DeHon and Eylon Caspi helped revive the codebase; students and interns at Imperial College supported the effort with excellent software skills. This page documents the historical SCORE toolchain and its later modifications by Nachiket Kapre.
Software on this page is made available and distributed under license.
The best introduction to SCORE is the JMM journal article.
To start writing SCORE code, refer to the tutorial.
The FPT 2011 best paper winner: VLIW-SCORE showed how to compile SCORE state-machines into statically-scheduled VLIW engines.
The FCCM 2012 FX-SCORE, 2013 Uncertainty-SCORE and 2014 MixFX-SCORE describe a framework for generating fixed-point bitwidths for streaming programs using Gappa++.
The compiler source code is available on GitHub. It accepts
.tdf input files and generates several output formats,
including .v and .cc.
It compiles with g++-4.4 and requires LEDA 6.3 library to work correctly.
The C++ CPU runtime source code is also available on GitHub. The runtime implements streams and other SCORE objects for C++ simulations.
It compiles with g++-4.4 and requires LEDA 6.3 library to work correctly.
If you’re a Vim user, you will love syntax highlighting configuration for TDF.
These historical instructions require old compiler and library versions and may need adaptation on a current system.
/opt/leda. Add /opt/leda to
LD_LIBRARY_PATH./opt/tdfc and
/opt/ScoreRuntime respectively./opt/tdfc/examples. When
building code, make sure you add the proper
-lleda -lScoreRuntime and -L/opt/ScoreRuntime
and -L/opt/leda switches as required.