Informatics / TECH / Applets / HADES: Overview | Download | Docs | Gallery

This is the home page for HADES, the Hamburg Design System, an object-oriented and WWW-enabled simulation framework based on the Java language.

Our first application of HADES is to system-simulation and HW/SW-cosimulation of digital circuits and systems. However, because all simulation models, all signal types, and the simulation engine itself can be subclassed, almost every aspect of HADES can be adapted to specific needs. For example, see a simple image-processing application realized in HADES. Also, via its own special class loader, HADES is able to locate and load simulation models and accompanying software both from the local file system or the WWW.

For a detailed list of recent changes to the simulator, see the file CHANGES here (or in your distribution).
RTL counter Midi controller

HADES is a pure-Java framework for object-oriented component-based simulation. It consists first of a graphics editor to create and interact with simulation setups, e.g. digital circuit schematics, second an intuitive design and library browser, third libraries of JavaBeans compatible simulation models. Currently, we provide about 200 simulation components, most of them for digital circuit simulation, from basic gates to RT level components from basic interactive I/O to system level components like processors and LC-displays.

Please browse our gallery for some design examples, from simple gate-level circuits to complete system simulation. Or read the tutorial to learn about the concepts and usage of HADES and the first steps of programming your own simulation models.
Key features of HADES include:
  • user friendly interface
  • fully interactive simulation - no recompilation after changes to the setup
  • comlete model libraries available
  • scripting via JPython
  • WWW-enabled design and library browser
  • interactive component property editors
  • flexible waveform viewer

  • full access to the simulation engine
  • full access to all Java class libraries
  • full access to the underlying JavaFIG graphics editor
  • high-quality export of schematics, e.g. to Postscript
Simulation models for circuit simulation include:
  • basic and complex logic gates
  • all flipflops
  • 74xx series models
  • flexible and animated I/O components
  • full library of generic n-bit RT level components
  • memory components
  • system-level components (VT100, DCF77-transmitter, LC-displays, ...)
  • embedded processors for HW/SW-cosimulation
  • debugging and measurement utilities and components

  • VHDL export, e.g. to Synopsys and Maxplus2
Because HADES simulation models are written in standard Java, they can access the full Java API, including the networking and graphics libraries. This allows to write complex and system-level simulation models, which require complicated data structures, network access, or their own user interfaces.

For example, the HADES model library includes a simulation model of the VT52/VT100 terminal with its own user interface and a fully-configurable RS232 communication interface. Never again you will have to debug your serial communication circuits and programs by looking at the bit-patterns in the waveform display...

Another example are the image-processing operators and filters in the "hades.models.imaging" package and sub-packages. When writing an image-processing application, simply watch the input and output data interactively during the simulation, instead of using post-mortem analysis with external viewers after a batch-mode simulation run.

The current major goal of HADES is to provide support for Hardware/Software cosimulation of digital systems with embedded processors. For our first microprocessor model, we chose the 8-bit microcontroller PIC16C84 from Arizona Microchip, because the controller is electrically reprogrammable and therefore well suited for teaching and lab-courses. Also, the PIC controllers have a small instruction set that is very easy to learn.

We hope to release both architectural and RT-level simulation models for the Mips R3xxx processor family later this year, ready to run the ECOS-1.1 operating system and tools.

With the advance of low-cost emulation boards based on field-programmable circuits, it is now possible to couple software simulation with hardware emulation for the time-critical components. At the moment, we work to integrate our emulator board (using ALTERA FLEX10K FPGAs) into HADES.
Continuous time simulation
Sorry, but we have no public info on the coupling of discrete and continuous time simulation in HADES (yet).
WWW-enabled design browser
While older versions of HADES relied on nested context menus, the current version of HADES uses the Colibri browser ("component and library browser") to access simulation models and accompanying files via URLs, either from the local machine or from dedicated model servers. With its explorer-like tree-view to system and user libraries with simulation models and other data, the browser offers a user-friendly interface to complex simulation setups, as well as WWW-enabled search mechanism.

HADES as an applet
While HADES is best used as a standalone Java application, given enough bandwidth and a Java 1.1 compatible WWW-browser like Suns appletviewer or Java plugin, the editor can also be started as an applet. One use is to integrate HADES simulations as "live" illustrations into WWW documents.

Depending on your browser's security settings, however, the HADES applet may not be able to access files on your local system. In this case, it can access input files and simulation models via the HTTP-protocol from the applet WWW-server only. Also, note that HADES requires the Swing/JFC class libraries.

Unfortunately, neither Netscape Navigator (including version 4.7) nor Microsoft Internet Explorer (4.x, 5.x) are fully Java 1.1 compatible yet. Therefore, you may experience problems running HADES in the popular browsers.

Download area
The HADES download area: class archives, documentation, and examples.

Note: most of the following files are archives in compressed JAR/ZIP-format (extension ".zip"). Please make sure to download these files in binary mode, e.g. in Netscape use right-click, select "save link as". To unpack, use a ZIP-format packer like pkzip, WinZip, or JAR. Note that some older versions of the tools sometimes have problems with unpacking JAR-archives (like reporting zero-length files or unpacking directories without read attributes).

  • Download and install JPython if you are interested in HADES scripting.
  • Check the Javasoft homepage for new versions of the JDK/JRE runtime environment.

HADES online-documentation on this server:

  • HADES tutorial (short tutorial covering concepts, installation, basic commands, and an introduction to writing your own simulation models, PDF format)
  • HADES class documentation (javadoc-generated class documentation).

  • T-Praktikum (exercses for our lab-course accompanying the basic lectures on digital systems and computer architecture)
  • B-Tutorium (exercises and solutions for our tutorial on digital logic, gzip compressed Postscript, in German).
15.01.02 Impressum