

Logicly: a logic gate simulator - chaostheory
http://joshblog.net/projects/logic-gate-simulator/Logicly.html

======
ghshephard
I wonder how many of us will immediately try to feed a gate back on itself...
(Firefox Hung when Flash came face-to-face with infinity, I had to kill -9 it,
so be careful)

Very cool little App. Has a nice feel for a simple little Logic Gate simulator
to play with. Would be nice to see it integrated into:
<http://www1.idc.ac.il/tecs/>

~~~
duskwuff
I can't reproduce the problem... it won't let you hook an inverter to itself,
but a ring of three inverters works fine (but generates inconsistent output).

~~~
joshtynjala
Looping should work better now. I pushed a new build.

~~~
duskwuff
Odd-length loops of inverters still end up making one of the inverters enter
an inconsistent state.

(Edit: never mind, a shift-reload does wonders. Bravo!)

------
nx
Would be really cool if one could define "new gates" in terms of gates, e.g. a
half-adder, a full-adder.

~~~
nazgulnarsil
agreed. a couple slots for your own black boxing of a component would enable
fairly complex ideas to be quickly demonstrated. Could be a great teaching
tool.

~~~
likpok
Indeed. In the CS architecture class here they use Logic Works, which is only
a little higher-level, but with a much worse interface.

It is no replacement for more powerful things (e.g. FPGAdvantage), but for
didactic purposes, this is quite useful.

------
reitzensteinm
Wow, I'm surprised how rusty I've gotten. It took quite a long time to figure
out the optimal full adder.

------
zzzmarcus
Pretty cool. I think I semi-broke it (or at least found a bug):

[http://marcusvorwaller.com/look/Mozilla_Firefox-20090503-095...](http://marcusvorwaller.com/look/Mozilla_Firefox-20090503-095123.jpg)

~~~
paulgb
I'm not sure if it's a bug in this case, but I've used logic simulation
software with the same issue and it was considered a "feature". Basically,
unconnected nodes of an or-gate are considered HIGH. I suppose it makes more
sense when the AND-gate has more inputs.

Confused the hell out of me at the time, especially since I had left the
assignment to the last possible minute.

Edit: remembered the name of the software:
<http://ozark.hendrix.edu/~burch/logisim/>

~~~
sketerpot
No, that still doesn't make sense to me. The behavior of a logic circuit with
unconnected inputs depends on the implementation; in typical CMOS, those
floating inputs can do things as wacky as picking up the electrical fields of
nearby people. The proper thing to do with floating inputs is to declare them
unknown, and for any logic operation which depends on their values to also be
unknown. Most logic simulation software I've used or written has worked this
way.

~~~
joshtynjala
Makes sense. I'll keep that in mind if I make further updates to the
simulator.

------
NonEUCitizen
Suggestions:

1\. Instead of a clickable text field that says "Simulation is STOPPED" , use
something obviously clickable (obvious even when mouse is not hovering over
it), like a button, and make it say "Start Simulation" . Likewise, instead of
"Simulation is ACTIVE" , make the button say "Stop Simulation" . [more
specific version of thehickmans' suggestion]

2\. Make active the default state, i.e. the button says "Stop Simulation" by
default. [seconding psyklic's suggestion]

------
anigbrowl
Good job. This is what 'visual programming' is supposed to be like.

------
thehickmans
That is fun to play with! It reminds me of Circuit Simulator? from the MacPlus
days.

I think you should make the simulator stopped/active control more obvious.

------
sketerpot
This would be even better if it supported gate delays. If it did, then we
could make a ring oscillator by chaining an odd number of NOT gates in a
circle, and that would just be so much fun. That sort of simulation is
actually easier than it sounds; you just maintain an event queue and add a new
event to the queue whenever an input to a gate changes.

~~~
joshtynjala
A new build has been uploaded. Gates now have a propagation delay.

~~~
sketerpot
Have I mentioned that you are awesome, and so is Logicly? Because it's true.

------
mathteacher
it's a clean, visually intuitive simulator - i am using it for a high school
class learning logic. thanks for making it available

2 things i wish it had:

1) a way to save the state. sometimes students don't finish a problem in one
session and there is no way to save the partially constructed network. and of
course there's no easy way for them to give me their finished work.

2) a "T" cable to tie inputs together (for example to make an inverter from a
NAND gate. it _IS_ possible to connect both inputs to the same switch but
while the result works, it doesn't look the way we usually draw gates with
bridged inputs.

thanks again for a very fun toy

------
zhyder
If the creator of the tool is reading:

1\. Please add support for sequential logic with flops.

2\. Minor bug: the "input" and "output" labels are reversed on the left pane.

~~~
joshtynjala
Arguable on the label reversal. As someone on Reddit explained, "a lightbulb
accepts input, and switches and clocks produce output".

~~~
shard
You can argue that, but to digital circuit designers, switches and clocks are
inputs to the system you are designing, and light bulbs and LEDs are outputs
of the system. This is going against convention.

------
psyklic
Very cool! I recommend just having the simulation _always_ be active (i.e.
when I hook up a square wave generator, immediately have it generate a
signal).

------
mathteacher
a minor bug.

if a switch is connected to one input of an XOR gate but the other input is
left free, the output is low regardless of the switch state. (same if switch
is replaced by clock). Other gates (OR for example) work correctly even if one
input is left free.

thanks again for a cool app

------
longint
I wish it had a tri-state buffer.

------
gojomo
Anyone else ever play "Rocky's Boots" back on the Apple ][?

