Interactive Genesis2 GUI

From Genesis2
Revision as of 19:43, 26 November 2012 by Steveri (talk | contribs) (TBD: How to test and install the GUI(s) for distribution)

Jump to: navigation, search

The Genesis2 GUI is a friendly internet browser-based graphical user interface that lets you quickly and easily design custom chips. It reads and manipulates the convenient XML chip format provided by the Genesis2 chip generation system.

The GUI can run as part of a new or existing standard web server, such as apache, and/or it can run as a standalone in user space using its own perl-based mini-webserver. The apache-based GUI is called the standard GUI, the original GUI or just "the GUI," while the mini-server version is known as "Stewie the standalone GUI." A third, non-server-based version of the GUI, called guisada the true standalone GUI, uses a command line interface to call the GUI perl scripts directly. Guisada is useful to help the GUI developers debug their scripts, but is not generally recommended for end users.

In sum, there are three flavors of GUI:

  • the Original GUI, designed to run under an existing web server installation such as apache;
  • Stewie the Standalone GUI, designed to run in user space; and
  • Guisada, which for development purposes can run the GUI perl scripts directly from the unix command line.

If you want to try them out, there's usually a standard gui running here (hosted by www-vlsi), and a Stewie gui can often be found running here (neva-2) or here (kiwi).

Flavors of GUI: A Brief Guide

See "GUI Install and Setup" below for more detailed instructions concerning setup and install for each flavor of GUI.

Original GUI

  • Runs in its own space on vlsiweb via the vlsiweb server (apache).
  • Visible to the world as "".
  • Requires root access with a difficult and error-prone installation and setup process.

To use: point browser at "".

Stewie the standalone GUI

NEW: See StewieTheStandaloneGUI

  • Runs in a safe space designated by you, e.g. "/tmp/mystewie".
  • Visible to everyone inside the firewall as e.g. "http://hostname:8080/".
  • Easy setup and installation, no root access required.

One-time setup, create your own mini-server:

 % $CHIPGEN/gui/bin/stewie start /tmp/mystewie

To run: point browser at your mini-server e.g. ""

Guisada standalone GUI (deprecated / not actively maintained)

  • Runs in your design directory e.g. "/home/steveri/mydesign/".
  • Visible only to you as "file:///mydesigndir/scratch/mydesign.htm".
  • Easy setup and installation, no root access required.

To use:

  % cd /home/myname/mydesign/
  % $CHIPGEN/bin/guisada mydesign.xml

Brief setup and usage instructions for each flavor of GUI

Original GUI setup and usage

The original GUI will have been installed along with Genesis2 according to the Genesis2 installation instructions at

This should set up an environment variable "$GENESIS_HOME" such that your gui source will be found in a directory "$GENESIS_HOME/gui".


 % cd $GENESIS_HOME/gui/configs/install
 % sudo ./

Use: point browser to installed URL e.g. ""

For detailed information see Original GUI Installation Details.

Stewie setup and usage

Stewie comes with the general Genesis2 release. Follow Genesis2 installation directions and Stewie will naturally be in your command path (generally as something like $CHIPGEN/gui/bin/stewie).


 % stewie start /home/myname/stewie

Use: point browser to installed port e.g. ""

Guisada setup and usage (deprecated / not actively supported)

Setup: Unpack the tarball as described in "Original GUI" instructions above.

 % mv gui.tar.bz2 /tmp/unpack
 % cd /tmp/unpack
 % tar xjf /tmp/unpack/gui.tar.bz2

Use: Assumes you have a Genesis2 design directory /home/myname/mydesign containing at least one design mydesign.xml

 % cd /home/myname/mydesign
 % /tmp/unpack/gui/bin/guisada mydesign.xml

Developer's Notebook

Preparing an official release

Read and follow the directions in


where $GUI is the gui development directory.

Installing Original GUI on vlsiweb directly from the development directory