Shortcomings
Logisim's propagation algorithm is more than sophisticated
enough for almost all educational purposes; but it is not sophisticated enough
for industrial circuit design. In order from most damning to least
damning, the shortcomings of Logisim's propagation technique include:
- Logisim cannot simulate subcircuits whose pins sometimes behave as
inputs and sometimes behave as outputs. Components built within Java can
have such pins, though: The D input on the Memory library's RAM circuit is
an example.
- Logisim cuts off its simulation after a fixed number of iterations
assuming that there is an oscillation error.
Conceivably, a large circuit that does not oscillate could lead to
trouble.
- Except for the issue of gate delays, Logisim does not concern itself with
timing issues. In particular, it will not identify race errors, where
the circuit's behavior can depend on gate delay variation or in how fast
values run down wires. Consider the following "fixed" version of the
Const0 algorithm from earlier.
If you were build this circuit in real life and try changing the input
from 0 to 1, it could be that the Buffer
gate happens to outrun the NOT gate,
in which case the output would instantaneously be 1; but if the NOT gate
outruns the Buffer, the output would never sway.
Also, when the input changes from 1 to 0, the output could again be
instantaneously 1 should the NOT gate outrun the Buffer.
In Logisim's simulation, however, the values will always arrive to the
AND gate simultaneously, and as a result the ouput will always be 0.
- Logisim does nothing with respect to discriminating between voltage levels:
A bit can be only on, off, unspecified, or error.
- There are additional shortcomings, too, that I have omitted
because they are so obscure that if you were aware of them, it would be
obvious that Logisim comes nowhere close to that level. As an extreme example,
I have a friend who works for IBM on PowerPC reliability; his job is to
worry about "bubbles" in the nanometer-wide wires growing and leading to random
disconnection.
- Even beyond this, I am not a circuit design specialist;
thus, there may well be errors in the propagation technique
of which I am not aware.
If you're in a situation where more realistic simulation is important, you're
going to have to fork over big bucks to purchase an industrial-strength
package.
Next: User's Guide.