Skip to content.

TUD TU Dresden

The SHAP Bytecode Processor
TU Dresden » Faculty of Computer Science » Institute for Computer Engineering » Chair for VLSI – EDA » SHAP


SHAP and its toolchain will gradually be published as open source on this site. Currently, synthesized SHAPs are offered for a selection of FPGA prototyping boards together with example applications.

Additional sources not yet published may be inquired for research and educational purposes. Please, provide some references to your research and/or educational activities with your request.


For playing with SHAP, you will need one of the supported or a compatible FPGA prototyping board. At the minimum, you need to be able to program the FPGA upon it and establish a serial communication with the board to upload the application and observe its console output. Many applications will only make sense with the additional connection of an input device (PS/2 keyboard or mouse), an output device (VGA monitor) or another general purpose communication (USB, ethernet).

The downloadable content offered on this page is subject to differing license terms! Third-party licenses as applying for some parts of the runtime implementations are indicated with the download offer. All other content (bitstreams, tools, demonstrations, etc.) is provided with NO WARRANTY whatsoever. It is free of charge for personal, research and educational use only. Please, feel free to contact us if you intend a commercial application.

Prototyping Boards

SHAP on the Spartan-3 Starter Kit
SHAP with Snake on the Spartan-3 Starter Kit
BoardFPGA ChipI/O InterfacesVersionBit File
Xilinx Spartan-3 Starter KitXC3S1000-4FT256UART, VGA, PS/22008-06-04
Xilinx Spartan-3E Starter KitXC3S500E-4FG320UART2008-06-04

The format of the .shap files has changed per June 4. Please, update your local copies of .bit files, .shap files, the ShapLinker as well as the run time.


After programming your board with SHAP, you may upload a prelinked SHAP application over the serial link as detailed in the User Manual.

VersionSHAP File
TestFeature Test2008-06-04
ucsdBenchmark SuiteOriginal Distribution
Source of SHAP Version
jbeBenchmark SuiteDistributed with JOP
DrawTestVGA Interface TestSpartan-3 ONLY!
PS/2 Keyboard (at least numpad),
VGA Monitor
SnakeGameSpartan-3 ONLY!
PS/2 Keyboard (at least numpad),
VGA Monitor
SkyRoadsGameSpartan-3 ONLY!
PS/2 Keyboard (at least numpad),
VGA Monitor

Application Building

For writing your own SHAP application, you need a regular set of Java development tools, the SHAP runtime (2008-06-05) [→ JavaDoc] and the ShapLinker (2008-06-04). Use our Feature Test if you do not have your own application handy.

The process of compiling and prelinking is described in the User Manual.

Note that third-party licenses apply to parts of the runtime implementation: The implementation of the core CLDC runtime is based on the MR1 implementation by the phoneME project, which has been realeased under the GPL 2.0. The included soft floating-point emulation is a Java port of John Hauser's SoftFloat library by the JOP project, which is open-source but not free for commercial use!


We publish the source code of the core CLDC runtime implementation used by SHAP and as derived from the phoneME implementation in the fulfillment of our obligations according to the GPL 2.0.


New version (2008-06-04) of SHAP as well as the new game SkyRoads are now available for download.


Prof. Rainer G. Spallek

Thomas B. Preußer

Martin Zabel

+49 (0)351 463 38324
Street Address
Nöthnitzer Straße 46, Room 1095
01187 Dresden
Mail Address
Chair for VLSI – EDA
Fakultät Informatik
Technische Universität Dresden
D-01062 Dresden