The SIGNALSIM software package
========================

This directory contains the code and a sample TCL/TK script for the 
SIGNALSIM educational spiking neuron simulator.
Primary components of the system include
    1)  The C code to implement the various widgets used in the scripts.
    2)  A script defining the topology of the network and output files.
    3)  output files.

TopLevel Directory
------------------

FILES:      This file.
INSTALL:    Description of how to install the system.
README:     Basic overview and up-to-date information.
USERDOC:    How to run the system.
signalsim:  The program (once compiled; automatically moved here by MakeFile)


Code (under src subdirectory)
-----------------------------

main.h:  Definitions of global data types and constants, including new
         Tcl/Tk widgets. 
main.c:  handles graphics and TCL/TK initialization.

Each of the following files implements widgets that can then be used in
a script and has a corresponding .h file which contains definitions specific 
to that widget (where they are not global, in which case, they are already 
specified in main.h).

neuron.c:   implements the code to handle neuron widgets.

network.c:  implements the code to handle how neurons are connected to
	    each other.

Scripts (under scripts subdirectory)
------------------------------------

net.tcl:        a sample annotated script that implements a very simple
                three-neuron network with some feedback connections.
and-simp.tcl:   a simple and gate (composed of three neurons)
xor-simp.tcl:   a simple xor gate (composed of five neurons)
xor00-rob.tcl:  a robust xor gate (five neurons with many connections)
xor01-rob.tcl:  a robust xor gate (five neurons with many connections)
xor10-rob.tcl:  a robust xor gate (five neurons with many connections)
xor11-rob.tcl:  a robust xor gate (five neurons with many connections)

See USERDOC for details.
