GUI Source Code Guide - StanfordVLSI/Genesis2 GitHub Wiki

Table of Contents

Source Code

<b>$CHIPGEN/gui</b>

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

<b>$CHIPGEN/gui/cgi</b>

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.

<b>$CHIPGEN/gui/designs</b>

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;

<b>$CHIPGEN/gui/scratch</b>

opendesign.pl uses the gui/scratch subdirectory to build intermediate files necessary to put together a design base.

<b>$CHIPGEN/gui/xml-decoder</b>

Now No longer powered by Python !!

  • xml2js.csh in this directory transforms an XML design database into JavaScript data structures used by the GUI.

BUGS/TODO

Links

⚠️ **GitHub.com Fallback** ⚠️