CONVERTION OF PHYSICAL PROBLEM TO A LOGICAL PROBLEM
The move from the the specification of the system required to the
implementation as a Digital Logic circuit is achieved by design. The
example shown below follows the development of a safety system for a
large drilling machine. The safety is both that of the operator of the
machine and the machine itself. This is a rather artificial example
but it does illustrate the main points to be considered. A large drill
normally requires coolant to prevent the drill tip from overheating, so
the check that coolant in switched ON and that it is flowing is vital.
The second aspect is that of operator safety. Here a guard is required
to be in place before the machine can operate. This could be a toughened
plastic sheet so that the work could be observed during the drilling
process. The simplest sensor would be a micro-switch held OFF while the
guard was down. The requirements of the system are given below.
- Separate control of coolant.
- Sensor to detect FLOW of COOLANT.
- Drilling machine can only be switched ON if COOLANT is FLOWING,
and GUARD is down and ON BUTTON is pressed.
- Drilling machine MUST STOP if COOLANT FLOW stops or GUARD
is lifted or STOP BUTTON is pressed.
- Indicator light for COOLANT SUPPLY OK.
- Indicator light for DRILLING MACHINE POWER ON.
[ There are extra components after the combinational logic which "latches"
or saves the logic value produced by the control circuits, and interfaces
to the higher current and voltage required by the Coolant Valve and the
drilling machine motor.]
The clue to the form of the logic control circuit is in the wording of the
specification. The DRILLING MACHINE must be STARTED by an AND function with
three inputs.
1) COOLANT FLOWING SENSOR - LOGIC '1' is COOLANT FLOW Present.
2) GUARD DOWN SENSOR (possibly a micro-switch) - LOGIC '1' is GUARD DOWN.
3) MOTOR "ON" PUSH BUTTON PRESSED - LOGIC '1' when PRESSED.
The DRILLING MACHINE must be STOPPED by an OR function with three inputs.
1) COOLANT NOT FLOWING - LOGIC '1' when COOLANT is NOT FLOWING. This can be
generated by inverting COOLANT FLOWING SENSOR signal.
2) GUARD NOT DOWN - LOGIC '1' when GUARD is NOT DOWN. This can be generated
by inverting the GUARD DOWN SENSOR signal.
3) MOTOR "OFF" PUSH BUTTON PRESSED - LOGIC '1' when PRESSED.
The PUSH BUTTONS and the GUARD DOWN micro-switch must all give LOGIC '0' when
not operated, so we must use NORMALLY CLOSED switches, which OPEN when PRESSED.
The PULL UP resistor connecting the output to the +5 Volts will take the
OUTPUT to LOGIC '1' when the SWITCH is OPENED as required.

INTRODUCTION TO BOOLEAN ALGEBRA
The study of Logic by the philosophers in the 19th century raised a lot
of interest in this type of problem amongst other academics. In particular,
mathemeticians looked for ways of proving the correctness of logical
descriptions in a more rigourous way than Truth tables. One man, George
Boole, is associated so strongly with this work that this branch of
mathemetics is named Boolean Algebra after him. This algebra
deals with base two number systems and was therefore seen in the mid 20th
century as ideal for work with binary logic circuits. The following rules
are the most useful for the present work, although represent a small
sub-set of the total.
AND Functions
A.A = A [read as A AND A = A]
A A OUTPUT = A AND A
0 0 0
1 1 1
Truth Table shows output is equal to A.
A.1 = A [read as A AND 1 = A]
A 1 OUTPUT = A AND 1
0 1 0
1 1 1
Truth Table shows output is equal to A.
A.0 = 0 [read as A AND 0 = 0]
A 0 OUTPUT = A AND 0
0 0 0
1 0 0
Truth Table shows output is equal to 0.
A.(NOT A) = 0 [read as A AND NOT A = 0]
A NOT A OUTPUT = A AND NOT A
0 1 0
1 0 0
Truth Table shows output is equal to 0.
OR Functions
A+A = A [read as A OR A = A]
A A OUTPUT = A OR A
0 0 0
1 1 1
Truth Table shows output is equal to A.
A+1 = 1 [read as A OR 1 = 1]
A 1 OUTPUT = A OR 1
0 1 1
1 1 1
Truth Table shows output is equal to 1.
A+0 = A [read as A AND A = A]
A 0 OUTPUT = A OR 0
0 0 0
1 0 1
Truth Table shows output is equal to A.
A+(NOT A) = 1 [read as A OR NOT A = 1]
A NOT A OUTPUT = A AND A
0 1 1
1 0 1
Truth Table shows output is equal to A.
Miscellaneous Functions
This technique of expanding the terms in the bracket follows the same
rules as those of conventional arithmetic.
A.(B+C) = A.B + A.C
A B C (B+C) A.(B+C) A.B A.C A.B+A.C
0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0
0 1 0 1 0 0 0 0
0 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0
1 0 1 1 1 0 1 1
1 1 0 1 1 1 0 1
1 1 1 1 1 1 1 1
The Truth Table columns for A.(B+C) and A.B+A.C are equal
for all values of A, B and C proving that the expansion formula
is correct.
SIMPLIFICATION USING BOOLEAN ALGEBRA & TRUTH TABLES
The use of TRUTH TABLES for simplification is a rather intuitive method and has a very
variable success rate because of that fact. It main advantage is that the solution that
you arrive at can be added to the TRUTH TABLE and it's accuracy checked. An example will
perhaps make the idea clearer. Look again at the problem of implementing an EXCLUSIVE NOR
gate. The TRUTH table shown below.
B A OUTPUT
0 0 1
0 1 0
1 0 0
1 1 1
The output is a 1 only when A or B are the same. The two cases for a TRUE output are
A = 0 and B = 0; A = 1 and B = 1. This suggests a way of making the circuit, by asking
what logic function gives a '1' when A and B are '1' with 0 otherwise? An AND function, so
AND A to B is one case. The other case is needs a function which has one value when both
inputs are 0 and another value otherwise. The OR function could be used but the case of both
input 0's gives a 0, so it would need inverting. The two cases are OR'd together to
give the required circuit. The TRUTH table shows how circuit operation is calculated in
sections. The NOT A and NOT B columns are included to make the calculations easier
B NOT B A NOT A W X Y X+Y = OUTPUT
0 1 0 1 0 1 0 1
0 1 1 0 1 0 0 0
1 0 0 1 1 0 0 0
1 0 1 0 1 0 1 1
The circuit to implement the above looks like this.
This is more suited to implementing a design rather than simplification, so boolean algebra is
normally used instead. [ A truth table can be quickly drawn of the algebra result to see if it is
really correct!]
Boolean Example 1
Consider the function Z = NOT A.C + A.B + A.C + NOT A.B
What will it simplify to?
First group like terms
Z = NOT A.C + NOT A.B + A.B + A.C
Take out common factors
Z = NOT A.(C + B) + A.( B + C)
Continue to take out common factors
Z = (B + C).(NOT A.1 + A.1)
Use RULES: NOT A.1 = NOT A / A.1 = A
Z = (B + C).(NOT A + A)
Use RULE: NOT A + A = 1
Z = (B + C).1
Use RULE: (B + C).1 = (B + C)
Therefore Z = (B + C)
CHECK using TRUTH TABLE
NOT A C B A | NOT A.B NOT A.C A.B A.C| (B + C)
1 0 0 0 | 0 0 0 0 | 0
0 0 0 1 | 0 0 0 0 | 0
1 0 1 0 | 1 0 0 0 | 1
0 0 1 1 | 0 0 1 0 | 1
1 1 0 0 | 0 1 0 0 | 1
0 1 0 1 | 0 0 0 1 | 1
1 1 1 0 | 1 1 0 0 | 1
0 1 1 1 | 0 0 1 1 | 1
If any of the rows between the vertical lines is a 1 then
the original Z = NOT A.C + A.B + A.C + NOT A.C would be 1.
NOTE: The value of (B + C) is identical for ALL VALUES of
A, B and C therefore the BOOLEAN SIMPLIFICATION is CORRECT
Here are some examples to try for next week.
- Simplify A.(B + C) + A.NOT B
- Simplify A.B.NOT C + A.NOT B.NOT C
- Simplify X.Y + Y.Z + NOT X.Z + Y.NOT Z
The solutions to the above examples are shown HERE.