Wires, nets, and junctions
How signals travel and branch through a circuit
A net is the set of everything electrically connected by wire. Wires that cross only join where a junction dot marks them, a signal can branch to many gate inputs safely, but driving one net from two outputs at once causes contention.
Builds onSignals: 0, 1, Z, X
Build it in the lab →From signals you know a wire can be driven (
0/1), undriven (Z), or fought over (X). This lesson is about *which* pins actually share a wire, because that is what decides those values. Most beginner bugs in this simulator are not wrong logic, they are two things you thought were connected that are not, or two you thought were separate that are not.A net is the set of all wire segments that are electrically tied together. Any two points on the same net share the same value at all times. When you place a component, each of its pins joins exactly one net.
Junctions: the only reliable sign of a connection
Two wires can cross on the canvas without connecting. A bare crossing is just a visual overlap, like one road bridging over another. A junction dot is the only thing that electrically joins wires where they meet. Without a dot, the crossing wires stay on separate nets and carry independent signals.
Always look for the junction dot before assuming two wires are connected. If you expect a branch but the downstream probe shows
Z, a missing junction is the first thing to check.Fanning out: one signal, many readers
You can safely branch one driven wire to as many gate inputs as you like. Every input on that net reads the same value, because they are literally the same node. This is called fan-out, and you will use it constantly: a clock line feeding every register, one data bit feeding several gates. The simulator imposes no fan-out limit. (Real hardware does, but at the switch level of this course you can ignore it.)
A and B each branch (fan out) into two gates at once. Both branches are the same net, so both gates read the same bit.Multiple drivers: when nets go wrong
Fan-out adds readers, which is always safe. Trouble starts when a net has more than one driver forcing different values: one path pulling to
1, another to 0. That is the contention (X) you met in the last lesson, and in real silicon it is a short between VCC and GND. The four cases:- One driver, any number of readers: safe. The net carries the driver's value.
- No driver, any number of readers: the net floats to
Z. Every reader seesZ. - Two or more drivers that agree: works in the simulator, but still a design smell to avoid.
- Two or more drivers that disagree: the net becomes
X, a short circuit. Fix it by making sure only one thing drives the net at a time.
That last rule (only one driver at a time) becomes a real design tool later: a bus, the shared 8-bit highway inside your CPU, is one wire that many parts can drive, but only one at a time, gated by tri-state switches. The discipline you learn here is exactly what keeps that bus from shorting.
Tracing connectivity when something looks wrong
When a probe shows an unexpected value, follow the wire back from the probe toward its source. At every branch point, confirm a junction dot is present where the wires should join. If a segment dead-ends at nothing, that net has no driver and floats. If two outputs land on one wire with nothing isolating them, you have contention.
A wire that looks connected on screen may not be. The join only exists where a junction dot is visible. When in doubt, delete the crossing and redraw it so the editor places the dot explicitly.
Check yourself
One output wire branches to feed five gate inputs (all readers, no other drivers). Is that net safe? Now suppose two of those branches are actually outputs of different gates pushing opposite values. What does the net read?
Answer
One driver feeding five readers is perfectly safe: fan-out adds readers, never conflict, and all five read the same value. But two outputs forcing opposite values onto the net is contention: the net reads
X (a short). Readers are free; extra drivers are the danger.Spot the fault
A (driver)1branch 11branch 2 (probe)Z
Look at branch 2 (probe)
Float (Z)
The two branches look connected on screen, but there is no junction dot where they meet, so the probe sits on a separate net that nothing drives and reads
Z. Redraw the crossing so the editor places the junction dot, and the driver's 1 will reach it.Frequently asked
What is a net in a circuit?
A net is the set of all wire segments that are electrically tied together. Any two points on the same net share the same value at all times, and when you place a component each of its pins joins exactly one net.
Do two crossing wires connect automatically?
No. A bare crossing is just a visual overlap, like one road bridging over another. A junction dot is the only thing that electrically joins wires where they meet; without a dot, the crossing wires stay on separate nets and carry independent signals.
What is fan-out, and is it safe to branch one wire to many gates?
Fan-out is branching one driven wire to many gate inputs, and it is always safe: every input on that net reads the same value because they are literally the same node. Fan-out adds readers, never drivers, so it can never cause conflict. (The simulator imposes no fan-out limit.)
What happens if two outputs drive the same net?
If the two drivers force different values (one to
1, one to 0), the net becomes X, a short between VCC and GND. Readers are free, but extra drivers are the danger: the fix is to make sure only one thing drives the net at a time. This one-driver discipline is exactly what keeps a bus from shorting.You've got the theory. Now build it from scratch and watch it work.
Build it in the lab →Builds towardBuses