GUI Source Code Guide - StanfordVLSI/Genesis2 GitHub Wiki
Javascript modules *.js live in the top-level source code directory $CHIPGEN/gui, as does the gui template 0-main-template.php
Subdirectories include: cgi, designs, (scratch?), xml-decoder
vlsiweb:/usr/lib/cgi-bin/genesis links to the cgi subdirectory and is thus available via the URL http://vlsiweb/cgi-bin/genesis. Among the files in this directory:
- choosedesign.pl - Builds a form whereby the user chooses a design to modify via Genesis. choosedesign.pl uses this information to call opendesign.pl
- opendesign.pl - Uses 0-main-template.php to build and jump to a Genesis instance (instance?) whose database consists of a user-specified design. For now, the database must have been pre-translated from XML to JavaScript objects. In the future, the translation will be done on-the-fly. (Really?)
- updatedesign.pl - After the user modifies a design and presses "Submit," the GUI sends XML-format changes to updatedesign.pl, which calls updatedesign.csh, which calls Genesis2, which updates the design database with the new changes.
The gui/designs subdirectory contains
- sample design subdirectory tgt0 containing multiple user-generated variations;
- <b>mkdesign.csh</b> uses "make" command to generate an xml database for a given design;
- <b>updatedesign.csh</b> called by <b>updatedesign.pl</b>, see above;
opendesign.pl uses the gui/scratch subdirectory to build intermediate files necessary to put together a design base.
Now No longer powered by Python !!
- xml2js.csh in this directory transforms an XML design database into JavaScript data structures used by the GUI.