News & Updates

Version released.

21 March 2017

Python scripting language is now embedded in LogicCircuit. Please download and start automating your circuits.

Version released.

20 September 2016

Japanese translation and bug fixes release is available for download.

Version released.

3 June 2016

New translation and bug fixes are available for download.

Version released.

21 October 2015

New version is available for download.

Version released.

28 July 2015

Persian translation available for download.

Version released.

26 June 2015

Please download fix of one nasty bug.

Version released.

16 June 2015

New bug fix release available for download.

Version released.

24 March 2015

New translations are now available. Please download the program and give it a try.

Version released.

6 January 2015

LogicCircuit now translated to Lithuanian. Please download and give it a try.

Version released.

16 December 2014

Release with new features, bug fixes, and translation is here for download.


Consider the following circuit built in the real life:


Here is NAND gate receives constant "1" and its own output as an inputs.
So when the output is 0 it will switch to 1 and immediately after this back to 0. So it will oscillate until one turn off the power. The frequency of the oscillation will depend on parameters of transistors and resistors the gate is built from.
In order to control the frequency of the oscillation one need to add some sort of electrical reactance to the circuit. This will allow changing the frequency of oscillation by altering impedance of the reactance. But again in the real life the generated frequency want be stable enough and hence usually a special clock circuit are used instead. Such clock gate is available for you in the Logic Circuit program:

Clock gate

Now taking in consideration that there no easy way to control frequency of oscillation and the fact that the program has clock gate I can think of couple of ways to deal with self oscillating circuits like the one above. One way is to detect the oscillation and stop simulating because otherwise there is no way to control how many oscillations happened during one tick of the clock. The second way is to add some more realistic reactance elements. Apparently adding more realism want ends with just a reactance. Next you will need to match impedances, set some realistic delays on gates, and many other restrictions and complications that usually real hardware engineers facing. And this of course will shift the program from simple and free to professional and very expensive category.
That is why oscillations are not allowed in Logic Circuit and if you try to power up the above circuit the execution will be aborted, power will be turned off, and a message box "Oscillation" will pop up.