BrownCode is a simple circuit simulator. All wires are strictly binary. Signals are propagated using a combination of synchronized and unsynchronized updates. When an event happens, it updates all of the wires connected to it. These wires will update their neighbors, causing a flood-fil effect. To fix the problem of circular dependencies (ie. a gate's output is directly or indirectly fed back into its input), all nodes that are not wires are synchronized with a global clock. This effectively adds a flip-flop synchonization to the output of each gate.
Example of the BrownLogic circuit editor.