Author: Anish Malhotra
Project: SpiTran
Date: 23 April 1999 anish
16 July 1999 anish
23 August 1999 mrl - Java classes have been renamed

An introduction to SpiTran's Design

list of the files:

s2iMain.java | The Main UI window.
s2iNewProject.java | opening a new project
s2iProjectSetup.java | setup- indicating the SPICE file and libs - UI
s2iDBOpenListener.java | Defines the interface DBOpenListener
s2iDBReadWrite.java | Reader and Writer (Open and Save) of the Project.
s2iSpiceData.java | SPICE file data - data structure -one time read
s2iSpiceReader.java | For reading a SPICE file
s2iLibReader.java | For reading a SPICE Library - extends SpiFileReader
s2iAudit.java | SPICE file preparation
s2iCktInstantiator.java | Circuit Instantiations
s2iSubCktTableModel.java | Circuit Instantiations - subCktTable Model
s2iInstCktTableModel.java | Circuit Instantiations- instantiationTable Model
s2iConfigureNodes.java | configuration of Nodes - UI
s2iConfigTableModel.java | configuration of Nodes - TableModel
s2iTransOptions.java | s2i file preparation - UI
s2iData.java | s2i file preparation - data structure
s2iReader.java | s2i file preparation - reader
s2iWriter.java | s2i file preparation - writer
s2iProcess.java | Executing the translation -
s2iRunStatus.java | Executing the translation - UI
s2iError.java | Central message printing class
s2iGlobals.java | Holds the global values of variables.
s2iProperties.java | Support for hierarchical properties
s2iQuitDialog.java | UI confirmation before quitting the tool

The modules these file form and the interaction between these modules has been captured in the diagrams below:

New project creation:

> Brings up the 'New Project' form. It performs two basic checks:
> - checks whether the location where this project is to be created exists and is writable or not.
> - confirms that the project Name is not invalid. For this, each and every alphabet of the name should return true for isjavaLetterOrDigit().
> FILES
> s2iNewProject.java

Read Sub-circuits:

SPICE File Reader s2iSpiceReader.java
Subcircuit Table Model s2iSubCktTableModel.java

Circuit Instantiator

Circuit Instantiator: s2iCktInstantiator.java
Subcircuit Table Model: s2iSubCktTableModel.java
Instantiated Circuit Table Model: s2iInstCktTableModel.java

Configure Nodes:

Instantiated Circuit Table Model: s2iInstCktTableModel.java
Configure Nodes UI: s2iConfigureNodes.java
Configuration Table Model: s2iConfigTableModel.java

Command File Setup:

s2i Reader: s2iSpiceReader.java
s2i Writer: s2iSpiceWriter.java
s2i File Data: s2iSpiceData.java
GUI: s2iTransOptions.java

Execution:

Run Status GUI: s2iRunStatus.java
batch: s2iProcess.java

Open/Save

Globals: s2iGlobals.java
DB Reader-Writer: s2iDBReadWrite.java