GUI Source Code Guide

From Genesis2
Jump to: navigation, search

Source Code[edit]


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:

  • - Builds a form whereby the user chooses a design to modify via Genesis. uses this information to call
  • - 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?)
  • - After the user modifies a design and presses "Submit," the GUI sends XML-format changes to, 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;
  • mkdesign.csh uses "make" command to generate an xml database for a given design;
  • updatedesign.csh called by, see above;

$CHIPGEN/gui/scratch[edit] 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.