The ECEToolkit simply allows you to connect some logic gates to inputs and outputs. When you have a fully connected circuit, a truth table will be generated and displayed.
How to get started:
The file is here, http://vanjulio.swiki.net/.uploads/ECE.cs.
When you file this into an image the postscript code will open up a Toolkit box. This is meant to be just like the Object Catalogue. -Just drag and drop pieces from the toolkit and then wire them together with the connection wire.
Note that also you can branch wires off each other...
Try starting a new connecting wire from an existing connection inside your circuit.
This allows you to sample intermediate values within the diagram.
The truth tables are triggered by the connecting wire: any time a wire is adjusted and the circuit diagram is complete, the truth tables values for the inputs and outputs will be generated.
There are a variety of limitations at this stage of development:
The circuits cannot be built with cycles.
Cycles of course are necessary in circuit design to make things like registers, latches, flip-flops, etc.
The attachment points of the gates are arbitrary and need to be fixed to exact points on the morph's graphical form.
7/1/03: this has a fairly simple correction available within the connectors attachment point protocol. I just havent gone back to hook into that protocol yet.
The gates only provide 2 input channels. The underlying code provides scalability to an arbitrary number of inputs, but I didn't want to deal with the complexity of variably sized logic gate widgets in the toolkit itself.
Besides, the clever user can implement an arbitrary number of inputs to a single gate function by chaining 2:1's together.
A future goal would be to combine boolean algebra symbolic expressions with the truth tables — but as of now the system has very little designed into it to allow such a mapping between concepts.
Ideally, this would be easily implemented into a proper ECEToolkit. Would free all students from having to work with paper and pencil?