top | item 1702112

Logicly - the digital logic simulator

98 points| shawndumas | 15 years ago |logic.ly | reply

45 comments

order
[+] jazzychad|15 years ago|reply
This. Is. Awesome.

I was a CS student, but we had to take some intro Computer Engineering/circuit logic theory classes. I loved it, but we only did things on paper (and I didn't want to buy a whole breadboard kit just to play with simple logic circuits, etc...). I wish this was around when I was learning because I really wanted to play with making more complicated setups than we did in class.

This is like the Balsamiq of Circuits with the added bonus of running the stuff. Yes, being able to snap wires to a grid would be nice, but I'm having a blast with this right now.

[+] joshtynjala|15 years ago|reply
Thanks! I was actually inspired to do this while studying CS at university. My professor used a simple Java applet to demonstrate logic gates, and I quickly saw that it could be improved quite a bit. A few years later, I finally decided to play around with the idea as a weekend project, and it's been progressing from there.
[+] seltzered|15 years ago|reply
We had some software at UT for EE 316, it was made back in the 90's though. It basically showed 1/0 states, let you probe areas in the logic, and had some ways to represent the logic as equations.
[+] scarboy|15 years ago|reply
This looks like a neat piece of software to put on the web. It is, however, lacking usability. As a student learning digital design, you want circuit diagrams to be clear and results to be easily and quickly visible.

Wires between nodes are laid out automatically and can not be routed on a grid. In a big design (not that this is meant for that) things will get messy quickly.

You have to click simulate to see the results of your circuit. This is annoying. These circuits are simple and the output can easily be detected whenever a change is made.

Another useful feature is the have keys (0-9) mapped to switches. Testing, for instance, a four bit multiplier would be much easier if you don't have to operate the mouse so much.

I hate to recommend another piece of software, but I think the authors can learn a lot from it's features. Atanua (http://sol.gfxile.net/atanua/) is a cross-platform logic simulator that has all of the above features. It was a great tool when I needed to quickly prototype something for a class, and I still recommend it to students in a class I TA. It hasn't been updated in a while, the OSX version has to be run through Rosetta, but I can't see any glaring omissions the author made that would make it unusable.

Finally, it's 2010, this would make an awesome HTML5 app instead of being written in Flash.

[+] joshtynjala|15 years ago|reply
Older versions let you simulate the circuit in real time without going to a separate view. It wasn't that the performance was a problem or anything. In fact, I had to write extra code to create the separation. Rather, I found that the actions of pausing, resetting, and stepping through the simulation didn't feel quite as clean when you could modify the circuit at the same time. I might bring back real-time simulation if I can find a way to do it that feels more natural.
[+] astrodust|15 years ago|reply
Can someone explain why Flash 10.1 is required to display ones and zeroes?

I'm done installing any future versions of Flash, especially with all the crap they've started bundling it. I fully expect that Flash 10.2 will include anti-virus software, toolbars, and something that periodically reminds you that you're ugly.

[+] natemartin|15 years ago|reply
It asked me to update flash, and restart my browser. After that, I just get a grey screen. Edit: Safari 5.0.2, Snow Leopard, Click-to-flash installed, but with logic.ly whitelisted.
[+] edanm|15 years ago|reply
First impression from a few minutes messing around: this is really beautifully made.

One suggestion: I have no idea who/what this is for. The front page certainly tells me what this is, but I don't have any use case. There's a big difference if this is just for fun, or if this is a serious tool for actually designing things, and you'd better let people know asap which this is.

[+] joshtynjala|15 years ago|reply
The main audience I'm going for, at least for now, is education. I had an earlier demo on my blog for a couple years, and instructors and students frequently emailed me to say thanks, and ask for more features. It's been well-received for classroom demos and stuff like that.
[+] ludwigvan|15 years ago|reply
Really impressive! I might advise it to instructors at our dept; so knowing who/what this is for would be good for me too.
[+] Groxx|15 years ago|reply
Very impressive as a demo, but it needs more before it can be really used. It's a bit slow, there are nowhere near enough units, and I see no way to save / load sub-circuits. And try the counter: there's an interesting one-digit-ahead flicker prior to some numbers (haven't looked closely at why) that probably shouldn't be there.

edit: one more thing occurred to me: while stepping through the animation, indicators as to what wires are currently being checked would be helpful. Otherwise you just see blue-blue-nothing.....-blue-blue-light.

[+] joshtynjala|15 years ago|reply
Yes, it is a demo. Save/load will be available when it is released as a desktop app. As for the counter, it's working properly. Ripple counters simply aren't stable during transitions, but they make a good sample because they're simpler than other types of counters.
[+] joshtynjala|15 years ago|reply
I forgot to ask you something in my previous reply. You say that there are nowhere near enough units. Which ones are missing that you think are most important?
[+] JabavuAdams|15 years ago|reply
Before clicking the link I thought "Meh, another lame .ly startup" ...

But, that's seriously cool. It reminds me of Rocky's Boots for the Apple ][

[+] mkramlich|15 years ago|reply
writing a Rocky's Boots clone has been on my TODO list for like 10 years, among other things. note to anybody else thinking of making it: I'd buy a copy!
[+] gojomo|15 years ago|reply
I stayed home from school to Rocky's Boots.
[+] wrs|15 years ago|reply
It might be educationally useful to be able to show propagation delay for the gates graphically -- actually show the signal "flowing" through the circuit. It would make it easy to demonstrate where glitches in a clocked circuit come from, which is hard to internalize by just staring at a diagram.
[+] _exec|15 years ago|reply
Ah yes, I remember Logic.ly :) It was the inspiration for my object oriented design class project. I had to implement a logic gate simulator in .NET last semester and I stumbled upon it while doing research on the Internet. Very well made, kudos to whoever made it!
[+] nitrogen|15 years ago|reply
Interestingly enough, I was thinking about this very domain name for a very similar application. I've written a logic simulator (of sorts) in C with a Qt frontend that supports multiple data types on wires, designed for home automation.
[+] chandika|15 years ago|reply
Very nicely done! I think the separation of simulation is makes it more sensible.

We did something similar in the earlier days of Creately, but ended up focusing on more diagramming and less simulation as time went by.

I think use cases like this belong purpose built apps like Logic.ly - a lot more UX optimization can be done.

You can play with an example of a Multiplexor with simulation if you are interested - https://creately.com/creately-start?tempid=fvtdhokh2

Nothing fancy really. Use the "Properties" panel to change signals of inputs. The UX can be better - bringing me to the point of purpose built apps. :)

[+] pak|15 years ago|reply
If you like this, you might like http://quickfuseapps.com , which is basically logic circuits for voice apps. Demo calls are free.

Also, QuickFuse doesn't use Flash, it's pure JavaScript and canvas, so in my experience it's a bit more performant. (Full disclosure: I wrote code for QuickFuse.)

Incidentally, is it just me or are circuit-based apps becoming more popular? It seems like it is becoming a more accessible paradigm to more people, and the web (well, ignoring Flash) is now able to robustly provide such UI's.

[+] joshtynjala|15 years ago|reply
While JavaScript is now a bit faster than ActionScript in some browsers, I think most benchmarks are still showing that Flash Player renders graphics faster than Canvas.

Is there any part of Logicly in particular that felt slow to you? Please note that signal propagation does intentionally limit the speed of the simulation at the moment. However, dragging objects around on the design canvas felt exactly the same to me when I tried it in both Logicly and QuickFuse in Flash Player 10.1 and Chrome 6 respectively.

[+] k4st|15 years ago|reply
Not related to post, but that is a really beautiful web application.
[+] nightlifelover|15 years ago|reply
Is there a tutorial, for those not so familiar with electrical engineering? Also I would like to know how exactly DRAM or SRAM works, is it possible to illustrate using this simulator?
[+] crazyjimbo|15 years ago|reply
It took me far longer than it should have to get started. After clicking on the oscillator circuit I kept trying to flip the switch like your instructions say but what I didn't realise was that I had to be in simulate mode to do this. The button that makes this obvious is tucked away in the bottom left had corner - the last place I ended up looking.

Once I figured that out though I enjoyed using it.

[+] joshtynjala|15 years ago|reply
Thanks for the feedback. I'm probably going to play around a bit more with the UX for the simulation, and this info helps.
[+] zitterbewegung|15 years ago|reply
If I were using this in a computer architecture class I would probably want to have subdesigns and a great deal more components. The things you can do with this are sort of limited without these features. Also, I would need to have waveforms. It looks pretty good though.
[+] joshu|15 years ago|reply
there needs to be a time-series view.