# What is combinational circuit?

I'm reading the Digital Design and Computer Architecture by David Harris, Sarah Harris. The authors give the following definition of combinational logic:

A combinational circuit’s outputs depend only on the current values of the inputs; in other words, it combines the current input values to compute the output... A combinational circuit is memoryless, but a sequential circuit has memory. The functional specification of a combinational circuit expresses the output values in terms of the current input values.

However, they claim this circuit is not combinational:

because "node n6 connects to the output terminals of both I3 and I4". Indeed, it's one of the designated signs when a scheme can not be combinational but, according to the authors:

Certain circuits that disobey these rules are still combinational, so long as the outputs depend only on the current values of the inputs.

As I'm able to catch on, the aforementioned circuit is the case: its output is 1 if and only if its inputs are both 1, otherwise the output is 0. So the output is defined as a function of the inputs (the AND function).

Circuit (d) cannot be written in this form [of formula], since the outputs of I3 and I4 are wired together. What is the relation between the input to the rightmost gate and the outputs of I3 and I4? Not something that can be described combinatorially.

Unfortunately, I'm still confused due to

• The circuit, regarded as a black box, is still in scope of the combinational logic definition: its output values depend only on the current values of the inputs;
• The relation between the input to the rightmost gate and the outputs of I3 and I4 can be described through the function NAND of the circuit inputs and this function is quite "memoryless". It's not obvious for me why we can't afford to depict a gate input using multiple outputs of other gates.

I need some elaboration. Maybe things would fall into place if someone provide a circuit example when two gates outputs is connected to one input and it actually causes "memory" (in contrast to the considered sample).

For me a short-circuit isn't combinatorial nor sequential. It's an error, it may fry the circuits.

The circuit, regarded as a black box, is still in scope of the combinational logic definition: its output values depend only on the current values of the inputs;

You can make a logic inverter with high power relays. You set opposite tensions, the relays or the wires connecting them turn into melted metal. You have a memorised effect (blown circuit) : It is sequential!

• I dare argue your example is a perfect sample of combinational logic: the circuit output (melted metal) is depend on only input and no previous state. – Mergasov Mar 12 at 13:17
• Btw, I would still appreciate explanation of how a connection one input gate with multiple output ones may prompt a circuit memory. – Mergasov Mar 12 at 13:17
• If a logic circuit has some temporal effect, some memorised value, it is non-combinatorial. There are two states : intact and destroyed, which are persistent, and state change upon some logic condition. – TEMLIB Mar 12 at 13:30
• Here is a traditional memory cell : upload.wikimedia.org/wikipedia/commons/8/8c/FlipflopJKlogic.png. Just take the two NAND gates on the right, there are two stable states. – TEMLIB Mar 12 at 13:35

That's a wired OR gate in electronics. output = ~(~I3 | ~I4) = (I3 & I4). Functionally equivalent to an AND gate.

If we stick to digital logic gates abstraction, this is an invalid circuit, since there is no concept of current flow or wired logic in this abstraction.

So it's not a combinational circuit strictly speaking, but it might work as one if you realize it using electronic circuits or use a lower abstraction which allows wired logic.