Original GUI Installation Details

From Genesis2
Revision as of 18:04, 30 March 2011 by Shacham (talk | contribs) (Adding your design to the GUI)

Jump to: navigation, search

Interactive Genesis2 GUI

(NOTE: should probably include a link to the actual gui: http://www-vlsi.stanford.edu/ig)

Installing the GUI

Unpack the tarball such that <path> is the name of the top-level directory containing "index.htm". For instance, on our machine <path> is "/home/steveri/ig" and the full pathname for index.htm is "/home/steveri/ig/index.htm".

Use symbolic links to connect the top-level directory to your web server e.g. in our installation we did

 % ln -s /home/steveri/ig /var/www/homepage/ig 

such that the URL "http://www-vlsi.stanford.edu/ig" takes you to "index.htm" and starts the gui.

Similarly, connect the <path>/cgi subdirectory to your web server's cgi-bin directory; for instance, in our installation this is accomplished by

 % ln -s /home/steveri/ig/cgi /usr/lib/cgi-bin/ig

The GUI calls an "update" perl script using the URL "/cgi-bin/ig/updatedesign.pl" (see "Button_SubmitChanges.js). You can test this by visiting the URL; e.g. if you visit "http://www-vlsi.stanford.edu/cgi-bin/ig/updatedesign.pl" you'll see a valid error message output: "ERROR: new design name is null." This indicates that the perl script is in the right place (for Stanford's installation!)

At this point you may have to mess around with permissions a bit to get everything working...good luck with that.

Adding your design to the GUI

To add a new Genesis2 design to the gui:

1. Link the new design ("mydesign in the exmaple below) to the gui's design directory:

    % ln -s $MYPATH/mydesign ~steveri/ig/designs/mydesign

2. Make sure the new design has a SysCfgs subdirectory where the gui can write temporary change files:

    % mkdir mydesign/SysCfgs

3. Make sure the makefile in "mydesign" supports the following syntax (needed when gui calls "updatedesign.csh")

    % cd $MYPATH/mydesign
    % make gen GENESIS_HIERARCHY=new.xml GENESIS_CFG_XML=SysCfgs/changefile.xml

4. Make sure the gui has read/write permissions for the design directory and change subdirectory (may need to be root for this to work). In the example below, group "33" is a group that is writable by the web server, so that the gui can read and update files. You may need to login as root/admin to run the chgrp command.

    % chgrp 33 $MYPATH/mydesign $MYPATH/mydesign/SysCfgs
    % chmod g+w $MYPATH/mydesign
    % chmod g+w $MYPATH/mydesign/SysCfgs

5. make sure "mydesign" contains at least one seed hierarchy file e.g. "baseline.xml"

6. That's it! The new design should now magically appear in the gui.