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.

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

A A OUTPUT = A AND A 0 0 0 1 1 1Truth Table shows output is equal to A.

A 1 OUTPUT = A AND 1 0 1 0 1 1 1Truth Table shows output is equal to A.

A 0 OUTPUT = A AND 0 0 0 0 1 0 0Truth Table shows output is equal to 0.

A NOT A OUTPUT = A AND NOT A 0 1 0 1 0 0Truth Table shows output is equal to 0.

A A OUTPUT = A OR A 0 0 0 1 1 1Truth Table shows output is equal to A.

A 1 OUTPUT = A OR 1 0 1 1 1 1 1Truth Table shows output is equal to 1.

A 0 OUTPUT = A OR 0 0 0 0 1 0 1Truth Table shows output is equal to A.

A NOT A OUTPUT = A AND A 0 1 1 1 0 1Truth Table shows output is equal to A.

This technique of expanding the terms in the bracket follows the same rules as those of conventional arithmetic.

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 1The Truth Table columns for

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 1The 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 1The 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!]

Consider the function Z = NOT A.C + A.B + A.C + NOT A.B

What will it simplify to?

Z = NOT A.C + NOT A.B + A.B + A.C

Z = NOT A.(C + B) + A.( B + C)

Z = (B + C).(NOT A.1 + A.1)

Z = (B + C).(NOT A + A)

Z = (B + C).1

Therefore Z = (B + C)

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 | 1If 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

- 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