**3.
Two Value NULL Convention Logic**
We have shown how to make Boolean logic purely
symbolically complete as a four value logic system
and practically symbolically complete as a three
value logic system, but three and four value logic
systems are not commercially viable. The **next
step** is to show how the NULL Convention can
be applied to a system with only two values such
as our favorite digital electronic implementation
environment.
If the logic is limited to two values (0 volts
and 5 volts for instance) in its primitive
mutually exclusive value assertion domain (a
wire for instance) and one value must be assigned
to express NULL (0 volts), this leaves
only one value remaining to express data. This
means that each wire can express only one data
meaning which we will call DATA (5 volts).
Two data meanings, True and False for instance,
must be expressed with two wires (one wire
asserting DATA means TRUE, the other wire asserting
DATA means FALSE). With no inherent means
to prevent any two wires from expressing their
DATA values simultaneously there is no longer
an *inherently enforced* mutually exclusive
value assertion domain for data meanings as there
was when two data meanings were by physical necessity
mutually exclusively asserted by a single wire.
Since there must be mutually exclusive assertion
of DATA values it must be reestablished by convention.
Each wire is still an inherent mutually exclusive
value assertion domain that asserts either DATA
or NULL. To reestablish mutually exclusive assertion
of data meanings, a convention that only one wire
of a group of wires will assert its DATA value
at a time. It is illegal or erroneous for two
or more wires within this group to simultaneously
assert DATA values. A group of wires that assert
mutually exclusive data meanings will be called
a **mutually exclusive assertion group.**
A mutually exclusive assertion group can be any
size. A group of ten wires can directly express
decimal numbers with each wire expressing a digit
value. A group of two wires can directly express
True and False. The two wire mutually exclusive
assertion group is identical to dual rail encoding,
which is traditionally used as a transmission
protocol between speed independent circuits. The
mutually exclusive assertion group in NULL Convention
Logic is *a much more general concept* than
dual rail transmission encoding. It is not just
a transmission protocol *but is inherent in
the logic itself.*
**The Single Data Value Logic Gate**
NULL expresses a control meaning and is meaningless
with respect to data. In fact NULL means "not
data", so the NULL value cannot be considered
in resolving data value sets. Since each input
to a gate can express only one DATA value (5
volts for instance) there can be no combinations
of different data values as in Boolean logic.
The only discriminable property available when
combining wires at the input to a gate is how
*many* DATA values are presented. Therefore,
NULL Convention Logic gates must be **discrete
threshold gates**. A complete input data set
for a threshold gate is sufficient DATA values
to meet its threshold. Figure 5 shows a 5 input/threshold
3 gate. If any three or more inputs are DATA the
gate will assert a result DATA value. Otherwise
it asserts a NULL value. |