News & Updates

Version 1.9.9.15 released.

15 Sep 2009

The new version of Logic Circuit program is ready to download.

Version 1.9.8.3 released.

03 Aug 2009

The new version of Logic Circuit program is released. Please download it and try.

Version 1.9.7.20 released and new help is available.

20 Jul 2009

It was a demand to improve editing of the circuits expressed by many users. The new release is addressing it. Please download it and read new help to see how to use all the features of LogicCircuit.

New version is released.

30 Jun 2009

The new version of Logic Circuit program is released. Please download it and try all new cool features.

Website is redesigned.

26 Jun 2009

This website is redesigned and has got a brand new look and feel.

The web site is created!

14 Jun 2009

Now there is a place where people can discuss circuits, exchange ideas and ask questions.

Memory components (RAM and ROM)

ROM

For the definition of the ROM acronym please see http://en.wikipedia.org/wiki/Read-only_memory. In the Logic Circuit program ROM has one input pin allowing setting the address of the data, and one output pin set to the value of the memory cell located at the provided address. There is no extra signals should be set in order to read the data and of course there no way to change the data in the ROM via its pins.
However the ROM can be "programmed" or filled with desired values in the edit mode of the Logic Circuit program. In order to do these double click the ROM’s symbol on your circuit and the ROM dialog will pop up.

ROM Dialog

In the dialog you can change bit width of both address and data pins. When you changing bit width of the address pin you will see the number of available cells get updated while changing of the data bit width will affect the size of each cell. The number of cells is a power of 2 of the address bit width and the maximum number allowed in each cell is power of 2 of data bit width.
In order to change value stored in a cell click it in the Data greed or move focus in the greed and navigate to the desired cell with you arrow keys and just type a new value. Value must be entered in hexadecimal format. You can also load values from a binary file. In order to select the file click "Load..." button and file open dialog will pop up.

RAM

For the definition of RAM acronym please see http://en.wikipedia.org/wiki/RAM. In the Logic Circuit program RAM has 3 input pins and one output.
The first input pin is address pin where you can select the cell you are reading or storing the data to. The second pin is input data pin. The circuit should send the data to store to this pin. The third input pin is one bit RAM write signal. The data get stored when the value on this pin is changing in the specified way. In order to specify the time of storing the data double click symbol of the RAM on your circuit and RAM dialog will pop up (see below).
The only output pin of the RAM is output data. It works exactly like output pin of ROM.
Unlike ROM the values in the cells of the RAM can’t be "programmed" but other properties of the circuit can be adjusted. In order to change RAM’s properties double click its symbol on the circuit diagram while in edit mode and RAM dialog will pop up.

RAM Dialog

Like in ROM you can change bit width of the address and data pins. Obviously the bit width of input data pin will be equal to bit width of output data pin so it is only one data bit width drop down there.
In the "Write on" drop down you can choose storing behavior of the RAM, so it will store the data when signal on "RAM write" input pin will change from 1 to 0 or vice versa.

Run time

In the running mode you can browse content of the memory component by double clicking it symbol on your circuit. The memory dialog will pop up.

Memory Dialog

Note that RAM will be filled with random data after the circuit powered up. So it is circuit responsibility to "clean" or fill it up.
Please see Splitter to learn how to make multiple bits wires.
To get a feeling of the memory units please connect each of them with constants and probes and change the values and see what is the outcome is.