We have a bit of a love/hate relationship with tools in the web browser. For education or just a quick experiment, we love having circuit analysis and FPGA tools at our fingertips with no installation required. However, we get nervous about storing code or schematics we might like to keep private “in the cloud.” However, looking at [Lode Vandevenne’s] LogicEmu, we think it is squarely in the educational camp.
You can think of this as sort of Falstad for logic circuits (although don’t forget Falstad does logic, too). The interface is sort of graphical, and sort of text-based, too. When you open the site, you’ll see a welcome document. But it isn’t just a document, it has embedded logic circuits in it that work.
The problem is though that they aren’t conventional symbols. A switch is an “s” and an LED is an “l,” for example. An AND gate is an “a” in a box. An “A” in a box is a NAND gate (and, yes, an “O” is a NOR gate). This is a little unsettling, but you get used to it quickly and when you see how to create your own circuits, you’ll understand why it is like this.
Across the top of the page are some drop down boxes. You can open help documents or example circuits there. You can also navigate through the list with the arrow buttons in that row. There’s an import button and a link to GitHub.
The second row controls the operation of the live circuits. In sequential mode, the clock runs free and the ticks in the middle of the row increase steadily. Combinatorial mode holds the clock until you click on something like a switch and then does one tick. The electron mode is slower and works for certain feedback loops. Finally, the investigate mode runs under your command and does not introduce randomness that electron mode does to disturb flip flop metastability.
The next three buttons are straightforward. They control the clock tick. The boxes after the clock tick count are where you can start seeing why the text-based format is useful. You can change the graphical dropdown to text and see that all the graphics are really just embellishments of ordinary characters. Wires, for example, are dashes, stars, slashes, and other semi-graphical characters. The help explains it all.
If you press edit, you’ll get a simple text editing box and you can make your changes or do a new circuit. You can also copy and paste from here to save your circuits for a later import. The change drop down lets you modify a game into something else at run time, but you can’t alter things like wires.
You can run any of the examples and get a good feel for how it all works. The one in the top image is an 8-bit adder. However, we were sorry the examples didn’t use some of the more exotic components like a JK flip flop, a tristate LED, or an ASCII terminal. On the other hand, if you write something, you can always contribute it back with a pull request. The code is all JavaScript, so it should be fairly easy to make serious additions, too.
While the simulator definitely represents out-of-the-box thinking, we aren’t sure we’d try to use it for education. After all, people would just have to learn the real symbols later. There are more conventional simulators available, after all. Plus there’s always Falstad and several of the online Spice products, to choose from. Still, this an interesting tool with some different simulation methods, so for your own use, you might find it interesting.
I can see a synthesis of graphical/textual in that one can bring to bear programming tools to the problem space.
When I open the site, I do see an example with a JK flipflop.
Yeah I see it now too. Hmm… I don’t know if they added a bunch of stuff since I wrote this or I just didn’t scroll list down, but there are a LOT of examples and I don’t remember seeing most of them before.
The flip flop tutorial DOES have JK in it.
Is that a jk?
B^)
Holy cow this is neat. I’ve been meaning to spend some good quality time with a logic simulator tool.
There a lot of news in Logicemu! for 2020 Are :::::::::::::
– new circuits like “interger power”
– built-in ALU without logic gate
– statistic button
– jack for manually wire
– new themes
– new editor experimental
I use Logicemu Because Is :::: The Circuitery’s Number One